BUG-2794: incorporate ofjava instruction changes
[openflowplugin.git] / openflowplugin / src / test / java / org / opendaylight / openflowplugin / openflow / md / core / sal / convertor / TableFeaturesReplyConvertorTest.java
index 1e8f7f4de89c6eb0116b120c2cbca6a1cef99939..099fcc961d5f19ea73f52067b29bb3d7ce3aa94b 100644 (file)
@@ -8,6 +8,10 @@
 \r
 package org.opendaylight.openflowplugin.openflow.md.core.sal.convertor;\r
 \r
+import java.math.BigInteger;\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
 import org.junit.Assert;\r
 import org.junit.Test;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;\r
@@ -49,12 +53,17 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev1
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.set.nw.src._case.SetNwSrcActionBuilder;\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.instruction.rev130731.ApplyActions;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.ClearActions;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.GotoTable;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.Meter;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.WriteActions;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.WriteMetadata;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.instruction.grouping.instruction.choice.ApplyActionsCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.instruction.grouping.instruction.choice.ClearActionsCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.instruction.grouping.instruction.choice.GotoTableCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.instruction.grouping.instruction.choice.MeterCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.instruction.grouping.instruction.choice.WriteActionsCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.instruction.grouping.instruction.choice.WriteMetadataCaseBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.instruction.grouping.instruction.choice._goto.table._case.GotoTableBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.instruction.grouping.instruction.choice.apply.actions._case.ApplyActionsBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.instruction.grouping.instruction.choice.meter._case.MeterBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.instruction.grouping.instruction.choice.write.actions._case.WriteActionsBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.instruction.grouping.instruction.choice.write.metadata._case.WriteMetadataBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.instructions.grouping.Instruction;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.instruction.rev130731.instructions.grouping.InstructionBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.EtherType;\r
@@ -91,9 +100,6 @@ 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;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.WriteSetfieldMiss;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.features.TableFeatures;\r
-import java.math.BigInteger;\r
-import java.util.ArrayList;\r
-import java.util.List;\r
 \r
 /**\r
  * @author michal.polkorab\r
@@ -160,6 +166,7 @@ public class TableFeaturesReplyConvertorTest {
         List<org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart\r
                 .reply.multipart.reply.body.multipart.reply.table.features._case.multipart.reply.table.features\r
                 .TableFeatures> features = new ArrayList<>();\r
+\r
         TableFeaturesBuilder featuresBuilder = new TableFeaturesBuilder();\r
         featuresBuilder.setTableId((short) 5);\r
         featuresBuilder.setName("Aloha");\r
@@ -169,8 +176,10 @@ public class TableFeaturesReplyConvertorTest {
         featuresBuilder.setMetadataWrite(metaWrite);\r
         featuresBuilder.setConfig(new TableConfig(false));\r
         featuresBuilder.setMaxEntries(42L);\r
+\r
         List<TableFeatureProperties> properties = new ArrayList<>();\r
         TableFeaturePropertiesBuilder propBuilder = new TableFeaturePropertiesBuilder();\r
+\r
         propBuilder.setType(TableFeaturesPropType.OFPTFPTNEXTTABLES);\r
         NextTableRelatedTableFeaturePropertyBuilder nextPropBuilder =\r
                 new NextTableRelatedTableFeaturePropertyBuilder();\r
@@ -181,6 +190,7 @@ public class TableFeaturesReplyConvertorTest {
         propBuilder.addAugmentation(NextTableRelatedTableFeatureProperty.class, nextPropBuilder.build());\r
         properties.add(propBuilder.build());\r
         propBuilder = new TableFeaturePropertiesBuilder();\r
+\r
         propBuilder.setType(TableFeaturesPropType.OFPTFPTNEXTTABLESMISS);\r
         nextPropBuilder = new NextTableRelatedTableFeaturePropertyBuilder();\r
         nextIds = new ArrayList<>();\r
@@ -189,38 +199,79 @@ public class TableFeaturesReplyConvertorTest {
         propBuilder.addAugmentation(NextTableRelatedTableFeatureProperty.class, nextPropBuilder.build());\r
         properties.add(propBuilder.build());\r
         propBuilder = new TableFeaturePropertiesBuilder();\r
+\r
         propBuilder.setType(TableFeaturesPropType.OFPTFPTINSTRUCTIONS);\r
         InstructionRelatedTableFeaturePropertyBuilder insPropBuilder =\r
                 new InstructionRelatedTableFeaturePropertyBuilder();\r
+\r
+         /* -------------------------------------------------- */\r
+\r
+        List<Action> actions = new ArrayList<>();\r
         List<Instruction> insIds = new ArrayList<>();\r
         InstructionBuilder insBuilder = new InstructionBuilder();\r
-        insBuilder.setType(WriteActions.class);\r
+        WriteActionsCaseBuilder writeActionsCaseBuilder = new WriteActionsCaseBuilder();\r
+        WriteActionsBuilder writeActionsBuilder = new WriteActionsBuilder();\r
+        ActionBuilder actionBuilder = new ActionBuilder();\r
+        actionBuilder.setActionChoice(createSetNwSrcAction());\r
+        actions.add(actionBuilder.build());\r
+        writeActionsBuilder.setAction(actions);\r
+        writeActionsCaseBuilder.setWriteActions(writeActionsBuilder.build());\r
+        insBuilder.setInstructionChoice(writeActionsCaseBuilder.build());\r
         insIds.add(insBuilder.build());\r
+        \r
+         /* -------------------------------------------------- */\r
+\r
         insBuilder = new InstructionBuilder();\r
-        insBuilder.setType(GotoTable.class);\r
+        GotoTableCaseBuilder gotoCaseBuilder = new GotoTableCaseBuilder();\r
+        GotoTableBuilder gotoTableBuilder = new GotoTableBuilder();\r
+        gotoCaseBuilder.setGotoTable(gotoTableBuilder.build());\r
+        insBuilder.setInstructionChoice(gotoCaseBuilder.build());\r
         insIds.add(insBuilder.build());\r
         insPropBuilder.setInstruction(insIds);\r
         propBuilder.addAugmentation(InstructionRelatedTableFeatureProperty.class, insPropBuilder.build());\r
         properties.add(propBuilder.build());\r
+\r
+         /* -------------------------------------------------- */\r
+\r
         propBuilder = new TableFeaturePropertiesBuilder();\r
         propBuilder.setType(TableFeaturesPropType.OFPTFPTINSTRUCTIONSMISS);\r
         insPropBuilder = new InstructionRelatedTableFeaturePropertyBuilder();\r
         insIds = new ArrayList<>();\r
         insBuilder = new InstructionBuilder();\r
-        insBuilder.setType(WriteMetadata.class);\r
+        WriteMetadataCaseBuilder writeMetadataCaseBuilder = new WriteMetadataCaseBuilder();\r
+        WriteMetadataBuilder writeMetadataBuilder = new WriteMetadataBuilder();\r
+        writeMetadataCaseBuilder.setWriteMetadata(writeMetadataBuilder.build());\r
+        insBuilder.setInstructionChoice(writeMetadataCaseBuilder.build());\r
         insIds.add(insBuilder.build());\r
+\r
         insBuilder = new InstructionBuilder();\r
-        insBuilder.setType(ApplyActions.class);\r
+        ApplyActionsCaseBuilder applyActionsCaseBuilder = new ApplyActionsCaseBuilder();\r
+        ApplyActionsBuilder applyActionsBuilder = new ApplyActionsBuilder();\r
+        applyActionsCaseBuilder.setApplyActions(applyActionsBuilder.build());\r
+        insBuilder.setInstructionChoice(applyActionsCaseBuilder.build());\r
         insIds.add(insBuilder.build());\r
+\r
         insBuilder = new InstructionBuilder();\r
-        insBuilder.setType(Meter.class);\r
+        MeterCaseBuilder meterCaseBuilder = new MeterCaseBuilder();\r
+        MeterBuilder meterBuilder = new MeterBuilder();\r
+        meterCaseBuilder.setMeter(meterBuilder.build());\r
+        insBuilder.setInstructionChoice(meterCaseBuilder.build());\r
         insIds.add(insBuilder.build());\r
+\r
+\r
         insBuilder = new InstructionBuilder();\r
-        insBuilder.setType(ClearActions.class);\r
+        ClearActionsCaseBuilder clearActionsCaseBuilder = new ClearActionsCaseBuilder();\r
+        insBuilder.setInstructionChoice(clearActionsCaseBuilder.build());\r
         insIds.add(insBuilder.build());\r
+\r
+\r
         insBuilder = new InstructionBuilder();\r
-        insBuilder.setType(GotoTable.class);\r
+        GotoTableCaseBuilder gotoCaseBuilder2 = new GotoTableCaseBuilder();\r
+        GotoTableBuilder gotoTableBuilder2 = new GotoTableBuilder();\r
+        gotoCaseBuilder2.setGotoTable(gotoTableBuilder2.build());\r
+        insBuilder.setInstructionChoice(gotoCaseBuilder2.build());\r
         insIds.add(insBuilder.build());\r
+\r
         insPropBuilder.setInstruction(insIds);\r
         propBuilder.addAugmentation(InstructionRelatedTableFeatureProperty.class, insPropBuilder.build());\r
         properties.add(propBuilder.build());\r
@@ -236,6 +287,7 @@ public class TableFeaturesReplyConvertorTest {
         featuresBuilder.setConfig(new TableConfig(false));\r
         featuresBuilder.setMaxEntries(24L);\r
 \r
+        /* -------------------------------------------------- */\r
 \r
         properties = new ArrayList<>();\r
         propBuilder = new TableFeaturePropertiesBuilder();\r
@@ -256,6 +308,8 @@ public class TableFeaturesReplyConvertorTest {
         propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());\r
         properties.add(propBuilder.build()); //[0]\r
 \r
+        /* -------------------------------------------------- */\r
+\r
         propBuilder = new TableFeaturePropertiesBuilder();\r
         propBuilder.setType(TableFeaturesPropType.OFPTFPTAPPLYSETFIELD);\r
         oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();\r
@@ -274,6 +328,8 @@ public class TableFeaturesReplyConvertorTest {
         propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());\r
         properties.add(propBuilder.build());//[1]\r
 \r
+        /* -------------------------------------------------- */\r
+\r
         propBuilder = new TableFeaturePropertiesBuilder();\r
         propBuilder.setType(TableFeaturesPropType.OFPTFPTWRITESETFIELD);\r
         oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();\r
@@ -292,6 +348,8 @@ public class TableFeaturesReplyConvertorTest {
         propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());\r
         properties.add(propBuilder.build());//[2]\r
 \r
+        /* -------------------------------------------------- */\r
+\r
         propBuilder = new TableFeaturePropertiesBuilder();\r
         propBuilder.setType(TableFeaturesPropType.OFPTFPTWRITESETFIELDMISS);\r
         oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();\r
@@ -310,6 +368,8 @@ public class TableFeaturesReplyConvertorTest {
         propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());\r
         properties.add(propBuilder.build());//[3]\r
 \r
+        /* -------------------------------------------------- */\r
+\r
         propBuilder = new TableFeaturePropertiesBuilder();\r
         propBuilder.setType(TableFeaturesPropType.OFPTFPTAPPLYSETFIELDMISS);\r
         oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();\r
@@ -330,6 +390,8 @@ public class TableFeaturesReplyConvertorTest {
         propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());\r
         properties.add(propBuilder.build());//[4]\r
 \r
+        /* -------------------------------------------------- */\r
+\r
         propBuilder = new TableFeaturePropertiesBuilder();\r
         propBuilder.setType(TableFeaturesPropType.OFPTFPTWILDCARDS);\r
         oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();\r
@@ -356,9 +418,9 @@ public class TableFeaturesReplyConvertorTest {
         propBuilder = new TableFeaturePropertiesBuilder();\r
         propBuilder.setType(TableFeaturesPropType.OFPTFPTAPPLYACTIONS);\r
         ActionRelatedTableFeaturePropertyBuilder actBuilder = new ActionRelatedTableFeaturePropertyBuilder();\r
-        List<Action> actions = new ArrayList<>();\r
+        actions = new ArrayList<>();\r
 \r
-        ActionBuilder actionBuilder = new ActionBuilder();\r
+        actionBuilder = new ActionBuilder();\r
         actionBuilder.setActionChoice(createSetNwSrcAction());\r
         actions.add(actionBuilder.build());\r
 \r
@@ -470,6 +532,7 @@ public class TableFeaturesReplyConvertorTest {
         ids = propType2.getTablesMiss().getTableIds();\r
         Assert.assertEquals("Wrong next table-id size", 1, ids.size());\r
         Assert.assertEquals("Wrong next-registry-id", 3, ids.get(0).intValue());\r
+\r
         property = feature.getTableProperties().getTableFeatureProperties().get(2);\r
         Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.Instructions",\r
                 property.getTableFeaturePropType().getImplementedInterface().getName());\r
@@ -697,7 +760,7 @@ public class TableFeaturesReplyConvertorTest {
 \r
         matchEntries.add(matchEntryBuilder.build());\r
         setFieldActionBuilder.setMatchEntry(matchEntries);\r
-        setFieldCaseBuilder.setSetFieldAction(setFieldActionBuilder .build());\r
+        setFieldCaseBuilder.setSetFieldAction(setFieldActionBuilder.build());\r
         return setFieldCaseBuilder.build();\r
     }\r
 \r