BUG-2382: OutputActionBuilder.setOutputNodeConnector 24/15824/2
authorTimotej Kubas <tkubas@cisco.com>
Fri, 27 Feb 2015 12:57:10 +0000 (13:57 +0100)
committerTimotej Kubas <tkubas@cisco.com>
Fri, 6 Mar 2015 09:16:33 +0000 (10:16 +0100)
 - use of OutputActionBuilder.setOutputNodeConnector in openflowplugin changed
   to proper form

Change-Id: I930aba68293a7498d0b2be61bf9a2c155637427a
Signed-off-by: Timotej Kubas <tkubas@cisco.com>
legacy/sal-compatibility/src/main/java/org/opendaylight/openflowplugin/legacy/sal/compatibility/NodeMapping.java
legacy/sal-compatibility/src/main/java/org/opendaylight/openflowplugin/legacy/sal/compatibility/ToSalConversionsUtils.java
legacy/sal-compatibility/src/test/java/org/opendaylight/openflowplugin/legacy/sal/compatibility/test/NodeMappingTest.java
legacy/sal-compatibility/src/test/java/org/opendaylight/openflowplugin/legacy/sal/compatibility/test/TestToSalConversionsUtils.java

index 6002427e121e025a4032eda8eb3b33e5604c9126..b58d46a0b993dc01f11addc37fb503219c49c117 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.openflowplugin.legacy.sal.compatibility;
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Objects;
 import com.google.common.base.Preconditions;
+
 import org.opendaylight.controller.sal.common.util.Arguments;
 import org.opendaylight.controller.sal.core.AdvertisedBandwidth;
 import org.opendaylight.controller.sal.core.Bandwidth;
@@ -205,7 +206,7 @@ public final class NodeMapping {
             return org.opendaylight.controller.sal.core.NodeConnector.SPECIALNODECONNECTORID;
         }
 
-        String nodeConnectorIdStripped = ALL_CHARS_TO_COLON.matcher(nodeConnectorId.getValue()).replaceFirst("");
+        String nodeConnectorIdStripped = stripToColon(nodeConnectorId.getValue());
 
         if (NUMBERS_ONLY.matcher(nodeConnectorIdStripped).matches()) {
             Short nodeConnectorIdVal = null;
@@ -219,6 +220,10 @@ public final class NodeMapping {
         return nodeConnectorIdStripped;
     }
 
+    public static String stripToColon(final String elementId) {
+        return ALL_CHARS_TO_COLON.matcher(elementId).replaceFirst("");
+    }
+
     public static NodeId toAdNodeId(final NodeConnectorId nodeConnectorId) {
         NodeId nodeId = null;
         if (nodeConnectorId != null) {
index 8af6c7713f75d3ad6257c663d59ee3d256e69d72..b7ec91596c8888d72a60e4e41f7b61f383ab1048 100644 (file)
@@ -216,8 +216,9 @@ public class ToSalConversionsUtils {
                     }else{
                         type = type + ":";
                     }
-                    Uri fullNodeConnector = new Uri(type+node.getID()+":"+nodeConnector.getValue());
-                        targetAction.add(new Output(fromNodeConnectorRef(fullNodeConnector, node)));
+                    Uri fullNodeConnector = new Uri(type+node.getID()+":"
+                            +NodeMapping.stripToColon(nodeConnector.getValue()));
+                    targetAction.add(new Output(fromNodeConnectorRef(fullNodeConnector, node)));
                 }
             } else if (sourceAction instanceof PopMplsActionCase) {
                 // TODO: define maping
index 3a5ce2c006b0dc8a758bbb466f56adb1cb54e9d3..babf62f861cafe7e62e48510123fccfc27b8570d 100644 (file)
@@ -208,7 +208,20 @@ public class NodeMappingTest {
         NodeKey nodeKey = NodeMapping.toNodeKey(aDNode);
         Assert.assertEquals("openflow:42", nodeKey.getId().getValue());
     }
-
+    
+    /**
+     * Test method for
+     * {@link org.opendaylight.openflowplugin.legacy.sal.compatibility.NodeMapping#stripToColon(NodeConnectorId)}
+     * .
+     * @throws ConstructionException
+     */
+    @Test
+    public void testStripToColon() {
+        Assert.assertEquals("1", NodeMapping.stripToColon("openflow:42:1"));
+        Assert.assertEquals("1", NodeMapping.stripToColon("openflow:1"));
+        Assert.assertEquals("1", NodeMapping.stripToColon("1"));
+    }
     /**
      * @param nodeId
      * @param portId
index 5f2bc944031c455575f077616298af69dda08423..3ea3dbf2c9e743902e350f56a7d103abb87c8fdd 100644 (file)
@@ -207,7 +207,7 @@ public class TestToSalConversionsUtils {
         List<Action> odActions = new ArrayList<>();
 
         OutputActionBuilder outputActionBuilder = new OutputActionBuilder();
-        outputActionBuilder.setOutputNodeConnector(new Uri("CONTROLLER"));
+        outputActionBuilder.setOutputNodeConnector(new Uri("openflow:42:CONTROLLER"));
         OutputActionCaseBuilder outputActionCaseBuilder = new OutputActionCaseBuilder();
         outputActionCaseBuilder.setOutputAction(outputActionBuilder.build());
         odActions.add(new ActionBuilder().setAction(outputActionCaseBuilder.build()).build());
@@ -600,7 +600,7 @@ public class TestToSalConversionsUtils {
 
     private void prepareActionOutput(OutputActionCaseBuilder wrapper) {
         OutputActionBuilder outputActionBuilder = new OutputActionBuilder();
-        outputActionBuilder.setOutputNodeConnector(new Uri("1"));
+        outputActionBuilder.setOutputNodeConnector(new Uri("openflow:1:1"));
         wrapper.setOutputAction(outputActionBuilder.build());
     }