Added validation 31/3431/1
authorPrasanna Huddar <prasanna.huddar@ericsson.com>
Wed, 4 Dec 2013 10:05:51 +0000 (15:35 +0530)
committerPrasanna Huddar <prasanna.huddar@ericsson.com>
Wed, 4 Dec 2013 10:05:51 +0000 (15:35 +0530)
Signed-off-by: Prasanna Huddar <prasanna.huddar@ericsson.com>
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/GroupModInputMessageFactory.java
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/util/ActionsSerializer.java

index b60a7c29327e6b53389f0d6e8e0aa7d6da152caf..26ca0d46b688cb3c25eed29ab2a4c336bb0e4822 100644 (file)
@@ -63,9 +63,18 @@ public class GroupModInputMessageFactory implements OFSerializer<GroupModInput>
         if (buckets != null) {\r
             for (BucketsList currentBucket : buckets) {\r
                 outBuffer.writeShort(computeLengthOfBucket(currentBucket));\r
-                outBuffer.writeShort(currentBucket.getWeight().shortValue());\r
-                outBuffer.writeInt(currentBucket.getWatchPort().getValue().intValue());\r
-                outBuffer.writeInt(currentBucket.getWatchGroup().intValue());\r
+                \r
+                if (null != currentBucket.getWeight()) {\r
+                    outBuffer.writeShort(currentBucket.getWeight().shortValue());\r
+                }\r
+                \r
+                if (null != currentBucket.getWatchPort()) {\r
+                    outBuffer.writeInt(currentBucket.getWatchPort().getValue().intValue());\r
+                }\r
+                \r
+                if (null != currentBucket.getWatchGroup()) {\r
+                    outBuffer.writeInt(currentBucket.getWatchGroup().intValue());\r
+                }\r
                 ByteBufUtils.padBuffer(PADDING_IN_BUCKET, outBuffer);\r
                 ActionsSerializer.encodeActions(currentBucket.getActionsList(), outBuffer);\r
             }\r
index c7e07ee716f179494a941388af99c22eba5a4fa3..e99d204cb929558794d11a0f62ad60b857d690a1 100644 (file)
@@ -237,11 +237,15 @@ public abstract class ActionsSerializer {
     \r
     private static void encodeCommonEthertype(Action action, ByteBuf outBuffer) {\r
         final byte LENGTH_OF_ETHERTYPE_ACTION = 8;\r
-        final byte ETHERTYPE_ACTION_PADDING = 2;\r
-        outBuffer.writeShort(LENGTH_OF_ETHERTYPE_ACTION);\r
+        final byte ETHERTYPE_ACTION_PADDING = 2;        \r
         EthertypeAction ethertype = action.getAugmentation(EthertypeAction.class);\r
-        outBuffer.writeShort(ethertype.getEthertype().getValue());\r
-        ByteBufUtils.padBuffer(ETHERTYPE_ACTION_PADDING, outBuffer);\r
+        \r
+        if (null != ethertype && null != ethertype.getEthertype()) {\r
+            outBuffer.writeShort(LENGTH_OF_ETHERTYPE_ACTION);\r
+            \r
+            outBuffer.writeShort(ethertype.getEthertype().getValue());\r
+            ByteBufUtils.padBuffer(ETHERTYPE_ACTION_PADDING, outBuffer);\r
+        }\r
     }\r
     \r
     /**\r