Merge "DeviceState implementation"
[openflowplugin.git] / openflowplugin / src / test / java / org / opendaylight / openflowplugin / openflow / md / core / sal / convertor / ActionConvertorV13Test.java
index ed60aeba4bcb30935be7ac7d2f771376d32ff093..0b3379f9f44b2150190e464512791a6613add584 100644 (file)
@@ -53,65 +53,64 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.acti
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.strip.vlan.action._case.StripVlanActionBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.address.address.Ipv4Builder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.address.address.Ipv6Builder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.FlowBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.MatchBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.VlanId;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.VlanPcp;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.DscpMatchEntry;\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.EthertypeActionBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.GroupIdAction;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.GroupIdActionBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.Ipv4AddressMatchEntry;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.Ipv6AddressMatchEntry;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.MacAddressMatchEntry;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.MaxLengthAction;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.MaxLengthActionBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.MplsTtlAction;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.MplsTtlActionBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.NwTtlAction;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.NwTtlActionBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.OxmFieldsAction;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.OxmFieldsActionBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.PortAction;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.PortActionBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.PortMatchEntry;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.PortNumberMatchEntry;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.PortNumberMatchEntryBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.QueueIdAction;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.QueueIdActionBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.VlanPcpMatchEntry;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev131002.VlanVidMatchEntry;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.CopyTtlIn;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.CopyTtlOut;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.DecMplsTtl;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.DecNwTtl;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.Group;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.Output;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.PopMpls;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.PopPbb;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.PopVlan;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.PushMpls;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.PushPbb;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.PushVlan;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.SetField;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.SetMplsTtl;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.SetNwTtl;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.SetQueue;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.IpMatchBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.CopyTtlInCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.CopyTtlOutCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.DecMplsTtlCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.DecNwTtlCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.GroupCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.OutputActionCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.PopMplsCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.PopPbbCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.PopVlanCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.PushMplsCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.PushPbbCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.PushVlanCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetFieldCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetMplsTtlCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetNwTtlCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetQueueCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.group._case.GroupActionBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.output.action._case.OutputActionBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.pop.mpls._case.PopMplsActionBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.push.mpls._case.PushMplsActionBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.push.pbb._case.PushPbbActionBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.push.vlan._case.PushVlanActionBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.set.field._case.SetFieldActionBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.set.mpls.ttl._case.SetMplsTtlActionBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.set.nw.ttl._case.SetNwTtlActionBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.set.queue._case.SetQueueActionBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.ActionBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.EtherType;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortNumber;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.InPort;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.MatchField;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.OpenflowBasicClass;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.oxm.fields.grouping.MatchEntries;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.oxm.fields.grouping.MatchEntriesBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.InPort;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchField;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.OpenflowBasicClass;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.EthDstCase;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.EthSrcCase;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.InPortCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.IpDscpCase;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.Ipv4DstCase;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.Ipv4SrcCase;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.Ipv6DstCase;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.Ipv6SrcCase;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.TcpDstCase;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.TcpSrcCase;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.VlanPcpCase;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.VlanVidCase;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.in.port._case.InPortBuilder;\r
 \r
 /**\r
  * @author michal.polkorab\r
- *\r
  */\r
 public class ActionConvertorV13Test {\r
-\r
     /**\r
      * Test {@link ActionConvertor#toMDSalActions(List, OpenflowVersion, ActionPath)}\r
      */\r
@@ -119,7 +118,7 @@ public class ActionConvertorV13Test {
     public void testToMDSalActions() {\r
         List<Action> actions = new ArrayList<>();\r
         List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action\r
-        .Action> mdSalActions = ActionConvertor.toMDSalActions(actions, OpenflowVersion.OF13,\r
+                .Action> mdSalActions = ActionConvertor.toMDSalActions(actions, OpenflowVersion.OF13,\r
                 ActionPath.FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_APPLYACTIONSCASE_APPLYACTIONS_ACTION_ACTION);\r
 \r
         Assert.assertEquals("Wrong number of output actions", 0, mdSalActions.size());\r
@@ -132,99 +131,125 @@ public class ActionConvertorV13Test {
     public void testToMDSalActions2() {\r
         OpenflowPortsUtil.init();\r
         List<Action> actions = new ArrayList<>();\r
+\r
         ActionBuilder actionBuilder = new ActionBuilder();\r
-        actionBuilder.setType(Output.class);\r
-        PortActionBuilder port = new PortActionBuilder();\r
-        port.setPort(new PortNumber(42L));\r
-        actionBuilder.addAugmentation(PortAction.class, port.build());\r
-        MaxLengthActionBuilder maxLen = new MaxLengthActionBuilder();\r
-        maxLen.setMaxLength(52);\r
-        actionBuilder.addAugmentation(MaxLengthAction.class, maxLen.build());\r
+        OutputActionCaseBuilder caseBuilder = new OutputActionCaseBuilder();\r
+        OutputActionBuilder outputBuilder = new OutputActionBuilder();\r
+        outputBuilder.setPort(new PortNumber(42L));\r
+        outputBuilder.setMaxLength(52);\r
+        caseBuilder.setOutputAction(outputBuilder.build());\r
+        actionBuilder.setActionChoice(caseBuilder.build());\r
         actions.add(actionBuilder.build());\r
+\r
         actionBuilder = new ActionBuilder();\r
-        actionBuilder.setType(CopyTtlOut.class);\r
+        actionBuilder.setActionChoice(new CopyTtlOutCaseBuilder().build());\r
         actions.add(actionBuilder.build());\r
+\r
         actionBuilder = new ActionBuilder();\r
-        actionBuilder.setType(CopyTtlIn.class);\r
+        actionBuilder.setActionChoice(new CopyTtlInCaseBuilder().build());\r
         actions.add(actionBuilder.build());\r
+\r
         actionBuilder = new ActionBuilder();\r
-        actionBuilder.setType(SetMplsTtl.class);\r
-        MplsTtlActionBuilder mplsTtl = new MplsTtlActionBuilder();\r
-        mplsTtl.setMplsTtl((short) 4);\r
-        actionBuilder.addAugmentation(MplsTtlAction.class, mplsTtl.build());\r
+        SetMplsTtlCaseBuilder setMplsTtlCaseBuilder = new SetMplsTtlCaseBuilder();\r
+        SetMplsTtlActionBuilder setMplsTtlBuilder = new SetMplsTtlActionBuilder();\r
+        setMplsTtlBuilder.setMplsTtl((short) 4);\r
+        setMplsTtlCaseBuilder.setSetMplsTtlAction(setMplsTtlBuilder.build());\r
+        actionBuilder.setActionChoice(setMplsTtlCaseBuilder.build());\r
         actions.add(actionBuilder.build());\r
+\r
         actionBuilder = new ActionBuilder();\r
-        actionBuilder.setType(DecMplsTtl.class);\r
+        actionBuilder.setActionChoice(new DecMplsTtlCaseBuilder().build());\r
         actions.add(actionBuilder.build());\r
+\r
         actionBuilder = new ActionBuilder();\r
-        actionBuilder.setType(PushVlan.class);\r
-        EthertypeActionBuilder etherType = new EthertypeActionBuilder();\r
-        etherType.setEthertype(new EtherType(16));\r
-        actionBuilder.addAugmentation(EthertypeAction.class, etherType.build());\r
+        PushVlanCaseBuilder pushVlanCaseBuilder = new PushVlanCaseBuilder();\r
+        PushVlanActionBuilder pushVlanBuilder = new PushVlanActionBuilder();\r
+        pushVlanBuilder.setEthertype(new EtherType(new EtherType(16)));\r
+        pushVlanCaseBuilder.setPushVlanAction(pushVlanBuilder.build());\r
+        actionBuilder.setActionChoice(pushVlanCaseBuilder.build());\r
         actions.add(actionBuilder.build());\r
+\r
         actionBuilder = new ActionBuilder();\r
-        actionBuilder.setType(PopVlan.class);\r
+        actionBuilder.setActionChoice(new PopVlanCaseBuilder().build());\r
         actions.add(actionBuilder.build());\r
+\r
         actionBuilder = new ActionBuilder();\r
-        actionBuilder.setType(PushMpls.class);\r
-        etherType = new EthertypeActionBuilder();\r
-        etherType.setEthertype(new EtherType(17));\r
-        actionBuilder.addAugmentation(EthertypeAction.class, etherType.build());\r
+        PushMplsCaseBuilder pushMplsCaseBuilder = new PushMplsCaseBuilder();\r
+        PushMplsActionBuilder pushMplsBuilder = new PushMplsActionBuilder();\r
+        pushMplsBuilder.setEthertype(new EtherType(new EtherType(17)));\r
+        pushMplsCaseBuilder.setPushMplsAction(pushMplsBuilder.build());\r
+        actionBuilder.setActionChoice(pushMplsCaseBuilder.build());\r
         actions.add(actionBuilder.build());\r
+\r
         actionBuilder = new ActionBuilder();\r
-        actionBuilder.setType(PopMpls.class);\r
-        etherType = new EthertypeActionBuilder();\r
-        etherType.setEthertype(new EtherType(18));\r
-        actionBuilder.addAugmentation(EthertypeAction.class, etherType.build());\r
+        PopMplsCaseBuilder popMplsCaseBuilder = new PopMplsCaseBuilder();\r
+        PopMplsActionBuilder popMplsBuilder = new PopMplsActionBuilder();\r
+        popMplsBuilder.setEthertype(new EtherType(new EtherType(18)));\r
+        popMplsCaseBuilder.setPopMplsAction(popMplsBuilder.build());\r
+        actionBuilder.setActionChoice(popMplsCaseBuilder.build());\r
         actions.add(actionBuilder.build());\r
+\r
         actionBuilder = new ActionBuilder();\r
-        actionBuilder.setType(SetQueue.class);\r
-        QueueIdActionBuilder queueId = new QueueIdActionBuilder();\r
-        queueId.setQueueId(1234L);\r
-        actionBuilder.addAugmentation(QueueIdAction.class, queueId.build());\r
+        SetQueueCaseBuilder setQueueCaseBuilder = new SetQueueCaseBuilder();\r
+        SetQueueActionBuilder setQueueBuilder = new SetQueueActionBuilder();\r
+        setQueueBuilder.setQueueId(1234L);\r
+        setQueueCaseBuilder.setSetQueueAction(setQueueBuilder.build());\r
+        actionBuilder.setActionChoice(setQueueCaseBuilder.build());\r
         actions.add(actionBuilder.build());\r
+\r
         actionBuilder = new ActionBuilder();\r
-        actionBuilder.setType(Group.class);\r
-        GroupIdActionBuilder group = new GroupIdActionBuilder();\r
-        group.setGroupId(555L);\r
-        actionBuilder.addAugmentation(GroupIdAction.class, group.build());\r
+        GroupCaseBuilder groupCaseBuilder = new GroupCaseBuilder();\r
+        GroupActionBuilder groupActionBuilder = new GroupActionBuilder();\r
+        groupActionBuilder.setGroupId(555L);\r
+        groupCaseBuilder.setGroupAction(groupActionBuilder.build());\r
+        actionBuilder.setActionChoice(groupCaseBuilder.build());\r
         actions.add(actionBuilder.build());\r
+\r
         actionBuilder = new ActionBuilder();\r
-        actionBuilder.setType(SetNwTtl.class);\r
-        NwTtlActionBuilder nwTtl = new NwTtlActionBuilder();\r
-        nwTtl.setNwTtl((short) 8);\r
-        actionBuilder.addAugmentation(NwTtlAction.class, nwTtl.build());\r
+        SetNwTtlCaseBuilder nwTtlCaseBuilder = new SetNwTtlCaseBuilder();\r
+        SetNwTtlActionBuilder nwTtlBuilder = new SetNwTtlActionBuilder();\r
+        nwTtlBuilder.setNwTtl((short) 8);\r
+        nwTtlCaseBuilder.setSetNwTtlAction(nwTtlBuilder.build());\r
+        actionBuilder.setActionChoice(nwTtlCaseBuilder.build());\r
         actions.add(actionBuilder.build());\r
+\r
         actionBuilder = new ActionBuilder();\r
-        actionBuilder.setType(DecNwTtl.class);\r
+        actionBuilder.setActionChoice(new DecNwTtlCaseBuilder().build());\r
         actions.add(actionBuilder.build());\r
+\r
         actionBuilder = new ActionBuilder();\r
-        actionBuilder.setType(SetField.class);\r
-        OxmFieldsActionBuilder matchEntries = new OxmFieldsActionBuilder();\r
-        List<MatchEntries> entries = new ArrayList<>();\r
-        MatchEntriesBuilder matchBuilder = new MatchEntriesBuilder();\r
+        SetFieldCaseBuilder setFieldCaseBuilder = new SetFieldCaseBuilder();\r
+        SetFieldActionBuilder setFieldBuilder = new SetFieldActionBuilder();\r
+        List<MatchEntry> entries = new ArrayList<>();\r
+        MatchEntryBuilder matchBuilder = new MatchEntryBuilder();\r
         matchBuilder.setOxmClass(OpenflowBasicClass.class);\r
         matchBuilder.setOxmMatchField(InPort.class);\r
         matchBuilder.setHasMask(false);\r
-        PortNumberMatchEntryBuilder portBuilder = new PortNumberMatchEntryBuilder();\r
-        portBuilder.setPortNumber(new PortNumber(1L));\r
-        matchBuilder.addAugmentation(PortNumberMatchEntry.class, portBuilder.build());\r
+        InPortCaseBuilder inPortCaseBuilder = new InPortCaseBuilder();\r
+        InPortBuilder inPortBuilder = new InPortBuilder();\r
+        inPortBuilder.setPortNumber(new PortNumber(1L));\r
+        inPortCaseBuilder.setInPort(inPortBuilder.build());\r
+        matchBuilder.setMatchEntryValue(inPortCaseBuilder.build());\r
         entries.add(matchBuilder.build());\r
-        matchEntries.setMatchEntries(entries);\r
-        actionBuilder.addAugmentation(OxmFieldsAction.class, matchEntries.build());\r
+        setFieldBuilder.setMatchEntry(entries);\r
+        setFieldCaseBuilder.setSetFieldAction(setFieldBuilder.build());\r
+        actionBuilder.setActionChoice(setFieldCaseBuilder.build());\r
         actions.add(actionBuilder.build());\r
+\r
         actionBuilder = new ActionBuilder();\r
-        actionBuilder.setType(PushPbb.class);\r
-        etherType = new EthertypeActionBuilder();\r
-        etherType.setEthertype(new EtherType(19));\r
-        actionBuilder.addAugmentation(EthertypeAction.class, etherType.build());\r
+        PushPbbCaseBuilder pushPbbCaseBuilder = new PushPbbCaseBuilder();\r
+        PushPbbActionBuilder pushPbbBuilder = new PushPbbActionBuilder();\r
+        pushPbbBuilder.setEthertype(new EtherType(new EtherType(19)));\r
+        pushPbbCaseBuilder.setPushPbbAction(pushPbbBuilder.build());\r
+        actionBuilder.setActionChoice(pushPbbCaseBuilder.build());\r
         actions.add(actionBuilder.build());\r
+\r
         actionBuilder = new ActionBuilder();\r
-        actionBuilder.setType(PopPbb.class);\r
+        actionBuilder.setActionChoice(new PopPbbCaseBuilder().build());\r
         actions.add(actionBuilder.build());\r
 \r
         List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action\r
-        .Action> mdSalActions = ActionConvertor.toMDSalActions(actions, OpenflowVersion.OF13,\r
+                .Action> mdSalActions = ActionConvertor.toMDSalActions(actions, OpenflowVersion.OF13,\r
                 ActionPath.FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_APPLYACTIONSCASE_APPLYACTIONS_ACTION_ACTION);\r
 \r
         Assert.assertEquals("Wrong number of output actions", 16, mdSalActions.size());\r
@@ -300,15 +325,16 @@ public class ActionConvertorV13Test {
     }\r
 \r
     /**\r
-     * Test {@link ActionConvertor#getActions(List, short, BigInteger)}\r
+     * Test {@link ActionConvertor#getActions(java.util.List, short, java.math.BigInteger, org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.Flow)}\r
      */\r
     @Test\r
     public void testGetActions() {\r
         List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list\r
-        .Action> salActions = new ArrayList<>();\r
+                .Action> salActions = new ArrayList<>();\r
         org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list\r
-        .ActionBuilder actionBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112\r
-        .action.list.ActionBuilder();\r
+                .ActionBuilder actionBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112\r
+                .action.list.ActionBuilder();\r
+\r
         SetVlanPcpActionCaseBuilder vlanPcpCaseBuilder = new SetVlanPcpActionCaseBuilder();\r
         SetVlanPcpActionBuilder pcpBuilder = new SetVlanPcpActionBuilder();\r
         pcpBuilder.setVlanPcp(new VlanPcp((short) 7));\r
@@ -316,6 +342,7 @@ public class ActionConvertorV13Test {
         actionBuilder.setAction(vlanPcpCaseBuilder.build());\r
         actionBuilder.setOrder(0);\r
         salActions.add(actionBuilder.build());\r
+\r
         actionBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112\r
                 .action.list.ActionBuilder();\r
         StripVlanActionCaseBuilder stripCaseBuilder = new StripVlanActionCaseBuilder();\r
@@ -324,6 +351,7 @@ public class ActionConvertorV13Test {
         actionBuilder.setAction(stripCaseBuilder.build());\r
         actionBuilder.setOrder(1);\r
         salActions.add(actionBuilder.build());\r
+\r
         actionBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112\r
                 .action.list.ActionBuilder();\r
         SetDlDstActionCaseBuilder dlDstCaseBuilder = new SetDlDstActionCaseBuilder();\r
@@ -333,6 +361,7 @@ public class ActionConvertorV13Test {
         actionBuilder.setAction(dlDstCaseBuilder.build());\r
         actionBuilder.setOrder(2);\r
         salActions.add(actionBuilder.build());\r
+\r
         actionBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112\r
                 .action.list.ActionBuilder();\r
         SetDlSrcActionCaseBuilder dlSrcCaseBuilder = new SetDlSrcActionCaseBuilder();\r
@@ -342,6 +371,7 @@ public class ActionConvertorV13Test {
         actionBuilder.setAction(dlSrcCaseBuilder.build());\r
         actionBuilder.setOrder(3);\r
         salActions.add(actionBuilder.build());\r
+\r
         actionBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112\r
                 .action.list.ActionBuilder();\r
         SetNwSrcActionCaseBuilder nwSrcCaseBuilder = new SetNwSrcActionCaseBuilder();\r
@@ -353,6 +383,7 @@ public class ActionConvertorV13Test {
         actionBuilder.setAction(nwSrcCaseBuilder.build());\r
         actionBuilder.setOrder(4);\r
         salActions.add(actionBuilder.build());\r
+\r
         actionBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112\r
                 .action.list.ActionBuilder();\r
         SetNwDstActionCaseBuilder nwDstCaseBuilder = new SetNwDstActionCaseBuilder();\r
@@ -364,6 +395,7 @@ public class ActionConvertorV13Test {
         actionBuilder.setAction(nwDstCaseBuilder.build());\r
         actionBuilder.setOrder(5);\r
         salActions.add(actionBuilder.build());\r
+\r
         actionBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112\r
                 .action.list.ActionBuilder();\r
         SetTpSrcActionCaseBuilder tpSrcCaseBuilder = new SetTpSrcActionCaseBuilder();\r
@@ -374,6 +406,7 @@ public class ActionConvertorV13Test {
         actionBuilder.setAction(tpSrcCaseBuilder.build());\r
         actionBuilder.setOrder(6);\r
         salActions.add(actionBuilder.build());\r
+\r
         actionBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112\r
                 .action.list.ActionBuilder();\r
         SetTpDstActionCaseBuilder tpDstCaseBuilder = new SetTpDstActionCaseBuilder();\r
@@ -384,6 +417,7 @@ public class ActionConvertorV13Test {
         actionBuilder.setAction(tpDstCaseBuilder.build());\r
         actionBuilder.setOrder(7);\r
         salActions.add(actionBuilder.build());\r
+\r
         actionBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112\r
                 .action.list.ActionBuilder();\r
         SetNwTosActionCaseBuilder tosCaseBuilder = new SetNwTosActionCaseBuilder();\r
@@ -393,6 +427,7 @@ public class ActionConvertorV13Test {
         actionBuilder.setAction(tosCaseBuilder.build());\r
         actionBuilder.setOrder(8);\r
         salActions.add(actionBuilder.build());\r
+\r
         actionBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112\r
                 .action.list.ActionBuilder();\r
         SetVlanIdActionCaseBuilder vlanIdCaseBuilder = new SetVlanIdActionCaseBuilder();\r
@@ -402,6 +437,7 @@ public class ActionConvertorV13Test {
         actionBuilder.setAction(vlanIdCaseBuilder.build());\r
         actionBuilder.setOrder(9);\r
         salActions.add(actionBuilder.build());\r
+\r
         actionBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112\r
                 .action.list.ActionBuilder();\r
         nwSrcCaseBuilder = new SetNwSrcActionCaseBuilder();\r
@@ -413,6 +449,7 @@ public class ActionConvertorV13Test {
         actionBuilder.setAction(nwSrcCaseBuilder.build());\r
         actionBuilder.setOrder(10);\r
         salActions.add(actionBuilder.build());\r
+\r
         actionBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112\r
                 .action.list.ActionBuilder();\r
         nwDstCaseBuilder = new SetNwDstActionCaseBuilder();\r
@@ -424,100 +461,139 @@ public class ActionConvertorV13Test {
         actionBuilder.setAction(nwDstCaseBuilder.build());\r
         actionBuilder.setOrder(11);\r
         salActions.add(actionBuilder.build());\r
-        \r
-        List<org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping\r
-        .Action> actions = ActionConvertor.getActions(salActions, EncodeConstants.OF13_VERSION_ID, new BigInteger("42"));\r
-        \r
+\r
+        IpMatchBuilder ipMatchBld = new IpMatchBuilder().setIpProtocol((short) 6);\r
+        MatchBuilder matchBld = new MatchBuilder().setIpMatch(ipMatchBld.build());\r
+        FlowBuilder flowBld = new FlowBuilder().setMatch(matchBld.build());\r
+\r
+        List<Action> actions = ActionConvertor.getActions(salActions, EncodeConstants.OF13_VERSION_ID, new BigInteger("42"), flowBld.build());\r
+\r
         Assert.assertEquals("Wrong number of actions", 12, actions.size());\r
-        org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping\r
-        .Action action = actions.get(0);\r
+        Action action = actions.get(0);\r
         Assert.assertEquals("Wrong action type", "org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common"\r
-                + ".action.rev130731.SetField", action.getType().getName());\r
-        MatchEntries entry = action.getAugmentation(OxmFieldsAction.class).getMatchEntries().get(0);\r
-        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.VlanPcp.class, false);\r
-        Assert.assertEquals("Wrong vlan pcp", 7, entry.getAugmentation(VlanPcpMatchEntry.class).getVlanPcp().intValue());\r
+                + ".action.rev150203.action.grouping.action.choice.SetFieldCase", action.getActionChoice().getImplementedInterface().getName());\r
+        org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetFieldCase setFieldCase =\r
+                (org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetFieldCase) action.getActionChoice();\r
+        MatchEntry entry = setFieldCase.getSetFieldAction().getMatchEntry().get(0);;\r
+        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.VlanPcp.class, false);\r
+        Assert.assertEquals("Wrong vlan pcp", 7, ((VlanPcpCase) entry.getMatchEntryValue()).getVlanPcp().getVlanPcp()\r
+                .intValue());\r
+\r
         action = actions.get(1);\r
         Assert.assertEquals("Wrong action type", "org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common"\r
-                + ".action.rev130731.SetField", action.getType().getName());\r
-        entry = action.getAugmentation(OxmFieldsAction.class).getMatchEntries().get(0);\r
-        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.VlanVid.class, false);\r
-        Assert.assertEquals("Wrong vlan vid", 0, entry.getAugmentation(VlanVidMatchEntry.class).getVlanVid().intValue());\r
-        Assert.assertEquals("Wrong cfi bit", true, entry.getAugmentation(VlanVidMatchEntry.class).isCfiBit());\r
+                + ".action.rev150203.action.grouping.action.choice.SetFieldCase", action.getActionChoice().getImplementedInterface().getName());\r
+        setFieldCase =\r
+          (org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetFieldCase) action.getActionChoice();\r
+        entry = setFieldCase.getSetFieldAction().getMatchEntry().get(0);\r
+        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.VlanVid.class, false);\r
+        Assert.assertEquals("Wrong vlan vid", 0, ((VlanVidCase) entry.getMatchEntryValue()).getVlanVid().getVlanVid()\r
+                .intValue());\r
+        Assert.assertEquals("Wrong cfi bit", true, ((VlanVidCase) entry.getMatchEntryValue()).getVlanVid().isCfiBit());\r
+\r
         action = actions.get(2);\r
         Assert.assertEquals("Wrong action type", "org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common"\r
-                + ".action.rev130731.SetField", action.getType().getName());\r
-        entry = action.getAugmentation(OxmFieldsAction.class).getMatchEntries().get(0);\r
-        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.EthDst.class, false);\r
-        Assert.assertEquals("Wrong dl dst", "00:00:00:00:00:06", entry.getAugmentation(MacAddressMatchEntry.class)\r
+                + ".action.rev150203.action.grouping.action.choice.SetFieldCase", action.getActionChoice().getImplementedInterface().getName());\r
+        setFieldCase =\r
+                (org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetFieldCase) action.getActionChoice();\r
+        entry = setFieldCase.getSetFieldAction().getMatchEntry().get(0);\r
+        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.EthDst.class, false);\r
+        Assert.assertEquals("Wrong dl dst", "00:00:00:00:00:06", ((EthDstCase) entry.getMatchEntryValue()).getEthDst()\r
                 .getMacAddress().getValue());\r
+\r
         action = actions.get(3);\r
+        setFieldCase =\r
+                (org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetFieldCase) action.getActionChoice();\r
         Assert.assertEquals("Wrong action type", "org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common"\r
-                + ".action.rev130731.SetField", action.getType().getName());\r
-        entry = action.getAugmentation(OxmFieldsAction.class).getMatchEntries().get(0);\r
-        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.EthSrc.class, false);\r
-        Assert.assertEquals("Wrong dl src", "00:00:00:00:00:05", entry.getAugmentation(MacAddressMatchEntry.class)\r
+                + ".action.rev150203.action.grouping.action.choice.SetFieldCase", action.getActionChoice().getImplementedInterface().getName());\r
+        entry = setFieldCase.getSetFieldAction().getMatchEntry().get(0);\r
+        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.EthSrc.class, false);\r
+        Assert.assertEquals("Wrong dl src", "00:00:00:00:00:05", ((EthSrcCase) entry.getMatchEntryValue()).getEthSrc()\r
                 .getMacAddress().getValue());\r
+\r
         action = actions.get(4);\r
+        setFieldCase =\r
+                (org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetFieldCase) action.getActionChoice();\r
         Assert.assertEquals("Wrong action type", "org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common"\r
-                + ".action.rev130731.SetField", action.getType().getName());\r
-        entry = action.getAugmentation(OxmFieldsAction.class).getMatchEntries().get(0);\r
-        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Ipv4Src.class, false);\r
-        Assert.assertEquals("Wrong ipv4 src", "10.0.0.1", entry.getAugmentation(Ipv4AddressMatchEntry.class)\r
+                + ".action.rev150203.action.grouping.action.choice.SetFieldCase", action.getActionChoice().getImplementedInterface().getName());\r
+        entry = setFieldCase.getSetFieldAction().getMatchEntry().get(0);\r
+        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Ipv4Src.class, false);\r
+        Assert.assertEquals("Wrong ipv4 src", "10.0.0.1", ((Ipv4SrcCase) entry.getMatchEntryValue()).getIpv4Src()\r
                 .getIpv4Address().getValue());\r
+\r
         action = actions.get(5);\r
+        setFieldCase =\r
+                (org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetFieldCase) action.getActionChoice();\r
         Assert.assertEquals("Wrong action type", "org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common"\r
-                + ".action.rev130731.SetField", action.getType().getName());\r
-        entry = action.getAugmentation(OxmFieldsAction.class).getMatchEntries().get(0);\r
-        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Ipv4Dst.class, false);\r
-        Assert.assertEquals("Wrong ipv4 dst", "10.0.0.2", entry.getAugmentation(Ipv4AddressMatchEntry.class)\r
+                + ".action.rev150203.action.grouping.action.choice.SetFieldCase", action.getActionChoice().getImplementedInterface().getName());\r
+        entry = setFieldCase.getSetFieldAction().getMatchEntry().get(0);\r
+        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Ipv4Dst.class, false);\r
+        Assert.assertEquals("Wrong ipv4 dst", "10.0.0.2", ((Ipv4DstCase) entry.getMatchEntryValue()).getIpv4Dst()\r
                 .getIpv4Address().getValue());\r
+\r
         action = actions.get(6);\r
+        setFieldCase =\r
+                (org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetFieldCase) action.getActionChoice();\r
         Assert.assertEquals("Wrong action type", "org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common"\r
-                + ".action.rev130731.SetField", action.getType().getName());\r
-        entry = action.getAugmentation(OxmFieldsAction.class).getMatchEntries().get(0);\r
-        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.TcpSrc.class, false);\r
-        Assert.assertEquals("Wrong tcp src", 54, entry.getAugmentation(PortMatchEntry.class)\r
+                + ".action.rev150203.action.grouping.action.choice.SetFieldCase", action.getActionChoice().getImplementedInterface().getName());\r
+        entry = setFieldCase.getSetFieldAction().getMatchEntry().get(0);\r
+        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.TcpSrc.class, false);\r
+        Assert.assertEquals("Wrong tcp src", 54, ((TcpSrcCase) entry.getMatchEntryValue()).getTcpSrc()\r
                 .getPort().getValue().intValue());\r
+\r
         action = actions.get(7);\r
+        setFieldCase =\r
+                (org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetFieldCase) action.getActionChoice();\r
         Assert.assertEquals("Wrong action type", "org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common"\r
-                + ".action.rev130731.SetField", action.getType().getName());\r
-        entry = action.getAugmentation(OxmFieldsAction.class).getMatchEntries().get(0);\r
-        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.TcpDst.class, false);\r
-        Assert.assertEquals("Wrong tcp dst", 45, entry.getAugmentation(PortMatchEntry.class)\r
+                + ".action.rev150203.action.grouping.action.choice.SetFieldCase", action.getActionChoice().getImplementedInterface().getName());\r
+        entry = setFieldCase.getSetFieldAction().getMatchEntry().get(0);;\r
+        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.TcpDst.class, false);\r
+        Assert.assertEquals("Wrong tcp dst", 45, ((TcpDstCase) entry.getMatchEntryValue()).getTcpDst()\r
                 .getPort().getValue().intValue());\r
+\r
         action = actions.get(8);\r
+        setFieldCase =\r
+                (org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetFieldCase) action.getActionChoice();\r
         Assert.assertEquals("Wrong action type", "org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common"\r
-                + ".action.rev130731.SetField", action.getType().getName());\r
-        entry = action.getAugmentation(OxmFieldsAction.class).getMatchEntries().get(0);\r
-        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.IpDscp.class, false);\r
-        Assert.assertEquals("Wrong ip dscp", 4, entry.getAugmentation(DscpMatchEntry.class)\r
+                + ".action.rev150203.action.grouping.action.choice.SetFieldCase", action.getActionChoice().getImplementedInterface().getName());\r
+        entry = setFieldCase.getSetFieldAction().getMatchEntry().get(0);\r
+        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.IpDscp.class, false);\r
+        Assert.assertEquals("Wrong ip dscp", 4, ((IpDscpCase) entry.getMatchEntryValue()).getIpDscp()\r
                 .getDscp().getValue().intValue());\r
+\r
         action = actions.get(9);\r
+        setFieldCase =\r
+                (org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetFieldCase) action.getActionChoice();\r
         Assert.assertEquals("Wrong action type", "org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common"\r
-                + ".action.rev130731.SetField", action.getType().getName());\r
-        entry = action.getAugmentation(OxmFieldsAction.class).getMatchEntries().get(0);\r
-        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.VlanVid.class, false);\r
-        Assert.assertEquals("Wrong vlan id", 22, entry.getAugmentation(VlanVidMatchEntry.class)\r
+                + ".action.rev150203.action.grouping.action.choice.SetFieldCase", action.getActionChoice().getImplementedInterface().getName());\r
+        entry = setFieldCase.getSetFieldAction().getMatchEntry().get(0);\r
+        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.VlanVid.class, false);\r
+        Assert.assertEquals("Wrong vlan id", 22, ((VlanVidCase) entry.getMatchEntryValue()).getVlanVid()\r
                 .getVlanVid().intValue());\r
-        Assert.assertEquals("Wrong cfi bit", true, entry.getAugmentation(VlanVidMatchEntry.class)\r
+        Assert.assertEquals("Wrong cfi bit", true, ((VlanVidCase) entry.getMatchEntryValue()).getVlanVid()\r
                 .isCfiBit());\r
+\r
         action = actions.get(10);\r
+        setFieldCase =\r
+                (org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetFieldCase) action.getActionChoice();\r
         Assert.assertEquals("Wrong action type", "org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common"\r
-                + ".action.rev130731.SetField", action.getType().getName());\r
-        entry = action.getAugmentation(OxmFieldsAction.class).getMatchEntries().get(0);\r
-        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Ipv6Src.class, false);\r
+                + ".action.rev150203.action.grouping.action.choice.SetFieldCase", action.getActionChoice().getImplementedInterface().getName());\r
+        entry = setFieldCase.getSetFieldAction().getMatchEntry().get(0);\r
+        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Ipv6Src.class, false);\r
         Assert.assertEquals("Wrong ipv4 src", "0000:0000:0000:0000:0000:0000:0000:0005",\r
-                entry.getAugmentation(Ipv6AddressMatchEntry.class).getIpv6Address().getValue());\r
+                ((Ipv6SrcCase) entry.getMatchEntryValue()).getIpv6Src().getIpv6Address().getValue());\r
+\r
         action = actions.get(11);\r
+        setFieldCase =\r
+                (org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetFieldCase) action.getActionChoice();\r
         Assert.assertEquals("Wrong action type", "org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common"\r
-                + ".action.rev130731.SetField", action.getType().getName());\r
-        entry = action.getAugmentation(OxmFieldsAction.class).getMatchEntries().get(0);\r
-        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.Ipv6Dst.class, false);\r
+                + ".action.rev150203.action.grouping.action.choice.SetFieldCase", action.getActionChoice().getImplementedInterface().getName());\r
+        entry = setFieldCase.getSetFieldAction().getMatchEntry().get(0);\r
+        checkEntryHeader(entry, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Ipv6Dst.class, false);\r
         Assert.assertEquals("Wrong ipv4 dst", "0000:0000:0000:0000:0000:0000:0000:0008",\r
-                entry.getAugmentation(Ipv6AddressMatchEntry.class).getIpv6Address().getValue());\r
+                ((Ipv6DstCase) entry.getMatchEntryValue()).getIpv6Dst().getIpv6Address().getValue());\r
     }\r
 \r
-    private static void checkEntryHeader(MatchEntries entry, Class<? extends MatchField> field, boolean hasMask) {\r
+    private static void checkEntryHeader(MatchEntry entry, Class<? extends MatchField> field, boolean hasMask) {\r
         Assert.assertEquals("Wrong oxm class", OpenflowBasicClass.class, entry.getOxmClass());\r
         Assert.assertEquals("Wrong oxm field", field, entry.getOxmMatchField());\r
         Assert.assertEquals("Wrong hasMask", hasMask, entry.isHasMask());\r