Fix bug in PortConvertor#maskPortConfigFields 05/5705/2
authorMoiz Raja <moraja@cisco.com>
Fri, 21 Mar 2014 00:22:53 +0000 (17:22 -0700)
committerMichal Rehak <mirehak@cisco.com>
Fri, 21 Mar 2014 12:39:50 +0000 (13:39 +0100)
This method was trying to set a passed reference to a different value and expecting to see it set in the caller
This won't work in java because java passes object references also as a value

See http://www.javaworld.com/article/2077424/learn-java/does-java-pass-by-reference-or-pass-by-value.html

Change-Id: I809f0887fb435b5ae2dd2b91304b8c20fa2adb17
Signed-off-by: Moiz Raja <moraja@cisco.com>
Signed-off-by: Michal Rehak <mirehak@cisco.com>
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/PortConvertor.java

index e11eb8dca66c1cd7e7e4a93d37b47a72cf6618af..5ef457b594e659478d6914fc2d1e0f3be72e2f61 100644 (file)
@@ -50,20 +50,18 @@ public final class PortConvertor {
         PortModInputBuilder portModInputBuilder = new PortModInputBuilder();
         portModInputBuilder.setAdvertise(getPortFeatures(source.getAdvertisedFeatures()));
         portModInputBuilder.setPortNo(new PortNumber(source.getPortNumber()));
-        maskPortConfigFields(source.getConfiguration(), config);
+        config = maskPortConfigFields(source.getConfiguration());
         portModInputBuilder.setConfig(config);
         portModInputBuilder.setHwAddress(new MacAddress(source.getHardwareAddress()));
-        config = null;
-        maskPortConfigFields(source.getMask(), config);
+        config = maskPortConfigFields(source.getMask());
         portModInputBuilder.setMask(config);
         portModInputBuilder.setVersion(version);
         return portModInputBuilder.build();
 
     }
 
-    private static void maskPortConfigFields(
-            org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.port.rev130925.PortConfig configData,
-            PortConfig config) {
+    private static PortConfig maskPortConfigFields(
+            org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.port.rev130925.PortConfig configData) {
         Boolean portDown = false;
         Boolean noRecv = false;
         Boolean noFwd = false;
@@ -77,7 +75,7 @@ public final class PortConvertor {
         if (configData.isPORTDOWN())
             portDown = true;
 
-        config = new PortConfig(noFwd, noPacketIn, noRecv, portDown);
+        return new PortConfig(noFwd, noPacketIn, noRecv, portDown);
 
     }
 
@@ -113,7 +111,7 @@ public final class PortConvertor {
         OFPortDescDataBuilder.setHwAddr(source.getHardwareAddress());
         OFPortDescDataBuilder.setName(source.getName());
 
-        maskPortConfigFields(source.getConfiguration(), config);
+        config = maskPortConfigFields(source.getConfiguration());
 
         OFPortDescDataBuilder.setConfig(config);