Bump upstreams for 2022.09 Chlorine
[openflowplugin.git] / openflowplugin / src / test / java / org / opendaylight / openflowplugin / openflow / md / core / sal / convertor / TableFeaturesResponseConvertorTest.java
index 8d97e1e0b651a177d9fcde1e3558c8e59c811c49..a5e76bcf29bd82f2b1046a57478c9910537589ed 100644 (file)
@@ -5,12 +5,12 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.openflowplugin.openflow.md.core.sal.convertor;
 
-import java.math.BigInteger;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.Collections;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Optional;
 import org.junit.Assert;
@@ -19,16 +19,12 @@ import org.junit.Test;
 import org.opendaylight.openflowplugin.api.OFConstants;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionConvertorData;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.ActionRelatedTableFeatureProperty;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.ActionRelatedTableFeaturePropertyBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.InstructionRelatedTableFeatureProperty;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.InstructionRelatedTableFeaturePropertyBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.NextTableRelatedTableFeatureProperty;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.NextTableRelatedTableFeaturePropertyBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.OxmRelatedTableFeatureProperty;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.OxmRelatedTableFeaturePropertyBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.table.features.properties.container.table.feature.properties.NextTableIds;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.table.features.properties.container.table.feature.properties.NextTableIdsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.next.table.related.table.feature.property.NextTableIds;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.next.table.related.table.feature.property.NextTableIdsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.CopyTtlInCase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.CopyTtlInCaseBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.CopyTtlOutCase;
@@ -105,6 +101,10 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table
 import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.WriteSetfield;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.WriteSetfieldMiss;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.features.TableFeatures;
+import org.opendaylight.yangtools.yang.common.Uint16;
+import org.opendaylight.yangtools.yang.common.Uint32;
+import org.opendaylight.yangtools.yang.common.Uint64;
+import org.opendaylight.yangtools.yang.common.Uint8;
 
 /**
  * Unit tests for table features response conversions.
@@ -144,14 +144,14 @@ public class TableFeaturesResponseConvertorTest {
     @Test
     public void testWithMPTableFeature() {
         TableFeaturesBuilder featuresBuilder = new TableFeaturesBuilder();
-        featuresBuilder.setTableId((short) 5);
+        featuresBuilder.setTableId(Uint8.valueOf(5));
         featuresBuilder.setName("Aloha");
         byte[] metaMatch = new byte[]{0, 1, 2, 3, 4, 5, 6, 7};
         featuresBuilder.setMetadataMatch(metaMatch);
         byte[] metaWrite = new byte[]{8, 9, 10, 11, 12, 13, 14, 15};
         featuresBuilder.setMetadataWrite(metaWrite);
         featuresBuilder.setConfig(new TableConfig(false));
-        featuresBuilder.setMaxEntries(42L);
+        featuresBuilder.setMaxEntries(Uint32.valueOf(42));
 
         List<org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart
             .reply.multipart.reply.body.multipart.reply.table.features._case.multipart.reply.table.features
@@ -165,11 +165,11 @@ public class TableFeaturesResponseConvertorTest {
         TableFeatures feature = list.get(0);
         Assert.assertEquals("Wrong table-id", 5, feature.getTableId().intValue());
         Assert.assertEquals("Wrong name", "Aloha", feature.getName());
-        Assert.assertEquals("Wrong metadata match", new BigInteger(1, metaMatch), feature.getMetadataMatch());
-        Assert.assertEquals("Wrong metadata write", new BigInteger(1, metaWrite), feature.getMetadataWrite());
-        Assert.assertEquals("Wrong config", false, feature.getConfig().isDEPRECATEDMASK());
+        Assert.assertEquals("Wrong metadata match", Uint64.valueOf("0001020304050607", 16), feature.getMetadataMatch());
+        Assert.assertEquals("Wrong metadata write", Uint64.valueOf("08090A0B0C0D0E0F", 16), feature.getMetadataWrite());
+        Assert.assertEquals("Wrong config", false, feature.getConfig().getDEPRECATEDMASK());
         Assert.assertEquals("Wrong max-entries", 42, feature.getMaxEntries().intValue());
-        Assert.assertEquals("Wrong properties", 0, feature.getTableProperties().getTableFeatureProperties().size());
+        Assert.assertEquals("Wrong properties", 0, feature.getTableProperties().nonnullTableFeatureProperties().size());
     }
 
     /**
@@ -178,36 +178,29 @@ public class TableFeaturesResponseConvertorTest {
     @Test
     public void testWithMPTableFeatureWithProperties() {
         TableFeaturesBuilder featuresBuilder = new TableFeaturesBuilder();
-        featuresBuilder.setTableId((short) 5);
+        featuresBuilder.setTableId(Uint8.valueOf(5));
         featuresBuilder.setName("Aloha");
-        byte[] metaMatch = new byte[]{0, 1, 2, 3, 4, 5, 6, 7};
-        featuresBuilder.setMetadataMatch(metaMatch);
-        byte[] metaWrite = new byte[]{8, 9, 10, 11, 12, 13, 14, 15};
-        featuresBuilder.setMetadataWrite(metaWrite);
+        featuresBuilder.setMetadataMatch(new byte[]{0, 1, 2, 3, 4, 5, 6, 7});
+        featuresBuilder.setMetadataWrite(new byte[]{8, 9, 10, 11, 12, 13, 14, 15});
         featuresBuilder.setConfig(new TableConfig(false));
-        featuresBuilder.setMaxEntries(42L);
+        featuresBuilder.setMaxEntries(Uint32.valueOf(42));
 
         TableFeaturePropertiesBuilder propBuilder = new TableFeaturePropertiesBuilder();
 
         propBuilder.setType(TableFeaturesPropType.OFPTFPTNEXTTABLES);
-        NextTableRelatedTableFeaturePropertyBuilder nextPropBuilder =
-                new NextTableRelatedTableFeaturePropertyBuilder();
         List<NextTableIds> nextIds = new ArrayList<>();
-        nextIds.add(new NextTableIdsBuilder().setTableId((short) 1).build());
-        nextIds.add(new NextTableIdsBuilder().setTableId((short) 2).build());
-        nextPropBuilder.setNextTableIds(nextIds);
-        propBuilder.addAugmentation(NextTableRelatedTableFeatureProperty.class, nextPropBuilder.build());
+        nextIds.add(new NextTableIdsBuilder().setTableId(Uint8.ONE).build());
+        nextIds.add(new NextTableIdsBuilder().setTableId(Uint8.TWO).build());
+        propBuilder.addAugmentation(new NextTableRelatedTableFeaturePropertyBuilder().setNextTableIds(nextIds).build());
 
         List<TableFeatureProperties> properties = new ArrayList<>();
         properties.add(propBuilder.build());
         propBuilder = new TableFeaturePropertiesBuilder();
 
         propBuilder.setType(TableFeaturesPropType.OFPTFPTNEXTTABLESMISS);
-        nextPropBuilder = new NextTableRelatedTableFeaturePropertyBuilder();
         nextIds = new ArrayList<>();
-        nextIds.add(new NextTableIdsBuilder().setTableId((short) 3).build());
-        nextPropBuilder.setNextTableIds(nextIds);
-        propBuilder.addAugmentation(NextTableRelatedTableFeatureProperty.class, nextPropBuilder.build());
+        nextIds.add(new NextTableIdsBuilder().setTableId(Uint8.valueOf(3)).build());
+        propBuilder.addAugmentation(new NextTableRelatedTableFeaturePropertyBuilder().setNextTableIds(nextIds).build());
         properties.add(propBuilder.build());
         propBuilder = new TableFeaturePropertiesBuilder();
 
@@ -240,17 +233,13 @@ public class TableFeaturesResponseConvertorTest {
         insBuilder.setInstructionChoice(gotoCaseBuilder.build());
         insIds.add(insBuilder.build());
 
-        InstructionRelatedTableFeaturePropertyBuilder insPropBuilder =
-                new InstructionRelatedTableFeaturePropertyBuilder();
-        insPropBuilder.setInstruction(insIds);
-        propBuilder.addAugmentation(InstructionRelatedTableFeatureProperty.class, insPropBuilder.build());
+        propBuilder.addAugmentation(new InstructionRelatedTableFeaturePropertyBuilder().setInstruction(insIds).build());
         properties.add(propBuilder.build());
 
          /* -------------------------------------------------- */
 
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTINSTRUCTIONSMISS);
-        insPropBuilder = new InstructionRelatedTableFeaturePropertyBuilder();
         insIds = new ArrayList<>();
         insBuilder = new InstructionBuilder();
         WriteMetadataCaseBuilder writeMetadataCaseBuilder = new WriteMetadataCaseBuilder();
@@ -287,8 +276,7 @@ public class TableFeaturesResponseConvertorTest {
         insBuilder.setInstructionChoice(gotoCaseBuilder2.build());
         insIds.add(insBuilder.build());
 
-        insPropBuilder.setInstruction(insIds);
-        propBuilder.addAugmentation(InstructionRelatedTableFeatureProperty.class, insPropBuilder.build());
+        propBuilder.addAugmentation(new InstructionRelatedTableFeaturePropertyBuilder().setInstruction(insIds).build());
         properties.add(propBuilder.build());
         featuresBuilder.setTableFeatureProperties(properties);
 
@@ -297,14 +285,12 @@ public class TableFeaturesResponseConvertorTest {
                 .TableFeatures> features = new ArrayList<>();
         features.add(featuresBuilder.build());
         featuresBuilder = new TableFeaturesBuilder();
-        featuresBuilder.setTableId((short) 6);
+        featuresBuilder.setTableId(Uint8.valueOf(6));
         featuresBuilder.setName("Mahalo");
-        byte[] metaMatch2 = new byte[]{8, 9, 10, 11, 12, 13, 14, 15};
-        featuresBuilder.setMetadataMatch(metaMatch2);
-        byte[] metaWrite2 = new byte[]{0, 1, 2, 3, 4, 5, 6, 7};
-        featuresBuilder.setMetadataWrite(metaWrite2);
+        featuresBuilder.setMetadataMatch(new byte[]{8, 9, 10, 11, 12, 13, 14, 15});
+        featuresBuilder.setMetadataWrite(new byte[]{0, 1, 2, 3, 4, 5, 6, 7});
         featuresBuilder.setConfig(new TableConfig(false));
-        featuresBuilder.setMaxEntries(24L);
+        featuresBuilder.setMaxEntries(Uint32.valueOf(24));
 
         /* -------------------------------------------------- */
 
@@ -312,126 +298,114 @@ public class TableFeaturesResponseConvertorTest {
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTMATCH);
         MatchEntryBuilder entriesBuilder = new MatchEntryBuilder();
-        entriesBuilder.setOxmClass(OpenflowBasicClass.class);
-        entriesBuilder.setOxmMatchField(InPhyPort.class);
+        entriesBuilder.setOxmClass(OpenflowBasicClass.VALUE);
+        entriesBuilder.setOxmMatchField(InPhyPort.VALUE);
         entriesBuilder.setHasMask(false);
 
         List<MatchEntry> entries = new ArrayList<>();
         entries.add(entriesBuilder.build());
         entriesBuilder = new MatchEntryBuilder();
-        entriesBuilder.setOxmClass(OpenflowBasicClass.class);
-        entriesBuilder.setOxmMatchField(InPort.class);
+        entriesBuilder.setOxmClass(OpenflowBasicClass.VALUE);
+        entriesBuilder.setOxmMatchField(InPort.VALUE);
         entriesBuilder.setHasMask(false);
         entries.add(entriesBuilder.build());
 
-        OxmRelatedTableFeaturePropertyBuilder oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();
-        oxmBuilder.setMatchEntry(entries);
-        propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());
+        propBuilder.addAugmentation(new OxmRelatedTableFeaturePropertyBuilder().setMatchEntry(entries).build());
         properties.add(propBuilder.build()); //[0]
 
         /* -------------------------------------------------- */
 
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTAPPLYSETFIELD);
-        oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();
         entries = new ArrayList<>();
         entriesBuilder = new MatchEntryBuilder();
-        entriesBuilder.setOxmClass(OpenflowBasicClass.class);
-        entriesBuilder.setOxmMatchField(IpProto.class);
+        entriesBuilder.setOxmClass(OpenflowBasicClass.VALUE);
+        entriesBuilder.setOxmMatchField(IpProto.VALUE);
         entriesBuilder.setHasMask(false);
         entries.add(entriesBuilder.build());
         entriesBuilder = new MatchEntryBuilder();
-        entriesBuilder.setOxmClass(OpenflowBasicClass.class);
-        entriesBuilder.setOxmMatchField(IpEcn.class);
+        entriesBuilder.setOxmClass(OpenflowBasicClass.VALUE);
+        entriesBuilder.setOxmMatchField(IpEcn.VALUE);
         entriesBuilder.setHasMask(false);
         entries.add(entriesBuilder.build());
-        oxmBuilder.setMatchEntry(entries);
-        propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());
+        propBuilder.addAugmentation(new OxmRelatedTableFeaturePropertyBuilder().setMatchEntry(entries).build());
         properties.add(propBuilder.build());//[1]
 
         /* -------------------------------------------------- */
 
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTWRITESETFIELD);
-        oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();
         entries = new ArrayList<>();
         entriesBuilder = new MatchEntryBuilder();
-        entriesBuilder.setOxmClass(OpenflowBasicClass.class);
-        entriesBuilder.setOxmMatchField(Ipv6Exthdr.class);
+        entriesBuilder.setOxmClass(OpenflowBasicClass.VALUE);
+        entriesBuilder.setOxmMatchField(Ipv6Exthdr.VALUE);
         entriesBuilder.setHasMask(false);
         entries.add(entriesBuilder.build());
         entriesBuilder = new MatchEntryBuilder();
-        entriesBuilder.setOxmClass(OpenflowBasicClass.class);
-        entriesBuilder.setOxmMatchField(VlanVid.class);
+        entriesBuilder.setOxmClass(OpenflowBasicClass.VALUE);
+        entriesBuilder.setOxmMatchField(VlanVid.VALUE);
         entriesBuilder.setHasMask(false);
         entries.add(entriesBuilder.build());
-        oxmBuilder.setMatchEntry(entries);
-        propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());
+        propBuilder.addAugmentation(new OxmRelatedTableFeaturePropertyBuilder().setMatchEntry(entries).build());
         properties.add(propBuilder.build());//[2]
 
         /* -------------------------------------------------- */
 
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTWRITESETFIELDMISS);
-        oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();
         entries = new ArrayList<>();
         entriesBuilder = new MatchEntryBuilder();
-        entriesBuilder.setOxmClass(OpenflowBasicClass.class);
-        entriesBuilder.setOxmMatchField(VlanPcp.class);
+        entriesBuilder.setOxmClass(OpenflowBasicClass.VALUE);
+        entriesBuilder.setOxmMatchField(VlanPcp.VALUE);
         entriesBuilder.setHasMask(false);
         entries.add(entriesBuilder.build());
         entriesBuilder = new MatchEntryBuilder();
-        entriesBuilder.setOxmClass(OpenflowBasicClass.class);
-        entriesBuilder.setOxmMatchField(TcpSrc.class);
+        entriesBuilder.setOxmClass(OpenflowBasicClass.VALUE);
+        entriesBuilder.setOxmMatchField(TcpSrc.VALUE);
         entriesBuilder.setHasMask(false);
         entries.add(entriesBuilder.build());
-        oxmBuilder.setMatchEntry(entries);
-        propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());
+        propBuilder.addAugmentation(new OxmRelatedTableFeaturePropertyBuilder().setMatchEntry(entries).build());
         properties.add(propBuilder.build());//[3]
 
         /* -------------------------------------------------- */
 
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTAPPLYSETFIELDMISS);
-        oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();
         entries = new ArrayList<>();
         entriesBuilder = new MatchEntryBuilder();
-        entriesBuilder.setOxmClass(OpenflowBasicClass.class);
-        entriesBuilder.setOxmMatchField(UdpSrc.class);
+        entriesBuilder.setOxmClass(OpenflowBasicClass.VALUE);
+        entriesBuilder.setOxmMatchField(UdpSrc.VALUE);
         entriesBuilder.setHasMask(false);
         entries.add(entriesBuilder.build());
 
         entriesBuilder = new MatchEntryBuilder();
-        entriesBuilder.setOxmClass(OpenflowBasicClass.class);
-        entriesBuilder.setOxmMatchField(UdpDst.class);
+        entriesBuilder.setOxmClass(OpenflowBasicClass.VALUE);
+        entriesBuilder.setOxmMatchField(UdpDst.VALUE);
         entriesBuilder.setHasMask(false);
         entries.add(entriesBuilder.build());
 
-        oxmBuilder.setMatchEntry(entries);
-        propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());
+        propBuilder.addAugmentation(new OxmRelatedTableFeaturePropertyBuilder().setMatchEntry(entries).build());
         properties.add(propBuilder.build());//[4]
 
         /* -------------------------------------------------- */
 
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTWILDCARDS);
-        oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();
         entries = new ArrayList<>();
 
         entriesBuilder = new MatchEntryBuilder();
-        entriesBuilder.setOxmClass(OpenflowBasicClass.class);
-        entriesBuilder.setOxmMatchField(EthSrc.class);
+        entriesBuilder.setOxmClass(OpenflowBasicClass.VALUE);
+        entriesBuilder.setOxmMatchField(EthSrc.VALUE);
         entriesBuilder.setHasMask(false);
         entries.add(entriesBuilder.build());
 
         entriesBuilder = new MatchEntryBuilder();
-        entriesBuilder.setOxmClass(OpenflowBasicClass.class);
-        entriesBuilder.setOxmMatchField(EthDst.class);
+        entriesBuilder.setOxmClass(OpenflowBasicClass.VALUE);
+        entriesBuilder.setOxmMatchField(EthDst.VALUE);
         entriesBuilder.setHasMask(false);
         entries.add(entriesBuilder.build());
 
-        oxmBuilder.setMatchEntry(entries);
-        propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());
+        propBuilder.addAugmentation(new OxmRelatedTableFeaturePropertyBuilder().setMatchEntry(entries).build());
         properties.add(propBuilder.build());//[5]
 
         /* -------------------------------------------------- */
@@ -452,16 +426,13 @@ public class TableFeaturesResponseConvertorTest {
         actionBuilder.setActionChoice(createSetNwSrcAction());
         actions.add(actionBuilder.build());
 
-        ActionRelatedTableFeaturePropertyBuilder actBuilder = new ActionRelatedTableFeaturePropertyBuilder();
-        actBuilder.setAction(actions);
-        propBuilder.addAugmentation(ActionRelatedTableFeatureProperty.class, actBuilder.build());
+        propBuilder.addAugmentation(new ActionRelatedTableFeaturePropertyBuilder().setAction(actions).build());
         properties.add(propBuilder.build());//[6]
 
         /* -------------------------------------------------- */
 
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTAPPLYACTIONSMISS);
-        actBuilder = new ActionRelatedTableFeaturePropertyBuilder();
 
         actions = new ArrayList<>();
         actionBuilder = new ActionBuilder();
@@ -475,14 +446,12 @@ public class TableFeaturesResponseConvertorTest {
         actionBuilder = new ActionBuilder();
         actionBuilder.setActionChoice(createCopyTtlOutCase());
         actions.add(actionBuilder.build());
-        actBuilder.setAction(actions);
-        propBuilder.addAugmentation(ActionRelatedTableFeatureProperty.class, actBuilder.build());
+        propBuilder.addAugmentation(new ActionRelatedTableFeaturePropertyBuilder().setAction(actions).build());
         properties.add(propBuilder.build());//[7]
 
         /* -------------------------------------------------- */
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTWRITEACTIONS);
-        actBuilder = new ActionRelatedTableFeaturePropertyBuilder();
 
         actions = new ArrayList<>();
         actionBuilder = new ActionBuilder();
@@ -496,16 +465,14 @@ public class TableFeaturesResponseConvertorTest {
         actionBuilder = new ActionBuilder();
         actionBuilder.setActionChoice(pushVlanCase());
         actions.add(actionBuilder.build());
-        actBuilder.setAction(actions);
 
-        propBuilder.addAugmentation(ActionRelatedTableFeatureProperty.class, actBuilder.build());
+        propBuilder.addAugmentation(new ActionRelatedTableFeaturePropertyBuilder().setAction(actions).build());
         properties.add(propBuilder.build());
 
         /* -------------------------------------------------- */
 
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTWRITEACTIONSMISS);
-        actBuilder = new ActionRelatedTableFeaturePropertyBuilder();
 
         actions = new ArrayList<>();
         actionBuilder = new ActionBuilder();
@@ -519,25 +486,22 @@ public class TableFeaturesResponseConvertorTest {
         actionBuilder = new ActionBuilder();
         actionBuilder.setActionChoice(createEmptySetFieldCase());
         actions.add(actionBuilder.build());
-        actBuilder.setAction(actions);
 
-        propBuilder.addAugmentation(ActionRelatedTableFeatureProperty.class, actBuilder.build());
+        propBuilder.addAugmentation(new ActionRelatedTableFeaturePropertyBuilder().setAction(actions).build());
         properties.add(propBuilder.build());
 
         /* -------------------------------------------------- */
 
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTEXPERIMENTER);
-        oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();
-        propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());
+        propBuilder.addAugmentation(new OxmRelatedTableFeaturePropertyBuilder().build());
         properties.add(propBuilder.build());
 
         /* -------------------------------------------------- */
 
         propBuilder = new TableFeaturePropertiesBuilder();
         propBuilder.setType(TableFeaturesPropType.OFPTFPTEXPERIMENTERMISS);
-        oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();
-        propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());
+        propBuilder.addAugmentation(new OxmRelatedTableFeaturePropertyBuilder().build());
         properties.add(propBuilder.build());
 
         /* -------------------------------------------------- */
@@ -554,23 +518,24 @@ public class TableFeaturesResponseConvertorTest {
         TableFeatures feature = list.get(0);
         Assert.assertEquals("Wrong table-id", 5, feature.getTableId().intValue());
         Assert.assertEquals("Wrong name", "Aloha", feature.getName());
-        Assert.assertEquals("Wrong metadata match", new BigInteger(1, metaMatch), feature.getMetadataMatch());
-        Assert.assertEquals("Wrong metadata write", new BigInteger(1, metaWrite), feature.getMetadataWrite());
-        Assert.assertEquals("Wrong config", false, feature.getConfig().isDEPRECATEDMASK());
+        Assert.assertEquals("Wrong metadata match", Uint64.valueOf("0001020304050607", 16), feature.getMetadataMatch());
+        Assert.assertEquals("Wrong metadata write",Uint64.valueOf("08090A0B0C0D0E0F", 16), feature.getMetadataWrite());
+        Assert.assertEquals("Wrong config", false, feature.getConfig().getDEPRECATEDMASK());
         Assert.assertEquals("Wrong max-entries", 42, feature.getMaxEntries().intValue());
-        Assert.assertEquals("Wrong properties", 4, feature.getTableProperties().getTableFeatureProperties().size());
+        Assert.assertEquals("Wrong properties", 4, feature.getTableProperties().nonnullTableFeatureProperties().size());
+
+        var featProps = feature.getTableProperties().getTableFeatureProperties().values().iterator();
         org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.features.table.features.table
-            .properties.TableFeatureProperties property = feature.getTableProperties().getTableFeatureProperties()
-                .get(0);
+            .properties.TableFeatureProperties property = featProps.next();
         Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types."
             + "rev131026.table.feature.prop.type.table.feature.prop.type.NextTable",
                 property.getTableFeaturePropType().implementedInterface().getName());
         NextTable propType = (NextTable) property.getTableFeaturePropType();
-        List<Short> ids = propType.getTables().getTableIds();
+        List<Uint8> ids = propType.getTables().getTableIds();
         Assert.assertEquals("Wrong next table-id size", 2, ids.size());
         Assert.assertEquals("Wrong next-registry-id", 1, ids.get(0).intValue());
         Assert.assertEquals("Wrong next-registry-id", 2, ids.get(1).intValue());
-        property = feature.getTableProperties().getTableFeatureProperties().get(1);
+        property = featProps.next();
         Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types."
             + "rev131026.table.feature.prop.type.table.feature.prop.type.NextTableMiss",
                 property.getTableFeaturePropType().implementedInterface().getName());
@@ -579,167 +544,166 @@ public class TableFeaturesResponseConvertorTest {
         Assert.assertEquals("Wrong next table-id size", 1, ids.size());
         Assert.assertEquals("Wrong next-registry-id", 3, ids.get(0).intValue());
 
-        property = feature.getTableProperties().getTableFeatureProperties().get(2);
+        property = featProps.next();
         Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types."
             + "rev131026.table.feature.prop.type.table.feature.prop.type.Instructions",
                 property.getTableFeaturePropType().implementedInterface().getName());
         Instructions propType3 = (Instructions) property.getTableFeaturePropType();
-        List<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list
-                .Instruction> instructionIds = propType3.getInstructions().getInstruction();
+        var instructionIds = propType3.getInstructions().nonnullInstruction().values();
         Assert.assertEquals("Wrong instruction-ids size", 2, instructionIds.size());
+        var instructionIt = instructionIds.iterator();
         Assert.assertEquals("Wrong instruction-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types."
             + "rev131026.instruction.instruction.WriteActionsCase",
-                instructionIds.get(0).getInstruction().implementedInterface().getName());
+            instructionIt.next().getInstruction().implementedInterface().getName());
         Assert.assertEquals("Wrong instruction-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types."
             + "rev131026.instruction.instruction.GoToTableCase",
-                instructionIds.get(1).getInstruction().implementedInterface().getName());
-        property = feature.getTableProperties().getTableFeatureProperties().get(3);
+            instructionIt.next().getInstruction().implementedInterface().getName());
+        property = featProps.next();
         Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types."
             + "rev131026.table.feature.prop.type.table.feature.prop.type.InstructionsMiss",
                 property.getTableFeaturePropType().implementedInterface().getName());
         InstructionsMiss propType4 = (InstructionsMiss) property.getTableFeaturePropType();
-        instructionIds = propType4.getInstructionsMiss().getInstruction();
+        instructionIds = propType4.getInstructionsMiss().nonnullInstruction().values();
         Assert.assertEquals("Wrong instruction-ids size", 5, instructionIds.size());
+        instructionIt = instructionIds.iterator();
         Assert.assertEquals("Wrong instruction-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types."
             + "rev131026.instruction.instruction.WriteMetadataCase",
-                instructionIds.get(0).getInstruction().implementedInterface().getName());
+                instructionIt.next().getInstruction().implementedInterface().getName());
         Assert.assertEquals("Wrong instruction-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types."
             + "rev131026.instruction.instruction.ApplyActionsCase",
-                instructionIds.get(1).getInstruction().implementedInterface().getName());
+                instructionIt.next().getInstruction().implementedInterface().getName());
         Assert.assertEquals("Wrong instruction-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types."
             + "rev131026.instruction.instruction.MeterCase",
-                instructionIds.get(2).getInstruction().implementedInterface().getName());
+                instructionIt.next().getInstruction().implementedInterface().getName());
         Assert.assertEquals("Wrong instruction-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types."
             + "rev131026.instruction.instruction.ClearActionsCase",
-                instructionIds.get(3).getInstruction().implementedInterface().getName());
+                instructionIt.next().getInstruction().implementedInterface().getName());
         Assert.assertEquals("Wrong instruction-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types."
             + "rev131026.instruction.instruction.GoToTableCase",
-                instructionIds.get(4).getInstruction().implementedInterface().getName());
+                instructionIt.next().getInstruction().implementedInterface().getName());
 
         feature = list.get(1);
         Assert.assertEquals("Wrong table-id", 6, feature.getTableId().intValue());
         Assert.assertEquals("Wrong name", "Mahalo", feature.getName());
-        Assert.assertEquals("Wrong metadata match", new BigInteger(1, metaMatch2), feature.getMetadataMatch());
-        Assert.assertEquals("Wrong metadata write", new BigInteger(1, metaWrite2), feature.getMetadataWrite());
-        Assert.assertEquals("Wrong config", false, feature.getConfig().isDEPRECATEDMASK());
+        Assert.assertEquals("Wrong metadata match", Uint64.valueOf("08090A0B0C0D0E0F", 16), feature.getMetadataMatch());
+        Assert.assertEquals("Wrong metadata write", Uint64.valueOf("0001020304050607", 16), feature.getMetadataWrite());
+        Assert.assertEquals("Wrong config", false, feature.getConfig().getDEPRECATEDMASK());
         Assert.assertEquals("Wrong max-entries", 24, feature.getMaxEntries().intValue());
         Assert.assertEquals("Wrong properties", 12, feature.getTableProperties().getTableFeatureProperties().size());
-        property = feature.getTableProperties().getTableFeatureProperties().get(0);
+        featProps = feature.getTableProperties().nonnullTableFeatureProperties().values().iterator();
+        property = featProps.next();
         Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types."
             + "rev131026.table.feature.prop.type.table.feature.prop.type.Match",
                 property.getTableFeaturePropType().implementedInterface().getName());
         Match propType5 = (Match) property.getTableFeaturePropType();
-        List<SetFieldMatch> fieldMatch = propType5.getMatchSetfield().getSetFieldMatch();
+        Collection<SetFieldMatch> fieldMatch = propType5.getMatchSetfield().nonnullSetFieldMatch().values();
         Assert.assertEquals("Wrong match-entry-ids size", 2, fieldMatch.size());
-        Assert.assertEquals("Wrong match-entry-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types."
-            + "rev131026.InPhyPort", fieldMatch.get(0).getMatchType().getName());
-        Assert.assertEquals("Wrong match-entry-id", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types."
-            + "rev131026.InPort", fieldMatch.get(1).getMatchType().getName());
-        property = feature.getTableProperties().getTableFeatureProperties().get(1);
+        Iterator<SetFieldMatch> fieldIt = fieldMatch.iterator();
+        Assert.assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.InPhyPort.VALUE,
+                fieldIt.next().getMatchType());
+        Assert.assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.InPort.VALUE,
+                fieldIt.next().getMatchType());
+        property = featProps.next();
         Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types."
             + "rev131026.table.feature.prop.type.table.feature.prop.type.ApplySetfield",
                 property.getTableFeaturePropType().implementedInterface().getName());
         ApplySetfield propType6 = (ApplySetfield) property.getTableFeaturePropType();
-        fieldMatch = propType6.getApplySetfield().getSetFieldMatch();
+        fieldMatch = propType6.getApplySetfield().nonnullSetFieldMatch().values();
         Assert.assertEquals("Wrong match-entry-ids size", 2, fieldMatch.size());
-        Assert.assertEquals("Wrong match-entry-id",
-                "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.IpProto",
-                fieldMatch.get(0).getMatchType().getName());
-        Assert.assertEquals("Wrong match-entry-id",
-                "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.IpEcn",
-                fieldMatch.get(1).getMatchType().getName());
-        property = feature.getTableProperties().getTableFeatureProperties().get(2);
+        fieldIt = fieldMatch.iterator();
+        Assert.assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.IpProto.VALUE,
+                fieldIt.next().getMatchType());
+        Assert.assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.IpEcn.VALUE,
+                fieldIt.next().getMatchType());
+        property = featProps.next();
         Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types."
             + "rev131026.table.feature.prop.type.table.feature.prop.type.WriteSetfield",
                 property.getTableFeaturePropType().implementedInterface().getName());
         WriteSetfield propType7 = (WriteSetfield) property.getTableFeaturePropType();
-        fieldMatch = propType7.getWriteSetfield().getSetFieldMatch();
+        fieldMatch = propType7.getWriteSetfield().nonnullSetFieldMatch().values();
         Assert.assertEquals("Wrong match-entry-ids size", 2, fieldMatch.size());
-        Assert.assertEquals("Wrong match-entry-id",
-                "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.Ipv6Exthdr",
-                fieldMatch.get(0).getMatchType().getName());
-        Assert.assertEquals("Wrong match-entry-id",
-                "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.VlanVid",
-                fieldMatch.get(1).getMatchType().getName());
-        property = feature.getTableProperties().getTableFeatureProperties().get(3);
+        fieldIt = fieldMatch.iterator();
+        Assert.assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.Ipv6Exthdr.VALUE,
+                fieldIt.next().getMatchType());
+        Assert.assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.VlanVid.VALUE,
+                fieldIt.next().getMatchType());
+        property = featProps.next();
         Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types."
             + "rev131026.table.feature.prop.type.table.feature.prop.type.WriteSetfieldMiss",
                 property.getTableFeaturePropType().implementedInterface().getName());
         WriteSetfieldMiss propType8 = (WriteSetfieldMiss) property.getTableFeaturePropType();
-        fieldMatch = propType8.getWriteSetfieldMiss().getSetFieldMatch();
+        fieldMatch = propType8.getWriteSetfieldMiss().nonnullSetFieldMatch().values();
         Assert.assertEquals("Wrong match-entry-ids size", 2, fieldMatch.size());
-        Assert.assertEquals("Wrong match-entry-id",
-                "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.VlanPcp",
-                fieldMatch.get(0).getMatchType().getName());
-        Assert.assertEquals("Wrong match-entry-id",
-                "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.TcpSrc",
-                fieldMatch.get(1).getMatchType().getName());
-        property = feature.getTableProperties().getTableFeatureProperties().get(4);
+        fieldIt = fieldMatch.iterator();
+        Assert.assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.VlanPcp.VALUE,
+                fieldIt.next().getMatchType());
+        Assert.assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.TcpSrc.VALUE,
+                fieldIt.next().getMatchType());
+        property = featProps.next();
         Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types."
             + "rev131026.table.feature.prop.type.table.feature.prop.type.ApplySetfieldMiss",
                 property.getTableFeaturePropType().implementedInterface().getName());
         ApplySetfieldMiss propType9 = (ApplySetfieldMiss) property.getTableFeaturePropType();
-        fieldMatch = propType9.getApplySetfieldMiss().getSetFieldMatch();
+        fieldMatch = propType9.getApplySetfieldMiss().nonnullSetFieldMatch().values();
         Assert.assertEquals("Wrong match-entry-ids size", 2, fieldMatch.size());
-        Assert.assertEquals("Wrong match-entry-id",
-                "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.UdpSrc",
-                fieldMatch.get(0).getMatchType().getName());
-        Assert.assertEquals("Wrong match-entry-id",
-                "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.UdpDst",
-                fieldMatch.get(1).getMatchType().getName());
-        property = feature.getTableProperties().getTableFeatureProperties().get(5);
+        fieldIt = fieldMatch.iterator();
+        Assert.assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.UdpSrc.VALUE,
+                fieldIt.next().getMatchType());
+        Assert.assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.UdpDst.VALUE,
+                fieldIt.next().getMatchType());
+        property = featProps.next();
         Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types."
             + "rev131026.table.feature.prop.type.table.feature.prop.type.Wildcards",
                 property.getTableFeaturePropType().implementedInterface().getName());
         Wildcards propType10 = (Wildcards) property.getTableFeaturePropType();
-        fieldMatch = propType10.getWildcardSetfield().getSetFieldMatch();
+        fieldMatch = propType10.getWildcardSetfield().nonnullSetFieldMatch().values();
         Assert.assertEquals("Wrong match-entry-ids size", 2, fieldMatch.size());
-        Assert.assertEquals("Wrong match-entry-id",
-                "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.EthSrc",
-                fieldMatch.get(0).getMatchType().getName());
-        Assert.assertEquals("Wrong match-entry-id",
-                "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.EthDst",
-                fieldMatch.get(1).getMatchType().getName());
-
-        property = feature.getTableProperties().getTableFeatureProperties().get(6);
+        fieldIt = fieldMatch.iterator();
+        Assert.assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.EthSrc.VALUE,
+                fieldIt.next().getMatchType());
+        Assert.assertEquals(org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.EthDst.VALUE,
+                fieldIt.next().getMatchType());
+
+        property = featProps.next();
         Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types."
             + "rev131026.table.feature.prop.type.table.feature.prop.type.ApplyActions",
                 property.getTableFeaturePropType().implementedInterface().getName());
         org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop
             .type.ApplyActions propType11 = (org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table
                     .feature.prop.type.table.feature.prop.type.ApplyActions) property.getTableFeaturePropType();
-        List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action> actionsList =
-                propType11.getApplyActions().getAction();
+        var actionsList = propType11.getApplyActions().nonnullAction().values();
         Assert.assertEquals("Wrong actions-ids size", 3, actionsList.size());
+        var actionsIt = actionsList.iterator();
         Assert.assertEquals("Wrong actions-id",
                 "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetNwSrcActionCase",
-                actionsList.get(0).getAction().implementedInterface().getName());
+                actionsIt.next().getAction().implementedInterface().getName());
         Assert.assertEquals("Wrong actions-id",
                 "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetNwSrcActionCase",
-                actionsList.get(1).getAction().implementedInterface().getName());
+                actionsIt.next().getAction().implementedInterface().getName());
         Assert.assertEquals("Wrong actions-id",
                 "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetNwSrcActionCase",
-                actionsList.get(2).getAction().implementedInterface().getName());
+                actionsIt.next().getAction().implementedInterface().getName());
 
-        property = feature.getTableProperties().getTableFeatureProperties().get(7);
+        property = featProps.next();
         Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types."
             + "rev131026.table.feature.prop.type.table.feature.prop.type.ApplyActionsMiss",
                 property.getTableFeaturePropType().implementedInterface().getName());
         org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop
             .type.ApplyActionsMiss propType12 = (org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026
                 .table.feature.prop.type.table.feature.prop.type.ApplyActionsMiss) property.getTableFeaturePropType();
-        actionsList = propType12.getApplyActionsMiss().getAction();
+        actionsList = propType12.getApplyActionsMiss().nonnullAction().values();
         Assert.assertEquals("Wrong actions-ids size", 3, actionsList.size());
+        actionsIt = actionsList.iterator();
         Assert.assertEquals("Wrong actions-id",
                 "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.GroupActionCase",
-                actionsList.get(0).getAction().implementedInterface().getName());
+                actionsIt.next().getAction().implementedInterface().getName());
         Assert.assertEquals("Wrong actions-id",
                 "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.CopyTtlInCase",
-                actionsList.get(1).getAction().implementedInterface().getName());
+                actionsIt.next().getAction().implementedInterface().getName());
         Assert.assertEquals("Wrong actions-id",
                 "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.CopyTtlOutCase",
-                actionsList.get(2).getAction().implementedInterface().getName());
-        property = feature.getTableProperties().getTableFeatureProperties().get(8);
+                actionsIt.next().getAction().implementedInterface().getName());
+        property = featProps.next();
         Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types."
             + "rev131026.table.feature.prop.type.table.feature.prop.type.WriteActions",
                 property.getTableFeaturePropType().implementedInterface().getName());
@@ -747,18 +711,19 @@ public class TableFeaturesResponseConvertorTest {
         org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop
             .type.WriteActions propType13 = (org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table
                 .feature.prop.type.table.feature.prop.type.WriteActions) property.getTableFeaturePropType();
-        actionsList = propType13.getWriteActions().getAction();
+        actionsList = propType13.getWriteActions().nonnullAction().values();
         Assert.assertEquals("Wrong actions-ids size", 3, actionsList.size());
+        actionsIt = actionsList.iterator();
         Assert.assertEquals("Wrong actions-id",
             "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetMplsTtlActionCase",
-                actionsList.get(0).getAction().implementedInterface().getName());
+                actionsIt.next().getAction().implementedInterface().getName());
         Assert.assertEquals("Wrong actions-id",
                 "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.DecMplsTtlCase",
-                actionsList.get(1).getAction().implementedInterface().getName());
+                actionsIt.next().getAction().implementedInterface().getName());
         Assert.assertEquals("Wrong actions-id",
                 "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.PushVlanActionCase",
-                actionsList.get(2).getAction().implementedInterface().getName());
-        property = feature.getTableProperties().getTableFeatureProperties().get(9);
+                actionsIt.next().getAction().implementedInterface().getName());
+        property = featProps.next();
         Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types."
             + "rev131026.table.feature.prop.type.table.feature.prop.type.WriteActionsMiss",
                 property.getTableFeaturePropType().implementedInterface().getName());
@@ -766,17 +731,18 @@ public class TableFeaturesResponseConvertorTest {
         org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop
             .type.WriteActionsMiss propType14 = (org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026
                 .table.feature.prop.type.table.feature.prop.type.WriteActionsMiss) property.getTableFeaturePropType();
-        actionsList = propType14.getWriteActionsMiss().getAction();
+        actionsList = propType14.getWriteActionsMiss().nonnullAction().values();
         Assert.assertEquals("Wrong actions-ids size", 3, actionsList.size());
+        actionsIt = actionsList.iterator();
         Assert.assertEquals("Wrong actions-id",
                 "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.PopVlanActionCase",
-                actionsList.get(0).getAction().implementedInterface().getName());
+                actionsIt.next().getAction().implementedInterface().getName());
         Assert.assertEquals("Wrong actions-id",
                 "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.PushPbbActionCase",
-                actionsList.get(1).getAction().implementedInterface().getName());
+                actionsIt.next().getAction().implementedInterface().getName());
         Assert.assertEquals("Wrong actions-id",
                 "org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetFieldCase",
-                actionsList.get(2).getAction().implementedInterface().getName());
+                actionsIt.next().getAction().implementedInterface().getName());
     }
 
     private static SetNwSrcCase createSetNwSrcAction() {
@@ -792,7 +758,7 @@ public class TableFeaturesResponseConvertorTest {
     private static GroupCase createGroupAction() {
         final GroupCaseBuilder groupCaseBuilder = new GroupCaseBuilder();
         final GroupActionBuilder groupActionBuilder = new GroupActionBuilder();
-        groupActionBuilder.setGroupId(42L);
+        groupActionBuilder.setGroupId(Uint32.valueOf(42));
         groupCaseBuilder.setGroupAction(groupActionBuilder.build());
         return groupCaseBuilder.build();
     }
@@ -810,7 +776,7 @@ public class TableFeaturesResponseConvertorTest {
     private static SetMplsTtlCase createSetMplsTtlCase() {
         SetMplsTtlCaseBuilder setMplsTtlCaseBuilder = new SetMplsTtlCaseBuilder();
         SetMplsTtlActionBuilder setMplsTtlActionBuilder = new SetMplsTtlActionBuilder();
-        setMplsTtlActionBuilder.setMplsTtl((short) 42);
+        setMplsTtlActionBuilder.setMplsTtl(Uint8.valueOf(42));
         setMplsTtlCaseBuilder.setSetMplsTtlAction(setMplsTtlActionBuilder.build());
         return setMplsTtlCaseBuilder.build();
     }
@@ -823,7 +789,7 @@ public class TableFeaturesResponseConvertorTest {
     private static PushVlanCase pushVlanCase() {
         PushVlanCaseBuilder pushVlanCaseBuilder = new PushVlanCaseBuilder();
         PushVlanActionBuilder pushVlanActionBuilder = new PushVlanActionBuilder();
-        pushVlanActionBuilder.setEthertype(new EtherType(1));
+        pushVlanActionBuilder.setEthertype(new EtherType(Uint16.ONE));
         pushVlanCaseBuilder.setPushVlanAction(pushVlanActionBuilder.build());
         return pushVlanCaseBuilder.build();
     }
@@ -836,7 +802,7 @@ public class TableFeaturesResponseConvertorTest {
     private static PushPbbCase createPushPbbCase() {
         PushPbbCaseBuilder pushPbbCaseBuilder = new PushPbbCaseBuilder();
         PushPbbActionBuilder pushPbbActionBuilder = new PushPbbActionBuilder();
-        pushPbbActionBuilder.setEthertype(new EtherType(1));
+        pushPbbActionBuilder.setEthertype(new EtherType(Uint16.ONE));
         pushPbbCaseBuilder.setPushPbbAction(pushPbbActionBuilder.build());
         return pushPbbCaseBuilder.build();
     }
@@ -854,7 +820,7 @@ public class TableFeaturesResponseConvertorTest {
     }
 
 
-    private List<TableFeatures> convert(MultipartReplyTableFeatures features) {
+    private List<TableFeatures> convert(final MultipartReplyTableFeatures features) {
         Optional<List<TableFeatures>> listOptional =
                 convertorManager.convert(features, new VersionConvertorData(OFConstants.OFP_VERSION_1_3));
         return listOptional.orElse(Collections.emptyList());