diff options
Diffstat (limited to 'framework/src/onos/utils/osgi/src')
6 files changed, 0 insertions, 317 deletions
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; - } - -} |