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;
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;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.collect.ImmutableClassToInstanceMap;
-
-public class RootBindingAwareBroker implements //
- Mutable, //
- Identifiable<String>, //
- BindingAwareBroker, AutoCloseable, RpcProviderRegistry {
+@Deprecated(forRemoval = true)
+public class RootBindingAwareBroker implements Mutable, Identifiable<String>, BindingAwareBroker, AutoCloseable,
+ RpcProviderRegistry {
- private final static Logger LOG = LoggerFactory.getLogger(RootBindingAwareBroker.class);
+ private static final Logger LOG = LoggerFactory.getLogger(RootBindingAwareBroker.class);
RootSalInstance controllerRoot;
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<BindingAwareService> supportedConsumerServices;
private ImmutableClassToInstanceMap<BindingAwareService> supportedProviderServices;
+ private MountPointService mountService;
+
public RootBindingAwareBroker(final String instanceName) {
this.identifier = instanceName;
- mountManager = new MountPointManagerImpl();
}
@Override
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;
}
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;
}
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<BindingAwareService> consBuilder = ImmutableClassToInstanceMap.builder();
+ final ImmutableClassToInstanceMap.Builder<BindingAwareService> 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.<BindingAwareService> builder()
- .putAll(supportedConsumerServices).put(NotificationProviderService.class, getRoot())
- .put(DataProviderService.class, getRoot()).put(RpcProviderRegistry.class, getRoot())
- .put(MountProviderService.class, mountManager).build();
+ final ImmutableClassToInstanceMap.Builder<BindingAwareService> 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 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) {
+ return registerProvider(provider);
+ }
+
+ @Override
+ public ProviderContext registerProvider(final BindingAwareProvider provider) {
checkState(supportedProviderServices != null, "Broker is not initialized.");
return BindingContextUtils.createProviderContextAndInitialize(provider, supportedProviderServices);
}
@Override
- public void close() throws Exception {
+ public void close() {
// FIXME: Close all sessions
}
}
@Override
- public <L extends RouteChangeListener<RpcContextIdentifier, InstanceIdentifier<?>>> ListenerRegistration<L> registerRouteChangeListener(
- final L arg0) {
- return getRoot().registerRouteChangeListener(arg0);
+ public <L extends RouteChangeListener<RpcContextIdentifier, InstanceIdentifier<?>>> ListenerRegistration<L>
+ registerRouteChangeListener(final L listener) {
+ return getRoot().registerRouteChangeListener(listener);
}
- public class RootSalInstance extends
- AbstractBindingSalProviderInstance<DataProviderService, NotificationProviderService, RpcProviderRegistry> {
+ public static class RootSalInstance extends
+ AbstractBindingSalProviderInstance<NotificationProviderService, RpcProviderRegistry> {
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;
- }
}