Fix warnings in sample-bundles
[openflowplugin.git] / samples / sample-bundles / src / main / java / org / opendaylight / openflowplugin / samples / sample / bundles / SampleFlowCapableNodeListener.java
index c4dfc16926c38a51d674a36f8c4dea1debeb4be4..b90d2e14fe5ec9caac3af9d1fc28f09f409d51ec 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.samples.sample.bundles;
 
-import java.util.Collection;
 import java.util.List;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutionException;
@@ -17,12 +16,12 @@ import java.util.concurrent.Future;
 import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 import javax.inject.Singleton;
-import org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener;
 import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.mdsal.binding.api.DataObjectModification.ModificationType;
+import org.opendaylight.mdsal.binding.api.DataTreeChangeListener;
 import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
 import org.opendaylight.mdsal.binding.api.DataTreeModification;
-import org.opendaylight.mdsal.binding.api.RpcConsumerRegistry;
+import org.opendaylight.mdsal.binding.api.RpcService;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.GroupActionCaseBuilder;
@@ -72,7 +71,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.on
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.onf.rev170124.BundleControlType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.onf.rev170124.BundleFlags;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.onf.rev170124.BundleId;
-import org.opendaylight.yangtools.concepts.ListenerRegistration;
+import org.opendaylight.yangtools.concepts.Registration;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.opendaylight.yangtools.yang.common.Uint16;
@@ -91,8 +90,7 @@ import org.slf4j.LoggerFactory;
  */
 @Singleton
 @Component(service = { })
-public final class SampleFlowCapableNodeListener
-        implements ClusteredDataTreeChangeListener<FlowCapableNode>, AutoCloseable {
+public final class SampleFlowCapableNodeListener implements DataTreeChangeListener<FlowCapableNode>, AutoCloseable {
     private static final Logger LOG = LoggerFactory.getLogger(SampleFlowCapableNodeListener.class);
 
     private static final BundleId BUNDLE_ID = new BundleId(Uint32.ONE);
@@ -101,12 +99,12 @@ public final class SampleFlowCapableNodeListener
 
     private final ControlBundle controlBundle;
     private final AddBundleMessages addBundleMessages;
-    private final ListenerRegistration<?> listenerReg;
+    private final Registration listenerReg;
 
     @Inject
     @Activate
     public SampleFlowCapableNodeListener(@Reference final DataBroker dataBroker,
-            @Reference final RpcConsumerRegistry rpcService) {
+            @Reference final RpcService rpcService) {
         controlBundle = rpcService.getRpc(ControlBundle.class);
         addBundleMessages = rpcService.getRpc(AddBundleMessages.class);
         LOG.debug("inSessionInitialized() passing");
@@ -114,9 +112,9 @@ public final class SampleFlowCapableNodeListener
         final InstanceIdentifier<FlowCapableNode> path = InstanceIdentifier.create(Nodes.class).child(Node.class)
                 .augmentation(FlowCapableNode.class);
         final DataTreeIdentifier<FlowCapableNode> identifier =
-                DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL, path);
+                DataTreeIdentifier.of(LogicalDatastoreType.OPERATIONAL, path);
 
-        listenerReg = dataBroker.registerDataTreeChangeListener(identifier, SampleFlowCapableNodeListener.this);
+        listenerReg = dataBroker.registerTreeChangeListener(identifier, SampleFlowCapableNodeListener.this);
     }
 
     @PreDestroy
@@ -128,14 +126,13 @@ public final class SampleFlowCapableNodeListener
     }
 
     @Override
-    public void onDataTreeChanged(final Collection<DataTreeModification<FlowCapableNode>> modifications) {
+    public void onDataTreeChanged(final List<DataTreeModification<FlowCapableNode>> modifications) {
         for (var modification : modifications) {
-            if (modification.getRootNode().getModificationType() == ModificationType.WRITE) {
-                LOG.info("Node connected:  {}",
-                        modification.getRootPath().getRootIdentifier().firstIdentifierOf(Node.class));
+            if (modification.getRootNode().modificationType() == ModificationType.WRITE) {
+                final var nodePath = modification.getRootPath().path().firstIdentifierOf(Node.class);
+                LOG.info("Node connected:  {}", nodePath);
 
-                final var nodeRef =
-                        new NodeRef(modification.getRootPath().getRootIdentifier().firstIdentifierOf(Node.class));
+                final var nodeRef = new NodeRef(nodePath);
 
                 final var openBundleInput = new ControlBundleInputBuilder()
                         .setNode(nodeRef)