Moved binding MD-SAL APIs to binding folder
[mdsal.git] / binding / mdsal-binding-util / src / main / java / org / opendaylight / controller / md / sal / binding / util / BindingContextUtils.java
@@ -9,7 +9,8 @@ package org.opendaylight.controller.md.sal.binding.util;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import org.opendaylight.controller.md.sal.common.api.routing.RouteChangeListener;
+import com.google.common.collect.ClassToInstanceMap;
+import com.google.common.collect.MutableClassToInstanceMap;
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ConsumerContext;
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RoutedRpcRegistration;
@@ -19,45 +20,39 @@ import org.opendaylight.controller.sal.binding.api.BindingAwareProvider;
 import org.opendaylight.controller.sal.binding.api.BindingAwareService;
 import org.opendaylight.controller.sal.binding.api.RpcConsumerRegistry;
 import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
-import org.opendaylight.controller.sal.binding.api.rpc.RpcContextIdentifier;
-import org.opendaylight.yangtools.concepts.ListenerRegistration;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.RpcService;
 
-import com.google.common.collect.ClassToInstanceMap;
-import com.google.common.collect.MutableClassToInstanceMap;
-
 public class BindingContextUtils {
 
-    public static ConsumerContext createConsumerContext(BindingAwareConsumer consumer,
-            ClassToInstanceMap<BindingAwareService> serviceProvider) {
+    public static ConsumerContext createConsumerContext(final BindingAwareConsumer consumer,
+            final ClassToInstanceMap<BindingAwareService> serviceProvider) {
         checkNotNull(consumer,"Consumer should not be null");
         checkNotNull(serviceProvider,"Service map should not be null");
         return new SingleConsumerContextImpl(serviceProvider);
     }
 
-    public static ProviderContext createProviderContext(BindingAwareProvider provider,
-            ClassToInstanceMap<BindingAwareService> serviceProvider) {
+    public static ProviderContext createProviderContext(final BindingAwareProvider provider,
+            final ClassToInstanceMap<BindingAwareService> serviceProvider) {
         checkNotNull(provider,"Provider should not be null");
         checkNotNull(serviceProvider,"Service map should not be null");
         return new SingleProviderContextImpl(serviceProvider);
     }
 
-    public static ConsumerContext createConsumerContextAndInitialize(BindingAwareConsumer consumer,
-            ClassToInstanceMap<BindingAwareService> serviceProvider) {
-        ConsumerContext context = createConsumerContext(consumer, serviceProvider);
+    public static ConsumerContext createConsumerContextAndInitialize(final BindingAwareConsumer consumer,
+            final ClassToInstanceMap<BindingAwareService> serviceProvider) {
+        final ConsumerContext context = createConsumerContext(consumer, serviceProvider);
         consumer.onSessionInitialized(context);
         return context;
     }
 
-    public static ProviderContext createProviderContextAndInitialize(BindingAwareProvider provider,
-            ClassToInstanceMap<BindingAwareService> serviceProvider) {
-        ProviderContext context = createProviderContext(provider, serviceProvider);
+    public static ProviderContext createProviderContextAndInitialize(final BindingAwareProvider provider,
+            final ClassToInstanceMap<BindingAwareService> serviceProvider) {
+        final ProviderContext context = createProviderContext(provider, serviceProvider);
         provider.onSessionInitiated(context);
         return context;
     }
 
-    public static <T extends BindingAwareService> T createContextProxyOrReturnService(Class<T> service, T instance) {
+    public static <T extends BindingAwareService> T createContextProxyOrReturnService(final Class<T> service, final T instance) {
         // FIXME: Create Proxy
         return instance;
     }
@@ -67,27 +62,27 @@ public class BindingContextUtils {
         private ClassToInstanceMap<BindingAwareService> alreadyRetrievedServices;
         private ClassToInstanceMap<BindingAwareService> serviceProvider;
 
-        public SingleConsumerContextImpl(ClassToInstanceMap<BindingAwareService> serviceProvider) {
+        public SingleConsumerContextImpl(final ClassToInstanceMap<BindingAwareService> serviceProvider) {
             this.alreadyRetrievedServices = MutableClassToInstanceMap.create();
             this.serviceProvider = serviceProvider;
         }
 
         @Override
-        public final <T extends RpcService> T getRpcService(Class<T> module) {
+        public final <T extends RpcService> T getRpcService(final Class<T> module) {
             return getSALService(RpcConsumerRegistry.class).getRpcService(module);
         }
 
         @Override
-        public final <T extends BindingAwareService> T getSALService(Class<T> service) {
+        public final <T extends BindingAwareService> T getSALService(final Class<T> service) {
             checkNotNull(service,"Service class should not be null.");
-            T potential = alreadyRetrievedServices.getInstance(service);
+            final T potential = alreadyRetrievedServices.getInstance(service);
             if(potential != null) {
                 return potential;
             }
             return tryToRetrieveSalService(service);
         }
 
-        private synchronized <T extends BindingAwareService> T tryToRetrieveSalService(Class<T> service) {
+        private synchronized <T extends BindingAwareService> T tryToRetrieveSalService(final Class<T> service) {
             final T potential = alreadyRetrievedServices.getInstance(service);
             if(potential != null) {
                 return potential;
@@ -110,24 +105,18 @@ public class BindingContextUtils {
 
     private static class SingleProviderContextImpl extends SingleConsumerContextImpl implements ProviderContext {
 
-        public SingleProviderContextImpl(ClassToInstanceMap<BindingAwareService> serviceProvider) {
+        public SingleProviderContextImpl(final ClassToInstanceMap<BindingAwareService> serviceProvider) {
             super(serviceProvider);
         }
 
         @Override
-        public <L extends RouteChangeListener<RpcContextIdentifier, InstanceIdentifier<?>>> ListenerRegistration<L> registerRouteChangeListener(
-                L listener) {
-            return getSALService(RpcProviderRegistry.class).registerRouteChangeListener(listener);
-        }
-
-        @Override
-        public <T extends RpcService> RoutedRpcRegistration<T> addRoutedRpcImplementation(Class<T> type,
-                T implementation) throws IllegalStateException {
+        public <T extends RpcService> RoutedRpcRegistration<T> addRoutedRpcImplementation(final Class<T> type,
+                final T implementation) throws IllegalStateException {
             return getSALService(RpcProviderRegistry.class).addRoutedRpcImplementation(type, implementation);
         }
 
         @Override
-        public <T extends RpcService> RpcRegistration<T> addRpcImplementation(Class<T> type, T implementation)
+        public <T extends RpcService> RpcRegistration<T> addRpcImplementation(final Class<T> type, final T implementation)
                 throws IllegalStateException {
             return getSALService(RpcProviderRegistry.class).addRpcImplementation(type, implementation);
         }