Merge "ClusterSingletonService cleaning FRM/FRS"
[openflowplugin.git] / applications / forwardingrules-manager / src / main / java / org / opendaylight / openflowplugin / applications / frm / impl / FlowNodeConnectorInventoryTranslatorImpl.java
index e4b032e370b5875e5852e1d4f4d484e9ed325f62..d6cbb5c9221d9b5a0575470476d4a4cbeef53060 100644 (file)
@@ -9,8 +9,14 @@
 package org.opendaylight.openflowplugin.applications.frm.impl;
 
 import com.google.common.base.Preconditions;
-import com.google.common.collect.*;
-import org.opendaylight.controller.md.sal.binding.api.*;
+import com.google.common.collect.ArrayListMultimap;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Multimap;
+import com.google.common.collect.Multimaps;
+import java.math.BigInteger;
+import java.util.concurrent.Callable;
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.openflowplugin.applications.frm.FlowNodeConnectorInventoryTranslator;
 import org.opendaylight.openflowplugin.applications.frm.ForwardingRulesManager;
@@ -25,15 +31,13 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.concurrent.Callable;
-
 public class FlowNodeConnectorInventoryTranslatorImpl extends AbstractNodeConnectorCommitter<FlowCapableNodeConnector> implements FlowNodeConnectorInventoryTranslator {
 
     private static final Logger LOG = LoggerFactory.getLogger(FlowNodeConnectorInventoryTranslatorImpl.class);
 
     private ListenerRegistration<FlowNodeConnectorInventoryTranslatorImpl> dataTreeChangeListenerRegistration;
 
-    public static final String SEPARATOR = ":";
+    private static final String SEPARATOR = ":";
 
     private static final InstanceIdentifier<FlowCapableNodeConnector> II_TO_FLOW_CAPABLE_NODE_CONNECTOR
             = InstanceIdentifier.builder(Nodes.class)
@@ -42,7 +46,7 @@ public class FlowNodeConnectorInventoryTranslatorImpl extends AbstractNodeConnec
             .augmentation(FlowCapableNodeConnector.class)
             .build();
 
-    private Multimap<Long,String> dpnToPortMultiMap = Multimaps.synchronizedListMultimap(ArrayListMultimap.<Long,String>create());
+    private Multimap<BigInteger,String> dpnToPortMultiMap = Multimaps.synchronizedListMultimap(ArrayListMultimap.<BigInteger,String>create());
 
     public FlowNodeConnectorInventoryTranslatorImpl(final ForwardingRulesManager manager, final DataBroker dataBroker){
         super(manager, FlowCapableNodeConnector.class);
@@ -61,7 +65,7 @@ public class FlowNodeConnectorInventoryTranslatorImpl extends AbstractNodeConnec
             });
         } catch (final Exception e) {
             LOG.warn(" FlowNodeConnectorInventoryTranslatorImpl listener registration fail!");
-            LOG.debug("FlowNodeConnectorInventoryTranslatorImpl DataChange listener registration fail ..", e);
+            LOG.debug("FlowNodeConnectorInventoryTranslatorImpl DataTreeChangeListener registration fail ..", e);
             throw new IllegalStateException("FlowNodeConnectorInventoryTranslatorImpl startup fail! System needs restart.", e);
         }
     }
@@ -89,11 +93,10 @@ public class FlowNodeConnectorInventoryTranslatorImpl extends AbstractNodeConnec
     @Override
     public void remove(InstanceIdentifier<FlowCapableNodeConnector> identifier, FlowCapableNodeConnector del, InstanceIdentifier<FlowCapableNodeConnector> nodeConnIdent) {
         if(compareInstanceIdentifierTail(identifier,II_TO_FLOW_CAPABLE_NODE_CONNECTOR)){
-            LOG.info("Node Connector removed");
+            LOG.debug("Node Connector removed");
             String sNodeConnectorIdentifier = nodeConnIdent
                     .firstKeyOf(NodeConnector.class, NodeConnectorKey.class).getId().getValue();
-            long nDpId = getDpIdFromPortName(sNodeConnectorIdentifier);
-            String portName = del.getName();
+            BigInteger nDpId = getDpIdFromPortName(sNodeConnectorIdentifier);
 
             dpnToPortMultiMap.remove(nDpId, sNodeConnectorIdentifier);
         }
@@ -102,20 +105,19 @@ public class FlowNodeConnectorInventoryTranslatorImpl extends AbstractNodeConnec
     @Override
     public void update(InstanceIdentifier<FlowCapableNodeConnector> identifier, FlowCapableNodeConnector original, FlowCapableNodeConnector update, InstanceIdentifier<FlowCapableNodeConnector> nodeConnIdent) {
         if(compareInstanceIdentifierTail(identifier,II_TO_FLOW_CAPABLE_NODE_CONNECTOR)){
-            LOG.info("Node Connector updated");
-            //donot need to do anything as we are not considering updates here
+            LOG.debug("Node Connector updated");
+            //Don't need to do anything as we are not considering updates here
         }
     }
 
     @Override
     public void add(InstanceIdentifier<FlowCapableNodeConnector> identifier, FlowCapableNodeConnector add, InstanceIdentifier<FlowCapableNodeConnector> nodeConnIdent) {
         if(compareInstanceIdentifierTail(identifier,II_TO_FLOW_CAPABLE_NODE_CONNECTOR)){
-            LOG.info("Node Connector added");
+            LOG.debug("Node Connector added");
             String sNodeConnectorIdentifier = nodeConnIdent
                     .firstKeyOf(NodeConnector.class, NodeConnectorKey.class).getId().getValue();
-            long nDpId = getDpIdFromPortName(sNodeConnectorIdentifier);
+            BigInteger nDpId = getDpIdFromPortName(sNodeConnectorIdentifier);
 
-            String portName = add.getName();
             if(!dpnToPortMultiMap.containsEntry(nDpId,sNodeConnectorIdentifier)) {
                 dpnToPortMultiMap.put(nDpId, sNodeConnectorIdentifier);
             }else{
@@ -130,14 +132,14 @@ public class FlowNodeConnectorInventoryTranslatorImpl extends AbstractNodeConnec
     }
 
     @Override
-    public boolean isNodeConnectorUpdated(long dpId, String portName){
+    public boolean isNodeConnectorUpdated(BigInteger dpId, String portName){
         return dpnToPortMultiMap.containsEntry(dpId,portName) ;
     }
 
 
-    private long getDpIdFromPortName(String portName) {
+    private BigInteger getDpIdFromPortName(String portName) {
         String dpId = portName.substring(portName.indexOf(SEPARATOR) + 1, portName.lastIndexOf(SEPARATOR));
-        return Long.parseLong(dpId);
+        return new BigInteger(dpId);
     }
 }