Optional fields - reverted
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / util / ActionsSerializer.java
index 333a7cab0902cb22e429c238902ad77eac0b6556..7adcf552c5f697d30dbcf40ce9b4e638c67bf1f8 100644 (file)
@@ -5,7 +5,6 @@ import io.netty.buffer.ByteBuf;
 \r
 import java.util.List;\r
 \r
-import org.opendaylight.openflowjava.protocol.impl.serialization.factories.EncodeConstants;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.EthertypeAction;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.ExperimenterAction;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.GroupIdAction;\r
@@ -54,39 +53,39 @@ public abstract class ActionsSerializer {
         }\r
         for (ActionsList list : actionsList) {\r
             Action action = list.getAction();\r
-            if (action.getType().equals(Output.class)) {\r
+            if (action.getType().isAssignableFrom(Output.class)) {\r
                 encodeOutputAction(action, outBuffer);\r
-            } else if (action.getType().equals(CopyTtlOut.class)) {\r
+            } else if (action.getType().isAssignableFrom(CopyTtlOut.class)) {\r
                 encodeCopyTtlOutAction(outBuffer);\r
-            } else if (action.getType().equals(CopyTtlIn.class)) {\r
+            } else if (action.getType().isAssignableFrom(CopyTtlIn.class)) {\r
                 encodeCopyTtlInAction(outBuffer);\r
-            } else if (action.getType().equals(SetMplsTtl.class)) {\r
+            } else if (action.getType().isAssignableFrom(SetMplsTtl.class)) {\r
                 encodeSetMplsTtltAction(action, outBuffer);\r
-            } else if (action.getType().equals(DecMplsTtl.class)) {\r
+            } else if (action.getType().isAssignableFrom(DecMplsTtl.class)) {\r
                 encodeDecMplsTtlAction(outBuffer);\r
-            } else if (action.getType().equals(PushVlan.class)) {\r
+            } else if (action.getType().isAssignableFrom(PushVlan.class)) {\r
                 encodePushVlanAction(action, outBuffer);\r
-            } else if (action.getType().equals(PopVlan.class)) {\r
+            } else if (action.getType().isAssignableFrom(PopVlan.class)) {\r
                 encodePopVlanAction(outBuffer);\r
-            } else if (action.getType().equals(PushMpls.class)) {\r
+            } else if (action.getType().isAssignableFrom(PushMpls.class)) {\r
                 encodePushMplsAction(action, outBuffer);\r
-            } else if (action.getType().equals(PopMpls.class)) {\r
+            } else if (action.getType().isAssignableFrom(PopMpls.class)) {\r
                 encodePopMplsAction(action, outBuffer);\r
-            } else if (action.getType().equals(SetQueue.class)) {\r
+            } else if (action.getType().isAssignableFrom(SetQueue.class)) {\r
                 encodeSetQueueAction(action, outBuffer);\r
-            } else if (action.getType().equals(Group.class)) {\r
+            } else if (action.getType().isAssignableFrom(Group.class)) {\r
                 encodeGroupAction(action, outBuffer);\r
-            } else if (action.getType().equals(SetNwTtl.class)) {\r
+            } else if (action.getType().isAssignableFrom(SetNwTtl.class)) {\r
                 encodeSetNwTtlAction(action, outBuffer);\r
-            } else if (action.getType().equals(DecNwTtl.class)) {\r
+            } else if (action.getType().isAssignableFrom(DecNwTtl.class)) {\r
                 encodeDecNwTtlAction(outBuffer);\r
-            } else if (action.getType().equals(SetField.class)) {\r
+            } else if (action.getType().isAssignableFrom(SetField.class)) {\r
                 encodeSetFieldAction(action, outBuffer);\r
-            } else if (action.getType().equals(PushPbb.class)) {\r
+            } else if (action.getType().isAssignableFrom(PushPbb.class)) {\r
                 encodePushPbbAction(action, outBuffer);\r
-            } else if (action.getType().equals(PopPbb.class)) {\r
+            } else if (action.getType().isAssignableFrom(PopPbb.class)) {\r
                 encodePopPbbAction(outBuffer);\r
-            } else if (action.getType().equals(Experimenter.class)) {\r
+            } else if (action.getType().isAssignableFrom(Experimenter.class)) {\r
                 encodeExperimenterAction(action, outBuffer);\r
             } \r
         }\r
@@ -238,9 +237,9 @@ 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(LENGTH_OF_ETHERTYPE_ACTION);\r
         outBuffer.writeShort(ethertype.getEthertype().getValue());\r
         ByteBufUtils.padBuffer(ETHERTYPE_ACTION_PADDING, outBuffer);\r
     }\r
@@ -258,9 +257,9 @@ public abstract class ActionsSerializer {
         if (actionsList != null) {\r
             for (ActionsList list : actionsList) {\r
                 Action action = list.getAction();\r
-                if (action.getType().equals(Output.class)) {\r
+                if (action.getType().isAssignableFrom(Output.class)) {\r
                     lengthOfActions += OUTPUT_LENGTH;\r
-                } else if (action.getType().equals(SetField.class)){\r
+                } else if (action.getType().isAssignableFrom(SetField.class)){\r
                     List<MatchEntries> entries = action.getAugmentation(OxmFieldsAction.class).getMatchEntries();\r
                     int actionLength = ACTION_HEADER_LENGTH + MatchSerializer.computeMatchEntriesLength(entries);\r
                     lengthOfActions += actionLength;\r