X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fbinding%2Fimpl%2FRootBindingAwareBroker.java;h=8acad1b2d737a0e440f7d55e1ab3c0a233dbba83;hp=5292487d032b28f0b5c217dfb202807393dd60c7;hb=3e5b44dbf2576fb9b2af1a36f927555eb7ed5990;hpb=4c1e9ed9fa2386ca63a0bbf11da620c83a6d7d5e diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/impl/RootBindingAwareBroker.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/impl/RootBindingAwareBroker.java index 5292487d03..8acad1b2d7 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/impl/RootBindingAwareBroker.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/impl/RootBindingAwareBroker.java @@ -9,6 +9,7 @@ package org.opendaylight.controller.sal.binding.impl; import static com.google.common.base.Preconditions.checkState; +import org.opendaylight.controller.md.sal.binding.api.BindingDataBroker; import org.opendaylight.controller.md.sal.binding.util.AbstractBindingSalProviderInstance; import org.opendaylight.controller.md.sal.binding.util.BindingContextUtils; import org.opendaylight.controller.md.sal.common.api.routing.RouteChangeListener; @@ -39,8 +40,7 @@ import com.google.common.collect.ImmutableClassToInstanceMap; public class RootBindingAwareBroker implements // Mutable, // Identifiable, // - BindingAwareBroker, AutoCloseable, - RpcProviderRegistry { + BindingAwareBroker, AutoCloseable, RpcProviderRegistry { private final static Logger LOG = LoggerFactory.getLogger(RootBindingAwareBroker.class); @@ -52,7 +52,9 @@ public class RootBindingAwareBroker implements // private NotificationProviderService notificationBroker; - private DataProviderService dataBroker; + private DataProviderService legacyDataBroker; + + private BindingDataBroker dataBroker; private MountPointManagerImpl mountManager; @@ -60,7 +62,7 @@ public class RootBindingAwareBroker implements // return mountManager; } - public void setMountManager(MountPointManagerImpl mountManager) { + public void setMountManager(final MountPointManagerImpl mountManager) { this.mountManager = mountManager; } @@ -68,11 +70,12 @@ public class RootBindingAwareBroker implements // private ImmutableClassToInstanceMap supportedProviderServices; - public RootBindingAwareBroker(String instanceName) { + public RootBindingAwareBroker(final String instanceName) { this.identifier = instanceName; mountManager = new MountPointManagerImpl(); } + @Override public String getIdentifier() { return identifier; } @@ -82,7 +85,7 @@ public class RootBindingAwareBroker implements // } public DataProviderService getDataBroker() { - return this.dataBroker; + return this.legacyDataBroker; } public NotificationProviderService getNotificationBroker() { @@ -97,16 +100,16 @@ public class RootBindingAwareBroker implements // return rpcBroker; } - public void setRpcBroker(RpcProviderRegistry rpcBroker) { + public void setRpcBroker(final RpcProviderRegistry rpcBroker) { this.rpcBroker = rpcBroker; } - public void setNotificationBroker(NotificationProviderService notificationBroker) { + public void setNotificationBroker(final NotificationProviderService notificationBroker) { this.notificationBroker = notificationBroker; } - public void setDataBroker(DataProviderService dataBroker) { - this.dataBroker = dataBroker; + public void setLegacyDataBroker(final DataProviderService dataBroker) { + this.legacyDataBroker = dataBroker; } public void start() { @@ -114,30 +117,31 @@ public class RootBindingAwareBroker implements // LOG.info("Starting Binding Aware Broker: {}", identifier); controllerRoot = new RootSalInstance(getRpcProviderRegistry(), getNotificationBroker(), getDataBroker()); - - supportedConsumerServices = ImmutableClassToInstanceMap. builder() - .put(NotificationService.class, getRoot()) // - .put(DataBrokerService.class, getRoot()) // - .put(RpcConsumerRegistry.class, getRoot()) // - .put(MountService.class, mountManager).build(); + ImmutableClassToInstanceMap.Builder consBuilder = ImmutableClassToInstanceMap.builder(); + consBuilder.put(NotificationService.class, getRoot()); + consBuilder.put(DataBrokerService.class, getRoot()); + consBuilder.put(RpcConsumerRegistry.class, getRoot()); + if(dataBroker != null) { + consBuilder.put(BindingDataBroker.class, dataBroker); + } + consBuilder.put(MountService.class, mountManager).build(); + supportedConsumerServices = consBuilder.build(); supportedProviderServices = ImmutableClassToInstanceMap. builder() - .putAll(supportedConsumerServices) - .put(NotificationProviderService.class, getRoot()) // - .put(DataProviderService.class, getRoot()) // - .put(RpcProviderRegistry.class, getRoot()) // + .putAll(supportedConsumerServices).put(NotificationProviderService.class, getRoot()) + .put(DataProviderService.class, getRoot()).put(RpcProviderRegistry.class, getRoot()) .put(MountProviderService.class, mountManager).build(); } @Override - public ConsumerContext registerConsumer(BindingAwareConsumer consumer, BundleContext ctx) { + public ConsumerContext registerConsumer(final BindingAwareConsumer consumer, final BundleContext ctx) { checkState(supportedConsumerServices != null, "Broker is not initialized."); return BindingContextUtils.createConsumerContextAndInitialize(consumer, supportedConsumerServices); } @Override - public ProviderContext registerProvider(BindingAwareProvider provider, BundleContext ctx) { + public ProviderContext registerProvider(final BindingAwareProvider provider, final BundleContext ctx) { checkState(supportedProviderServices != null, "Broker is not initialized."); return BindingContextUtils.createProviderContextAndInitialize(provider, supportedProviderServices); } @@ -146,36 +150,40 @@ public class RootBindingAwareBroker implements // public void close() throws Exception { // FIXME: Close all sessions } - + @Override - public RoutedRpcRegistration addRoutedRpcImplementation(Class type, T implementation) - throws IllegalStateException { + public RoutedRpcRegistration addRoutedRpcImplementation(final Class type, + final T implementation) throws IllegalStateException { return getRoot().addRoutedRpcImplementation(type, implementation); } - + @Override - public RpcRegistration addRpcImplementation(Class type, T implementation) + public RpcRegistration addRpcImplementation(final Class type, final T implementation) throws IllegalStateException { return getRoot().addRpcImplementation(type, implementation); } - + @Override - public T getRpcService(Class module) { + public T getRpcService(final Class module) { return getRoot().getRpcService(module); } + @Override public >> ListenerRegistration registerRouteChangeListener( - L arg0) { + final L arg0) { return getRoot().registerRouteChangeListener(arg0); } - public class RootSalInstance extends AbstractBindingSalProviderInstance { - public RootSalInstance(RpcProviderRegistry rpcRegistry, NotificationProviderService notificationBroker, - DataProviderService dataBroker) { + public RootSalInstance(final RpcProviderRegistry rpcRegistry, + final NotificationProviderService notificationBroker, final DataProviderService dataBroker) { super(rpcRegistry, notificationBroker, dataBroker); } } + + public void setDataBroker(final BindingDataBroker asyncDataBroker) { + dataBroker = asyncDataBroker; + } }