diff options
Diffstat (limited to 'framework/src/onos/utils/osgi')
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; - } - -} |