X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fdom%2Fbroker%2Fosgi%2FProxyFactory.java;h=250ef7d463951cf7061e4d56b8ab502009db7e17;hp=ebb923c375a8ba4ddea8f53119912b295f39e6d3;hb=c7515b27b065ef5f4d14ae931413ea83a4c047a8;hpb=ebb4158697741bc88fde22ac5f75edf65869506f diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/osgi/ProxyFactory.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/osgi/ProxyFactory.java index ebb923c375..250ef7d463 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/osgi/ProxyFactory.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/osgi/ProxyFactory.java @@ -7,130 +7,49 @@ */ package org.opendaylight.controller.sal.dom.broker.osgi; -import java.util.Arrays; - +import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; import org.opendaylight.controller.md.sal.dom.api.DOMMountPointService; import org.opendaylight.controller.sal.core.api.BrokerService; import org.osgi.framework.ServiceReference; -import org.opendaylight.controller.sal.core.api.data.DataBrokerService; -import org.opendaylight.controller.sal.core.api.data.DataProviderService; -import org.opendaylight.controller.sal.core.api.notify.NotificationPublishService; -import org.opendaylight.controller.sal.core.api.notify.NotificationService; -import org.opendaylight.controller.sal.core.api.model.SchemaService; -import org.opendaylight.controller.sal.core.api.mount.MountProvisionService; -import org.opendaylight.controller.sal.core.api.RpcProvisionRegistry; -import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; @SuppressWarnings("unchecked") -public class ProxyFactory { - - public static T createProxy( - final ServiceReference serviceRef, final T service) { - - Object _createProxyImpl = ProxyFactory.createProxyImpl(serviceRef, - service); - return ((T) _createProxyImpl); - } - - @Deprecated - private static Object _createProxyImpl(final ServiceReference ref, - final DataBrokerService service) { - - return new DataBrokerServiceProxy( - ((ServiceReference) ref), service); - } - - @Deprecated - private static Object _createProxyImpl(final ServiceReference ref, - final DataProviderService service) { - - return new DataProviderServiceProxy( - ((ServiceReference) ref), service); - } - - private static Object _createProxyImpl(final ServiceReference ref, - final NotificationPublishService service) { - - return new NotificationPublishServiceProxy( - ((ServiceReference) ref), service); - } - - private static Object _createProxyImpl(final ServiceReference ref, - final NotificationService service) { +public final class ProxyFactory { - return new NotificationServiceProxy( - ((ServiceReference) ref), service); + private ProxyFactory() { } - @Deprecated - private static Object _createProxyImpl(final ServiceReference ref, - final MountProvisionService service) { + public static T createProxy(final ServiceReference serviceRef, final T service) { - return new MountProviderServiceProxy( - ((ServiceReference) ref), service); + Object createProxyImpl = ProxyFactory.createProxyImpl(serviceRef, service); + return (T) createProxyImpl; } - private static Object _createProxyImpl(final ServiceReference ref, - final DOMMountPointService service) { + private static Object createProxyImpl(final ServiceReference ref, final DOMMountPointService service) { - return new DOMMountPointServiceProxy( - ((ServiceReference) ref), service); + return new DOMMountPointServiceProxy((ServiceReference) ref, service); } - private static Object _createProxyImpl(final ServiceReference ref, - final SchemaService service) { + private static DOMDataBrokerProxy createProxyImpl(final ServiceReference ref, final DOMDataBroker service) { - return new SchemaServiceProxy(((ServiceReference) ref), - service); + return new DOMDataBrokerProxy((ServiceReference) ref, service); } - private static Object _createProxyImpl(final ServiceReference ref, - final RpcProvisionRegistry service) { - - return new RpcProvisionRegistryProxy( - ((ServiceReference) ref), service); - } - - private static DOMDataBrokerProxy _createProxyImpl( - final ServiceReference ref, final DOMDataBroker service) { - - return new DOMDataBrokerProxy(((ServiceReference) ref), - service); - } + private static Object createProxyImpl(final ServiceReference ref, final BrokerService service) { + if (service == null) { + throw new IllegalArgumentException("service can't be null"); + } - private static Object _createProxyImpl(final ServiceReference reference, - final BrokerService service) { + if (service instanceof DOMDataBroker) { + return createProxyImpl(ref, (DOMDataBroker) service); + } else if (service instanceof DOMMountPointService) { + return createProxyImpl(ref, (DOMMountPointService) service); + } - throw new IllegalArgumentException("Not supported class: " - + service.getClass().getName()); + return createProxyImplFallback(ref, service); } - private static Object createProxyImpl(final ServiceReference ref, - final BrokerService service) { + private static Object createProxyImplFallback(final ServiceReference reference, final BrokerService service) { - if (service instanceof DOMDataBroker) { - return _createProxyImpl(ref, (DOMDataBroker) service); - } else if (service instanceof RpcProvisionRegistry) { - return _createProxyImpl(ref, (RpcProvisionRegistry) service); - } else if (service instanceof DataProviderService) { - return _createProxyImpl(ref, (DataProviderService) service); - } else if (service instanceof MountProvisionService) { - return _createProxyImpl(ref, (MountProvisionService) service); - } else if (service instanceof NotificationPublishService) { - return _createProxyImpl(ref, (NotificationPublishService) service); - } else if (service instanceof DataBrokerService) { - return _createProxyImpl(ref, (DataBrokerService) service); - } else if (service instanceof SchemaService) { - return _createProxyImpl(ref, (SchemaService) service); - } else if (service instanceof NotificationService) { - return _createProxyImpl(ref, (NotificationService) service); - } else if (service instanceof DOMMountPointService) { - return _createProxyImpl(ref, (DOMMountPointService) service); - } else if (service != null) { - return _createProxyImpl(ref, service); - } else { - throw new IllegalArgumentException("Unhandled parameter types: " - + Arrays. asList(ref, service).toString()); - } + return service; } -} \ No newline at end of file +}