Fixed following issues
[openflowplugin.git] / applications / statistics-manager / src / main / java / org / opendaylight / openflowplugin / applications / statistics / manager / impl / StatNotifyCommitPort.java
index a6fcf23d6ef764671f2eae69da79eb05c501f495..77e00c94227e707f50bad54f8acc90d1419e2086 100644 (file)
@@ -11,16 +11,18 @@ package org.opendaylight.openflowplugin.applications.statistics.manager.impl;
 import java.util.ArrayList;
 import java.util.List;
 
+import java.util.UUID;
 import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
 import org.opendaylight.controller.sal.binding.api.NotificationProviderService;
-import org.opendaylight.openflowplugin.applications.statistics.manager.StatisticsManager;
+import org.opendaylight.openflowplugin.applications.statistics.manager.StatNodeRegistration;
 import org.opendaylight.openflowplugin.applications.statistics.manager.StatRpcMsgManager.TransactionCacheContainer;
+import org.opendaylight.openflowplugin.applications.statistics.manager.StatisticsManager;
 import org.opendaylight.openflowplugin.applications.statistics.manager.StatisticsManager.StatDataStoreOperation;
 import org.opendaylight.openflowplugin.applications.statistics.manager.StatisticsManager.StatDataStoreOperation.StatsManagerOperationType;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev131103.TransactionAware;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev131103.TransactionId;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev150304.TransactionAware;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev150304.TransactionId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector;
@@ -59,8 +61,9 @@ public class StatNotifyCommitPort extends StatAbstractNotifyCommit<OpendaylightP
     private static final Logger LOG = LoggerFactory.getLogger(StatNotifyCommitPort.class);
 
     public StatNotifyCommitPort(final StatisticsManager manager,
-            final NotificationProviderService nps) {
-        super(manager, nps);
+            final NotificationProviderService nps,
+                                final StatNodeRegistration nrm) {
+        super(manager, nps,nrm);
     }
 
     @Override
@@ -90,6 +93,9 @@ public class StatNotifyCommitPort extends StatAbstractNotifyCommit<OpendaylightP
                 if (( ! txContainer.isPresent()) || txContainer.get().getNotifications() == null) {
                     return;
                 }
+
+                if(!nodeRegistrationManager.isFlowCapableNodeOwner(nodeId)) { return; }
+
                 final List<NodeConnectorStatisticsAndPortNumberMap> portStats =
                         new ArrayList<NodeConnectorStatisticsAndPortNumberMap>(10);
                 final List<? extends TransactionAware> cachedNotifs = txContainer.get().getNotifications();
@@ -108,6 +114,11 @@ public class StatNotifyCommitPort extends StatAbstractNotifyCommit<OpendaylightP
                  * and they are small - don't need to wait for whole apply operation*/
                 notifyToCollectNextStatistics(nodeIdent, transId);
             }
+
+            @Override
+            public UUID generatedUUIDForNode() {
+                return manager.getGeneratedUUIDForNode(getNodeIdentifier());
+            }
         });
     }