summaryrefslogtreecommitdiffstats
path: root/framework/src/onos/utils/osgi
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/utils/osgi')
-rw-r--r--framework/src/onos/utils/osgi/pom.xml46
-rw-r--r--framework/src/onos/utils/osgi/src/main/java/org/onlab/osgi/DefaultServiceDirectory.java53
-rw-r--r--framework/src/onos/utils/osgi/src/main/java/org/onlab/osgi/ServiceDirectory.java34
-rw-r--r--framework/src/onos/utils/osgi/src/main/java/org/onlab/osgi/ServiceNotFoundException.java46
-rw-r--r--framework/src/onos/utils/osgi/src/main/java/org/onlab/osgi/package-info.java20
-rw-r--r--framework/src/onos/utils/osgi/src/test/java/org/onlab/osgi/ComponentContextAdapter.java118
-rw-r--r--framework/src/onos/utils/osgi/src/test/java/org/onlab/osgi/TestServiceDirectory.java46
7 files changed, 0 insertions, 363 deletions
diff --git a/framework/src/onos/utils/osgi/pom.xml b/framework/src/onos/utils/osgi/pom.xml
deleted file mode 100644
index 25690cab..00000000
--- a/framework/src/onos/utils/osgi/pom.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ Copyright 2014 Open Networking Laboratory
- ~
- ~ Licensed under the Apache License, Version 2.0 (the "License");
- ~ you may not use this file except in compliance with the License.
- ~ You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.onosproject</groupId>
- <artifactId>onlab-utils</artifactId>
- <version>1.4.0-rc1</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>onlab-osgi</artifactId>
- <packaging>bundle</packaging>
-
- <description>ON.Lab OSGI utilities</description>
-
- <dependencies>
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.onosproject</groupId>
- <artifactId>onlab-junit</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
-</project>
diff --git a/framework/src/onos/utils/osgi/src/main/java/org/onlab/osgi/DefaultServiceDirectory.java b/framework/src/onos/utils/osgi/src/main/java/org/onlab/osgi/DefaultServiceDirectory.java
deleted file mode 100644
index b3421485..00000000
--- a/framework/src/onos/utils/osgi/src/main/java/org/onlab/osgi/DefaultServiceDirectory.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright 2014 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onlab.osgi;
-
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.FrameworkUtil;
-import org.osgi.framework.ServiceReference;
-
-/**
- * Default implementation of the service directory using OSGi framework utilities.
- */
-public class DefaultServiceDirectory implements ServiceDirectory {
-
- /**
- * Returns the reference to the implementation of the specified service.
- *
- * @param serviceClass service class
- * @param <T> type of service
- * @return service implementation
- */
- public static <T> T getService(Class<T> serviceClass) {
- BundleContext bc = FrameworkUtil.getBundle(serviceClass).getBundleContext();
- if (bc != null) {
- ServiceReference<T> reference = bc.getServiceReference(serviceClass);
- if (reference != null) {
- T impl = bc.getService(reference);
- if (impl != null) {
- return impl;
- }
- }
- }
- throw new ServiceNotFoundException("Service " + serviceClass.getName() + " not found");
- }
-
- @Override
- public <T> T get(Class<T> serviceClass) {
- return getService(serviceClass);
- }
-
-}
diff --git a/framework/src/onos/utils/osgi/src/main/java/org/onlab/osgi/ServiceDirectory.java b/framework/src/onos/utils/osgi/src/main/java/org/onlab/osgi/ServiceDirectory.java
deleted file mode 100644
index f9ffed74..00000000
--- a/framework/src/onos/utils/osgi/src/main/java/org/onlab/osgi/ServiceDirectory.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright 2014-2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onlab.osgi;
-
-/**
- * Simple abstraction of a service directory where service implementations can
- * be found by the class name of the interfaces they provide.
- */
-public interface ServiceDirectory {
-
- /**
- * Returns implementation of the specified service class.
- *
- * @param serviceClass service class
- * @param <T> type of service
- * @return implementation class
- * @throws ServiceNotFoundException if no implementation found
- */
- <T> T get(Class<T> serviceClass);
-
-}
diff --git a/framework/src/onos/utils/osgi/src/main/java/org/onlab/osgi/ServiceNotFoundException.java b/framework/src/onos/utils/osgi/src/main/java/org/onlab/osgi/ServiceNotFoundException.java
deleted file mode 100644
index 8b14227e..00000000
--- a/framework/src/onos/utils/osgi/src/main/java/org/onlab/osgi/ServiceNotFoundException.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright 2014 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onlab.osgi;
-
-/**
- * Represents condition where some service is not found or not available.
- */
-public class ServiceNotFoundException extends RuntimeException {
-
- /**
- * Creates a new exception with no message.
- */
- public ServiceNotFoundException() {
- }
-
- /**
- * Creates a new exception with the supplied message.
- * @param message error message
- */
- public ServiceNotFoundException(String message) {
- super(message);
- }
-
- /**
- * Creates a new exception with the supplied message and cause.
- * @param message error message
- * @param cause cause of the error
- */
- public ServiceNotFoundException(String message, Throwable cause) {
- super(message, cause);
- }
-
-}
diff --git a/framework/src/onos/utils/osgi/src/main/java/org/onlab/osgi/package-info.java b/framework/src/onos/utils/osgi/src/main/java/org/onlab/osgi/package-info.java
deleted file mode 100644
index 289c60a4..00000000
--- a/framework/src/onos/utils/osgi/src/main/java/org/onlab/osgi/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2014 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Facilities for building testable components in OSGi independent fashion.
- */
-package org.onlab.osgi;
diff --git a/framework/src/onos/utils/osgi/src/test/java/org/onlab/osgi/ComponentContextAdapter.java b/framework/src/onos/utils/osgi/src/test/java/org/onlab/osgi/ComponentContextAdapter.java
deleted file mode 100644
index b8718c3c..00000000
--- a/framework/src/onos/utils/osgi/src/test/java/org/onlab/osgi/ComponentContextAdapter.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright 2014 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onlab.osgi;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.component.ComponentContext;
-import org.osgi.service.component.ComponentInstance;
-
-import java.util.Dictionary;
-import java.util.Enumeration;
-
-/**
- * Adapter implementation of OSGI component context.
- */
-public class ComponentContextAdapter implements ComponentContext {
- private static class MockDictionary extends Dictionary {
-
- @Override
- public int size() {
- return 0;
- }
-
- @Override
- public boolean isEmpty() {
- return false;
- }
-
- @Override
- public Enumeration keys() {
- return null;
- }
-
- @Override
- public Enumeration elements() {
- return null;
- }
-
- @Override
- public Object get(Object key) {
- return null;
- }
-
- @Override
- public Object put(Object key, Object value) {
- return null;
- }
-
- @Override
- public Object remove(Object key) {
- return null;
- }
- }
-
- @Override
- public Dictionary getProperties() {
- return new MockDictionary();
- }
-
- @Override
- public Object locateService(String name) {
- return null;
- }
-
- @Override
- public Object locateService(String name, ServiceReference reference) {
- return null;
- }
-
- @Override
- public Object[] locateServices(String name) {
- return new Object[0];
- }
-
- @Override
- public BundleContext getBundleContext() {
- return null;
- }
-
- @Override
- public Bundle getUsingBundle() {
- return null;
- }
-
- @Override
- public ComponentInstance getComponentInstance() {
- return null;
- }
-
- @Override
- public void enableComponent(String name) {
-
- }
-
- @Override
- public void disableComponent(String name) {
-
- }
-
- @Override
- public ServiceReference getServiceReference() {
- return null;
- }
-}
diff --git a/framework/src/onos/utils/osgi/src/test/java/org/onlab/osgi/TestServiceDirectory.java b/framework/src/onos/utils/osgi/src/test/java/org/onlab/osgi/TestServiceDirectory.java
deleted file mode 100644
index 08089ada..00000000
--- a/framework/src/onos/utils/osgi/src/test/java/org/onlab/osgi/TestServiceDirectory.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright 2014-2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onlab.osgi;
-
-import com.google.common.collect.ClassToInstanceMap;
-import com.google.common.collect.MutableClassToInstanceMap;
-
-/**
- * Service directory implementation suitable for testing.
- */
-@SuppressWarnings("unchecked")
-public class TestServiceDirectory implements ServiceDirectory {
-
- private ClassToInstanceMap<Object> services = MutableClassToInstanceMap.create();
-
- @Override
- public <T> T get(Class<T> serviceClass) {
- return services.getInstance(serviceClass);
- }
-
- /**
- * Adds a new service to the directory.
- *
- * @param serviceClass service class
- * @param service service instance
- * @return self
- */
- public TestServiceDirectory add(Class serviceClass, Object service) {
- services.putInstance(serviceClass, service);
- return this;
- }
-
-}