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=d91737154754750a1e3a2aa309c9c8953ee63854;hp=d810149c7077b663701d5385352f67da10ab7361;hb=ad5299f05589b508b89f40c97b62016ed1806ae8;hpb=43b9f7880866caef7d5ea58dbad2bba318a1f3e8 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 d810149c70..d917371547 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,7 +9,10 @@ package org.opendaylight.controller.sal.binding.impl; import static com.google.common.base.Preconditions.checkState; +import com.google.common.collect.ImmutableClassToInstanceMap; import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.MountPointService; +import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService; 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; @@ -21,10 +24,6 @@ import org.opendaylight.controller.sal.binding.api.NotificationProviderService; import org.opendaylight.controller.sal.binding.api.NotificationService; import org.opendaylight.controller.sal.binding.api.RpcConsumerRegistry; import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; -import org.opendaylight.controller.sal.binding.api.data.DataBrokerService; -import org.opendaylight.controller.sal.binding.api.data.DataProviderService; -import org.opendaylight.controller.sal.binding.api.mount.MountProviderService; -import org.opendaylight.controller.sal.binding.api.mount.MountService; import org.opendaylight.controller.sal.binding.api.rpc.RpcContextIdentifier; import org.opendaylight.yangtools.concepts.Identifiable; import org.opendaylight.yangtools.concepts.ListenerRegistration; @@ -35,12 +34,8 @@ import org.osgi.framework.BundleContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.collect.ImmutableClassToInstanceMap; - -public class RootBindingAwareBroker implements // - Mutable, // - Identifiable, // - BindingAwareBroker, AutoCloseable, RpcProviderRegistry { +public class RootBindingAwareBroker implements Mutable, Identifiable, BindingAwareBroker, AutoCloseable, + RpcProviderRegistry { private final static Logger LOG = LoggerFactory.getLogger(RootBindingAwareBroker.class); @@ -52,27 +47,18 @@ public class RootBindingAwareBroker implements // private NotificationProviderService notificationBroker; - private DataProviderService legacyDataBroker; + private NotificationPublishService notificationPublishService; private DataBroker dataBroker; - private MountPointManagerImpl mountManager; - - public MountPointManagerImpl getMountManager() { - return mountManager; - } - - public void setMountManager(final MountPointManagerImpl mountManager) { - this.mountManager = mountManager; - } - private ImmutableClassToInstanceMap supportedConsumerServices; private ImmutableClassToInstanceMap supportedProviderServices; + private MountPointService mountService; + public RootBindingAwareBroker(final String instanceName) { this.identifier = instanceName; - mountManager = new MountPointManagerImpl(); } @Override @@ -84,14 +70,14 @@ public class RootBindingAwareBroker implements // return controllerRoot; } - public DataProviderService getDataBroker() { - return this.legacyDataBroker; - } - public NotificationProviderService getNotificationBroker() { return this.notificationBroker; } + public NotificationPublishService getNotificationPublishService() { + return this.notificationPublishService; + } + public RpcProviderRegistry getRpcProviderRegistry() { return this.rpcBroker; } @@ -100,6 +86,18 @@ public class RootBindingAwareBroker implements // return rpcBroker; } + public MountPointService getMountService() { + return mountService; + } + + public void setDataBroker(final DataBroker asyncDataBroker) { + dataBroker = asyncDataBroker; + } + + public void setMountService(final MountPointService mount) { + this.mountService = mount; + } + public void setRpcBroker(final RpcProviderRegistry rpcBroker) { this.rpcBroker = rpcBroker; } @@ -108,40 +106,56 @@ public class RootBindingAwareBroker implements // this.notificationBroker = notificationBroker; } - public void setLegacyDataBroker(final DataProviderService dataBroker) { - this.legacyDataBroker = dataBroker; + public void setNotificationPublishService(final NotificationPublishService notificationPublishService) { + this.notificationPublishService = notificationPublishService; } public void start() { checkState(controllerRoot == null, "Binding Aware Broker was already started."); LOG.info("Starting Binding Aware Broker: {}", identifier); - controllerRoot = new RootSalInstance(getRpcProviderRegistry(), getNotificationBroker(), getDataBroker()); + controllerRoot = new RootSalInstance(getRpcProviderRegistry(), getNotificationBroker()); - ImmutableClassToInstanceMap.Builder consBuilder = ImmutableClassToInstanceMap.builder(); + final ImmutableClassToInstanceMap.Builder consBuilder = ImmutableClassToInstanceMap + .builder(); consBuilder.put(NotificationService.class, getRoot()); - consBuilder.put(DataBrokerService.class, getRoot()); consBuilder.put(RpcConsumerRegistry.class, getRoot()); - if(dataBroker != null) { + if (dataBroker != null) { consBuilder.put(DataBroker.class, dataBroker); } - consBuilder.put(MountService.class, mountManager).build(); + consBuilder.put(MountPointService.class, mountService); + supportedConsumerServices = consBuilder.build(); - supportedProviderServices = ImmutableClassToInstanceMap. builder() - .putAll(supportedConsumerServices).put(NotificationProviderService.class, getRoot()) - .put(DataProviderService.class, getRoot()).put(RpcProviderRegistry.class, getRoot()) - .put(MountProviderService.class, mountManager).build(); + final ImmutableClassToInstanceMap.Builder provBuilder = ImmutableClassToInstanceMap + .builder(); + provBuilder.putAll(supportedConsumerServices).put(NotificationProviderService.class, getRoot()) + .put(RpcProviderRegistry.class, getRoot()); + if (notificationPublishService != null) { + provBuilder.put(NotificationPublishService.class, notificationPublishService); + } + + supportedProviderServices = provBuilder.build(); } @Override public ConsumerContext registerConsumer(final BindingAwareConsumer consumer, final BundleContext ctx) { + return registerConsumer(consumer); + } + + @Override + public ProviderContext registerProvider(final BindingAwareProvider provider, final BundleContext ctx) { + return registerProvider(provider); + } + + @Override + public ConsumerContext registerConsumer(final BindingAwareConsumer consumer) { checkState(supportedConsumerServices != null, "Broker is not initialized."); return BindingContextUtils.createConsumerContextAndInitialize(consumer, supportedConsumerServices); } @Override - public ProviderContext registerProvider(final BindingAwareProvider provider, final BundleContext ctx) { + public ProviderContext registerProvider(final BindingAwareProvider provider) { checkState(supportedProviderServices != null, "Broker is not initialized."); return BindingContextUtils.createProviderContextAndInitialize(provider, supportedProviderServices); } @@ -175,15 +189,12 @@ public class RootBindingAwareBroker implements // } public class RootSalInstance extends - AbstractBindingSalProviderInstance { + AbstractBindingSalProviderInstance { public RootSalInstance(final RpcProviderRegistry rpcRegistry, - final NotificationProviderService notificationBroker, final DataProviderService dataBroker) { - super(rpcRegistry, notificationBroker, dataBroker); + final NotificationProviderService notificationBroker) { + super(rpcRegistry, notificationBroker); } } - public void setDataBroker(final DataBroker asyncDataBroker) { - dataBroker = asyncDataBroker; - } }