Fix warnings in test-provider 99/94399/10
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 4 Jan 2021 10:39:59 +0000 (11:39 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 4 Jan 2021 18:46:14 +0000 (19:46 +0100)
Fix deprecation warnings by converting to use uint types/BindingMap
and apply @Deprecated as appropriate. There will be more rounds to
deal with the rest of the warnings.

Change-Id: Id144002ad80503fa3eeb3c0fbb73fe5490aea9e3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 files changed:
extension/test-extension/src/main/java/org/opendaylight/openflowplugin/extension/test/Test.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/FlowEventListenerLoggingImpl.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/NodeErrorListenerLoggingImpl.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowPluginBulkTransactionProvider.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginGroupTestCommandProvider.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginGroupTestServiceProvider.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginMeterTestCommandProvider.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginMeterTestServiceProvider.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginTableFeaturesTestCommandProvider.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginTableFeaturesTestServiceProvider.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginTestCommandProvider.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginTestNodeConnectorNotification.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginTestServiceProvider.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginTestTopologyNotification.java

index 76f8eff937ab152cbe074756a14c6af13396847b..73dba0097ab4e2b8341875ff362698d39ab47c45 100644 (file)
@@ -9,16 +9,11 @@ package org.opendaylight.openflowplugin.extension.test;
 
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
-import java.util.ArrayList;
-import java.util.List;
 import org.opendaylight.infrautils.utils.concurrent.LoggingFutures;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.DecNwTtlCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.dec.nw.ttl._case.DecNwTtl;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.dec.nw.ttl._case.DecNwTtlBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.ActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.ActionKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.AddFlowInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.AddFlowInputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService;
@@ -28,9 +23,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.I
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.MatchBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.ApplyActionsCaseBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.apply.actions._case.ApplyActionsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.Instruction;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRef;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
@@ -39,7 +32,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.N
 import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.EtherType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.ethernet.match.fields.EthernetTypeBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.EthernetMatchBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv4Match;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv4MatchBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg0;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxRegCaseBuilder;
@@ -50,6 +42,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.test.rev130819.TestFlowInpu
 import org.opendaylight.yang.gen.v1.urn.opendaylight.test.rev130819.TestFlowOutput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.test.rev130819.TestService;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
 import org.opendaylight.yangtools.yang.common.Uint16;
@@ -69,120 +62,74 @@ public class Test implements TestService {
 
     private SalFlowService flowService;
 
-
     @Override
-    public ListenableFuture<RpcResult<TestFlowOutput>> testFlow(TestFlowInput input) {
-        AddFlowInputBuilder flow = new AddFlowInputBuilder();
-        flow.setPriority(Uint16.TWO);
-        flow.setMatch(createMatchBld().build());
-        flow.setInstructions(createDecNwTtlInstructionsBld().build());
-        flow.setBarrier(Boolean.FALSE);
-        flow.setCookie(new FlowCookie(Uint64.TEN));
-        flow.setCookieMask(new FlowCookie(Uint64.TEN));
-        flow.setHardTimeout(Uint16.ZERO);
-        flow.setIdleTimeout(Uint16.ZERO);
-        flow.setInstallHw(false);
-        flow.setStrict(false);
-        flow.setContainerName(null);
-        flow.setFlags(new FlowModFlags(false, false, false, false, true));
-        flow.setTableId(Uint8.ZERO);
-
-        flow.setFlowName("NiciraFLOW");
-
+    public ListenableFuture<RpcResult<TestFlowOutput>> testFlow(final TestFlowInput input) {
         // Construct the flow instance id
         final InstanceIdentifier<Node> flowInstanceId = InstanceIdentifier
                 .builder(Nodes.class) // File under nodes
                 // A particular node identified by nodeKey
                 .child(Node.class, new NodeKey(new NodeId("openflow:1"))).build();
-        flow.setNode(new NodeRef(flowInstanceId));
 
-        pushFlowViaRpc(flow.build());
+        pushFlowViaRpc(new AddFlowInputBuilder()
+            .setPriority(Uint16.TWO)
+            .setMatch(new MatchBuilder()
+                .setLayer3Match(new Ipv4MatchBuilder().setIpv4Destination(new Ipv4Prefix("10.0.0.1/24")).build())
+                .setEthernetMatch(new EthernetMatchBuilder()
+                    .setEthernetType(new EthernetTypeBuilder().setType(new EtherType(Uint32.valueOf(0x0800))).build())
+                    .build())
+                // .addAugmentation(createNxMatchAugment().getAugmentationObject())
+                .build())
+            .setInstructions(new InstructionsBuilder()
+                .setInstruction(BindingMap.of(new InstructionBuilder()
+                    .setOrder(0)
+                    .setInstruction(new ApplyActionsCaseBuilder()
+                        .setApplyActions(new ApplyActionsBuilder()
+                            .setAction(BindingMap.of(new ActionBuilder()
+                                .setOrder(0)
+                                .setAction(new DecNwTtlCaseBuilder().setDecNwTtl(new DecNwTtlBuilder().build()).build())
+                                .build(), new ActionBuilder()
+                                // base part
+                                .setOrder(1)
+                                .setAction(new NxActionRegLoadNodesNodeTableFlowApplyActionsCaseBuilder()
+                                    // vendor part
+                                    .setNxRegLoad(new NxRegLoadBuilder()
+                                        .setDst(new DstBuilder()
+                                            .setDstChoice(new DstNxRegCaseBuilder().setNxReg(NxmNxReg0.class).build())
+                                            .setStart(Uint16.ZERO)
+                                            .setEnd(Uint16.valueOf(5))
+                                            .build())
+                                        .setValue(Uint64.valueOf(55L))
+                                        .build())
+                                    .build())
+                                .build()))
+                            .build())
+                        .build())
+                    .build()))
+                .build())
+            .setBarrier(Boolean.FALSE)
+            .setCookie(new FlowCookie(Uint64.TEN))
+            .setCookieMask(new FlowCookie(Uint64.TEN))
+            .setHardTimeout(Uint16.ZERO)
+            .setIdleTimeout(Uint16.ZERO)
+            .setInstallHw(false)
+            .setStrict(false)
+            .setContainerName(null)
+            .setFlags(new FlowModFlags(false, false, false, false, true))
+            .setTableId(Uint8.ZERO)
+            .setFlowName("NiciraFLOW")
+            .setNode(new NodeRef(flowInstanceId))
+            .build());
 
         return Futures.immediateFuture(RpcResultBuilder.<TestFlowOutput>status(true).build());
     }
 
-    private void pushFlowViaRpc(AddFlowInput addFlowInput) {
+    private void pushFlowViaRpc(final AddFlowInput addFlowInput) {
         if (flowService != null) {
             LoggingFutures.addErrorLogging(flowService.addFlow(addFlowInput), LOG, "addFlow");
         }
     }
 
-    public void setFlowService(SalFlowService flowService) {
+    public void setFlowService(final SalFlowService flowService) {
         this.flowService = flowService;
     }
-
-    private static MatchBuilder createMatchBld() {
-        MatchBuilder match = new MatchBuilder();
-        Ipv4MatchBuilder ipv4Match = new Ipv4MatchBuilder();
-        Ipv4Prefix prefix = new Ipv4Prefix("10.0.0.1/24");
-        ipv4Match.setIpv4Destination(prefix);
-        Ipv4Match i4m = ipv4Match.build();
-        match.setLayer3Match(i4m);
-
-        EthernetMatchBuilder eth = new EthernetMatchBuilder();
-        EthernetTypeBuilder ethTypeBuilder = new EthernetTypeBuilder();
-        ethTypeBuilder.setType(new EtherType(Uint32.valueOf(0x0800)));
-        eth.setEthernetType(ethTypeBuilder.build());
-        match.setEthernetMatch(eth.build());
-
-//        AugmentTuple<Match> extAugmentWrapper = createNxMatchAugment();
-//        match.addAugmentation(extAugmentWrapper.getAugmentationClass(), extAugmentWrapper.getAugmentationObject());
-
-        return match;
-    }
-
-    private static InstructionsBuilder createDecNwTtlInstructionsBld() {
-        // Add our drop action to a list
-        List<Action> actionList = new ArrayList<>();
-        actionList.add(createOFAction(0).build());
-        actionList.add(createNxActionBld(1).build());
-
-        // Create an Apply Action
-        ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-        ib.withKey(new InstructionKey(0));
-        ib.setOrder(0);
-
-        // Put our Instruction in a list of Instructions
-        InstructionsBuilder isb = new InstructionsBuilder();
-        List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        ib.withKey(new InstructionKey(0));
-        isb.setInstruction(instructions);
-        return isb;
-    }
-
-    private static ActionBuilder createOFAction(int actionKeyVal) {
-        DecNwTtlBuilder ta = new DecNwTtlBuilder();
-        DecNwTtl decNwTtl = ta.build();
-        ActionBuilder ab = new ActionBuilder();
-        ab.setAction(new DecNwTtlCaseBuilder().setDecNwTtl(decNwTtl).build());
-        ab.withKey(new ActionKey(actionKeyVal));
-        return ab;
-    }
-
-    private static ActionBuilder createNxActionBld(int actionKeyVal) {
-        // vendor part
-        DstNxRegCaseBuilder nxRegCaseBld = new DstNxRegCaseBuilder().setNxReg(NxmNxReg0.class);
-        DstBuilder dstBld = new DstBuilder()
-            .setDstChoice(nxRegCaseBld.build())
-            .setStart(Uint16.ZERO)
-            .setEnd(Uint16.valueOf(5));
-        NxRegLoadBuilder nxRegLoadBuilder = new NxRegLoadBuilder();
-        nxRegLoadBuilder.setDst(dstBld.build());
-        nxRegLoadBuilder.setValue(Uint64.valueOf(55L));
-        NxActionRegLoadNodesNodeTableFlowApplyActionsCaseBuilder topNxActionCaseBld =
-                new NxActionRegLoadNodesNodeTableFlowApplyActionsCaseBuilder();
-        topNxActionCaseBld.setNxRegLoad(nxRegLoadBuilder.build());
-
-        // base part
-        ActionBuilder abExt = new ActionBuilder();
-        abExt.withKey(new ActionKey(actionKeyVal));
-        abExt.setAction(topNxActionCaseBld.build());
-        return abExt;
-    }
 }
index fb960ba22be48e43df473c40253b78c948b34203..e518647343d4b81a2120192825ebe2a66416c22a 100644 (file)
@@ -21,30 +21,32 @@ import org.slf4j.LoggerFactory;
  * Dummy implementation flushing events into log.
  */
 public class FlowEventListenerLoggingImpl implements SalFlowListener {
-
-    private static final Logger LOG = LoggerFactory
-            .getLogger(FlowEventListenerLoggingImpl.class);
+    private static final Logger LOG = LoggerFactory.getLogger(FlowEventListenerLoggingImpl.class);
 
     @Override
-    public void onFlowAdded(FlowAdded notification) {
+    @Deprecated
+    public void onFlowAdded(final FlowAdded notification) {
         LOG.info("flow to be added {}", notification.toString());
         LOG.info("added flow Xid {}", notification.getTransactionId().getValue());
     }
 
     @Override
-    public void onFlowRemoved(FlowRemoved notification) {
+    @Deprecated
+    public void onFlowRemoved(final FlowRemoved notification) {
         LOG.debug("removed flow {}", notification.toString());
         LOG.debug("remove flow Xid {}", notification.getTransactionId().getValue());
     }
 
     @Override
-    public void onFlowUpdated(FlowUpdated notification) {
+    @Deprecated
+    public void onFlowUpdated(final FlowUpdated notification) {
         LOG.debug("updated flow {}", notification.toString());
         LOG.debug("updated flow Xid {}", notification.getTransactionId().getValue());
     }
 
     @Override
-    public void onNodeErrorNotification(NodeErrorNotification notification) {
+    @Deprecated
+    public void onNodeErrorNotification(final NodeErrorNotification notification) {
     //commenting as we have a NodeErrorListener
     /*    LOG.error("Error notification  flow Xid........................."
                 + notification.getTransactionId().getValue());
@@ -55,14 +57,14 @@ public class FlowEventListenerLoggingImpl implements SalFlowListener {
     }
 
     @Override
-    public void onNodeExperimenterErrorNotification(
-            NodeExperimenterErrorNotification notification) {
+    @Deprecated
+    public void onNodeExperimenterErrorNotification(final NodeExperimenterErrorNotification notification) {
         // TODO Auto-generated method stub
-
     }
 
     @Override
-    public void onSwitchFlowRemoved(SwitchFlowRemoved notification) {
+    @Deprecated
+    public void onSwitchFlowRemoved(final SwitchFlowRemoved notification) {
         LOG.debug("Switch flow removed : Cookies {}", notification.getCookie().toString());
     }
 }
index f41e5d29216dd2d83e230036d61d9897b1899526..876dae8255e04cbf46184dd6c84a4849bd96020f 100644 (file)
@@ -39,96 +39,111 @@ public class NodeErrorListenerLoggingImpl implements NodeErrorListener {
     private static final Logger LOG = LoggerFactory.getLogger(NodeErrorListenerLoggingImpl.class);
 
     @Override
-    public void onBadActionErrorNotification(BadActionErrorNotification notification) {
+    @Deprecated
+    public void onBadActionErrorNotification(final BadActionErrorNotification notification) {
         LOG.error("Error notification {}", toStr(notification.getType(), notification.getCode(),
                 notification.getTransactionId().getValue()));
     }
 
     @Override
-    public void onBadInstructionErrorNotification(BadInstructionErrorNotification notification) {
+    @Deprecated
+    public void onBadInstructionErrorNotification(final BadInstructionErrorNotification notification) {
         LOG.error("Error notification {}", toStr(notification.getType(), notification.getCode(),
                 notification.getTransactionId().getValue()));
     }
 
     @Override
-    public void onBadMatchErrorNotification(BadMatchErrorNotification notification) {
+    @Deprecated
+    public void onBadMatchErrorNotification(final BadMatchErrorNotification notification) {
         LOG.error("Error notification {}", toStr(notification.getType(), notification.getCode(),
                 notification.getTransactionId().getValue()));
     }
 
     @Override
-    public void onBadRequestErrorNotification(BadRequestErrorNotification notification) {
+    @Deprecated
+    public void onBadRequestErrorNotification(final BadRequestErrorNotification notification) {
         LOG.error("Error notification {}", toStr(notification.getType(), notification.getCode(),
                 notification.getTransactionId().getValue()));
     }
 
     @Override
-    public void onExperimenterErrorNotification(ExperimenterErrorNotification notification) {
+    @Deprecated
+    public void onExperimenterErrorNotification(final ExperimenterErrorNotification notification) {
         LOG.error("Error notification {}", toStr(notification.getType(), notification.getCode(),
                 notification.getTransactionId().getValue()));
     }
 
     @Override
-    public void onFlowModErrorNotification(FlowModErrorNotification notification) {
+    @Deprecated
+    public void onFlowModErrorNotification(final FlowModErrorNotification notification) {
         LOG.error("Error notification {}", toStr(notification.getType(), notification.getCode(),
                 notification.getTransactionId().getValue()));
     }
 
     @Override
-    public void onGroupModErrorNotification(GroupModErrorNotification notification) {
+    @Deprecated
+    public void onGroupModErrorNotification(final GroupModErrorNotification notification) {
         LOG.error("Error notification {}", toStr(notification.getType(), notification.getCode(),
                 notification.getTransactionId().getValue()));
     }
 
     @Override
-    public void onHelloFailedErrorNotification(HelloFailedErrorNotification notification) {
+    @Deprecated
+    public void onHelloFailedErrorNotification(final HelloFailedErrorNotification notification) {
         LOG.error("Error notification {}", toStr(notification.getType(), notification.getCode(),
                 notification.getTransactionId().getValue()));
     }
 
     @Override
-    public void onMeterModErrorNotification(MeterModErrorNotification notification) {
+    @Deprecated
+    public void onMeterModErrorNotification(final MeterModErrorNotification notification) {
         LOG.error("Error notification {}", toStr(notification.getType(), notification.getCode(),
                 notification.getTransactionId().getValue()));
     }
 
     @Override
-    public void onPortModErrorNotification(PortModErrorNotification notification) {
+    @Deprecated
+    public void onPortModErrorNotification(final PortModErrorNotification notification) {
         LOG.error("Error notification {}", toStr(notification.getType(), notification.getCode(),
                 notification.getTransactionId().getValue()));
     }
 
     @Override
-    public void onQueueOpErrorNotification(QueueOpErrorNotification notification) {
+    @Deprecated
+    public void onQueueOpErrorNotification(final QueueOpErrorNotification notification) {
         LOG.error("Error notification {}", toStr(notification.getType(), notification.getCode(),
                 notification.getTransactionId().getValue()));
     }
 
     @Override
-    public void onRoleRequestErrorNotification(RoleRequestErrorNotification notification) {
+    @Deprecated
+    public void onRoleRequestErrorNotification(final RoleRequestErrorNotification notification) {
         LOG.error("Error notification {}", toStr(notification.getType(), notification.getCode(),
                 notification.getTransactionId().getValue()));
     }
 
     @Override
-    public void onSwitchConfigErrorNotification(SwitchConfigErrorNotification notification) {
+    @Deprecated
+    public void onSwitchConfigErrorNotification(final SwitchConfigErrorNotification notification) {
         LOG.error("Error notification {}", toStr(notification.getType(), notification.getCode(),
                 notification.getTransactionId().getValue()));
     }
 
     @Override
-    public void onTableFeaturesErrorNotification(TableFeaturesErrorNotification notification) {
+    @Deprecated
+    public void onTableFeaturesErrorNotification(final TableFeaturesErrorNotification notification) {
         LOG.error("Error notification {}", toStr(notification.getType(), notification.getCode(),
                 notification.getTransactionId().getValue()));
     }
 
     @Override
-    public void onTableModErrorNotification(TableModErrorNotification notification) {
+    @Deprecated
+    public void onTableModErrorNotification(final TableModErrorNotification notification) {
         LOG.error("Error notification {}", toStr(notification.getType(), notification.getCode(),
                 notification.getTransactionId().getValue()));
     }
 
-    private static String toStr(ErrorType type, Uint16 code, Uint64 xid) {
+    private static String toStr(final ErrorType type, final Uint16 code, final Uint64 xid) {
         return "[Type=" + type + ", Code=" + code + ", Xid =" + xid + "]";
     }
 }
index ffbab1bdeac4ceb37c5eb606c8e3b72f7b8ee666..245e4d556de4c3f531cff2d937c70227c13edf11 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.openflowplugin.test;
 
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.MoreExecutors;
+import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.osgi.framework.console.CommandInterpreter;
 import org.eclipse.osgi.framework.console.CommandProvider;
 import org.opendaylight.mdsal.binding.api.DataBroker;
@@ -469,7 +470,7 @@ public class OpenflowPluginBulkTransactionProvider implements CommandProvider {
         writeFlow(ci, tf, tf1, tf2, tf3, tn);
     }
 
-    private static InstanceIdentifier<Node> nodeBuilderToInstanceId(final NodeBuilder node) {
+    private static @NonNull InstanceIdentifier<Node> nodeBuilderToInstanceId(final NodeBuilder node) {
         return InstanceIdentifier.create(Nodes.class).child(Node.class, node.key());
     }
 
index 11af39d643447d86d0533fbe5ed7185635b9bf11..7801e6e4eabaff643e54dcfd356e9034ce79527d 100644 (file)
@@ -11,9 +11,7 @@ import static java.util.Objects.requireNonNull;
 
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.MoreExecutors;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
+import java.util.Map;
 import org.eclipse.osgi.framework.console.CommandInterpreter;
 import org.eclipse.osgi.framework.console.CommandProvider;
 import org.opendaylight.mdsal.binding.api.DataBroker;
@@ -60,7 +58,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.Bucke
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.GroupId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.GroupTypes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.BucketsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.buckets.Bucket;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.buckets.BucketBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.buckets.BucketKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.groups.Group;
@@ -72,12 +69,12 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.N
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.opendaylight.yangtools.yang.common.Uint16;
 import org.opendaylight.yangtools.yang.common.Uint32;
 import org.opendaylight.yangtools.yang.common.Uint8;
 import org.osgi.framework.BundleContext;
 
-@SuppressWarnings("checkstyle:MethodName")
 public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
     private static final String ORIGINAL_GROUP_NAME = "Foo";
 
@@ -213,7 +210,7 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
                 bucket.setAction(createInportOutputAction());
                 break;
             case "a24":
-                bucket.setAction(Collections.emptyList());
+                bucket.setAction(Map.of());
                 break;
             case "a25":
                 bucket.setAction(createNonAppyOutputAction());
@@ -247,135 +244,108 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         group.setGroupName(ORIGINAL_GROUP_NAME);
         group.setBarrier(false);
         BucketsBuilder value = new BucketsBuilder();
-        List<Bucket> value1 = new ArrayList<>();
-        value1.add(bucket.build());
-        value.setBucket(value1);
+        value.setBucket(BindingMap.of(bucket.build()));
         group.setBuckets(value.build());
         testGroup = group.build();
         return group;
     }
 
 
-    private static List<Action> createPopVlanAction() {
+    private static Map<ActionKey, Action> createPopVlanAction() {
         PopVlanActionBuilder vlanAction = new PopVlanActionBuilder();
         ActionBuilder action = new ActionBuilder();
         action.setAction(new PopVlanActionCaseBuilder().setPopVlanAction(vlanAction.build()).build());
         action.withKey(new ActionKey(0));
-        List<Action> actions = new ArrayList<>();
-        actions.add(action.build());
-        return actions;
+        return BindingMap.of(action.build());
     }
 
-    private static List<Action> createPushVlanAction() {
+    private static Map<ActionKey, Action> createPushVlanAction() {
         PushVlanActionBuilder vlan = new PushVlanActionBuilder();
         vlan.setEthernetType(Uint16.valueOf(0x8100));
         ActionBuilder action = new ActionBuilder();
         action.setAction(new PushVlanActionCaseBuilder().setPushVlanAction(vlan.build()).build());
-        List<Action> actions = new ArrayList<>();
-        actions.add(action.build());
-        return actions;
+        return BindingMap.of(action.build());
     }
 
-    private static List<Action> createPushMplsAction() {
+    private static Map<ActionKey, Action> createPushMplsAction() {
         PushMplsActionBuilder push = new PushMplsActionBuilder();
         push.setEthernetType(Uint16.valueOf(0x8847));
         ActionBuilder action = new ActionBuilder();
         action.setAction(new PushMplsActionCaseBuilder().setPushMplsAction(push.build()).build());
-        List<Action> actions = new ArrayList<>();
-        actions.add(action.build());
-        return actions;
+        return BindingMap.of(action.build());
     }
 
-    private static List<Action> createPopMplsAction() {
+    private static Map<ActionKey, Action> createPopMplsAction() {
         PopMplsActionBuilder popMplsActionBuilder = new PopMplsActionBuilder();
         popMplsActionBuilder.setEthernetType(Uint16.valueOf(0XB));
         ActionBuilder action = new ActionBuilder();
         action.setAction(new PopMplsActionCaseBuilder().setPopMplsAction(popMplsActionBuilder.build()).build());
-        List<Action> actions = new ArrayList<>();
-        actions.add(action.build());
-        return actions;
+        return BindingMap.of(action.build());
     }
 
-    private static List<Action> createPopPbbAction() {
+    private static Map<ActionKey, Action> createPopPbbAction() {
         PopPbbActionBuilder popPbbActionBuilder = new PopPbbActionBuilder();
         ActionBuilder action = new ActionBuilder();
         action.setAction(new PopPbbActionCaseBuilder().setPopPbbAction(popPbbActionBuilder.build()).build());
-        List<Action> actions = new ArrayList<>();
-        actions.add(action.build());
-        return actions;
+        return BindingMap.of(action.build());
     }
 
-    private static List<Action> createPushPbbAction() {
+    private static Map<ActionKey, Action> createPushPbbAction() {
         PushPbbActionBuilder pbb = new PushPbbActionBuilder();
         pbb.setEthernetType(Uint16.valueOf(0x88E7));
         ActionBuilder action = new ActionBuilder();
         action.setAction(new PushPbbActionCaseBuilder().setPushPbbAction(pbb.build()).build());
-        List<Action> actions = new ArrayList<>();
-        actions.add(action.build());
-        return actions;
+        return BindingMap.of(action.build());
     }
 
-    private static List<Action> createSetMplsTtlAction() {
+    private static Map<ActionKey, Action> createSetMplsTtlAction() {
         SetMplsTtlActionBuilder setMplsTtlActionBuilder = new SetMplsTtlActionBuilder();
         setMplsTtlActionBuilder.setMplsTtl(Uint8.ONE);
         ActionBuilder action = new ActionBuilder();
         action.setAction(new SetMplsTtlActionCaseBuilder().setSetMplsTtlAction(
                 setMplsTtlActionBuilder.build()).build());
-        List<Action> actions = new ArrayList<>();
-        actions.add(action.build());
-        return actions;
+        return BindingMap.of(action.build());
     }
 
-    private static List<Action> createSetNwTtlAction() {
+    private static Map<ActionKey, Action> createSetNwTtlAction() {
         SetNwTtlActionBuilder setNwTtlActionBuilder = new SetNwTtlActionBuilder();
         setNwTtlActionBuilder.setNwTtl(Uint8.ONE);
         ActionBuilder action = new ActionBuilder();
         action.setAction(new SetNwTtlActionCaseBuilder().setSetNwTtlAction(setNwTtlActionBuilder.build()).build());
-        List<Action> actions = new ArrayList<>();
-        actions.add(action.build());
-        return actions;
+        return BindingMap.of(action.build());
     }
 
-    private static List<Action> createSetQueueAction() {
+    private static Map<ActionKey, Action> createSetQueueAction() {
         SetQueueActionBuilder setQueueActionBuilder = new SetQueueActionBuilder();
         setQueueActionBuilder.setQueueId(Uint32.ONE);
         ActionBuilder action = new ActionBuilder();
         action.setAction(new SetQueueActionCaseBuilder().setSetQueueAction(setQueueActionBuilder.build()).build());
         action.withKey(new ActionKey(0));
-        List<Action> actions = new ArrayList<>();
-        actions.add(action.build());
-        return actions;
+        return BindingMap.of(action.build());
     }
 
-
-    private static List<Action> createCopyTtlInAction() {
+    private static Map<ActionKey, Action> createCopyTtlInAction() {
         CopyTtlInBuilder ttlin = new CopyTtlInBuilder();
         ActionBuilder action = new ActionBuilder();
         action.setAction(new CopyTtlInCaseBuilder().setCopyTtlIn(ttlin.build()).build());
-        List<Action> actions = new ArrayList<>();
-        actions.add(action.build());
-        return actions;
+        return BindingMap.of(action.build());
     }
 
-    private static List<Action> createCopyTtlOutAction() {
+    private static Map<ActionKey, Action> createCopyTtlOutAction() {
         CopyTtlOutBuilder ttlout = new CopyTtlOutBuilder();
         ActionBuilder action = new ActionBuilder();
         action.setAction(new CopyTtlOutCaseBuilder().setCopyTtlOut(ttlout.build()).build());
-        List<Action> actions = new ArrayList<>();
-        actions.add(action.build());
-        return actions;
+        return BindingMap.of(action.build());
     }
 
-    private static List<Action> createDecMplsTtlAction() {
+    private static Map<ActionKey, Action> createDecMplsTtlAction() {
         DecMplsTtlBuilder mpls = new DecMplsTtlBuilder();
         ActionBuilder action = new ActionBuilder();
         action.setAction(new DecMplsTtlCaseBuilder().setDecMplsTtl(mpls.build()).build());
-        List<Action> actions = new ArrayList<>();
-        actions.add(action.build());
-        return actions;
+        return BindingMap.of(action.build());
     }
 
-    private static List<Action> createDecNwTtlAction() {
+    private static Map<ActionKey, Action> createDecNwTtlAction() {
         DecNwTtlBuilder nwttl = new DecNwTtlBuilder();
         ActionBuilder action = new ActionBuilder();
         action.setAction(new DecNwTtlCaseBuilder().setDecNwTtl(nwttl.build()).build());
@@ -389,13 +359,10 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         ab.withKey(new ActionKey(0));
         ab.setOrder(0);
 
-        List<Action> actions = new ArrayList<>();
-        actions.add(ab.build());
-        actions.add(action.build());
-        return actions;
+        return BindingMap.of(ab.build(), action.build());
     }
 
-    private static List<Action> createFloodOutputAction() {
+    private static Map<ActionKey, Action> createFloodOutputAction() {
         ActionBuilder ab = new ActionBuilder();
         OutputActionBuilder output = new OutputActionBuilder();
         output.setMaxLength(Uint16.valueOf(30));
@@ -404,12 +371,10 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
         ab.withKey(new ActionKey(0));
 
-        List<Action> actions = new ArrayList<>();
-        actions.add(ab.build());
-        return actions;
+        return BindingMap.of(ab.build());
     }
 
-    private static List<Action> createAllOutputAction() {
+    private static Map<ActionKey, Action> createAllOutputAction() {
         ActionBuilder ab = new ActionBuilder();
         OutputActionBuilder output = new OutputActionBuilder();
         output.setMaxLength(Uint16.valueOf(30));
@@ -418,12 +383,10 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
         ab.withKey(new ActionKey(0));
 
-        List<Action> actions = new ArrayList<>();
-        actions.add(ab.build());
-        return actions;
+        return BindingMap.of(ab.build());
     }
 
-    private static List<Action> createAnyOutputAction() {
+    private static Map<ActionKey, Action> createAnyOutputAction() {
         ActionBuilder ab = new ActionBuilder();
         OutputActionBuilder output = new OutputActionBuilder();
         output.setMaxLength(Uint16.valueOf(30));
@@ -432,12 +395,10 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
         ab.withKey(new ActionKey(0));
 
-        List<Action> actions = new ArrayList<>();
-        actions.add(ab.build());
-        return actions;
+        return BindingMap.of(ab.build());
     }
 
-    private static List<Action> createNormalOutputAction() {
+    private static Map<ActionKey, Action> createNormalOutputAction() {
         ActionBuilder ab = new ActionBuilder();
         OutputActionBuilder output = new OutputActionBuilder();
         output.setMaxLength(Uint16.valueOf(30));
@@ -446,12 +407,10 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
         ab.withKey(new ActionKey(0));
 
-        List<Action> actions = new ArrayList<>();
-        actions.add(ab.build());
-        return actions;
+        return BindingMap.of(ab.build());
     }
 
-    private static List<Action> createInportOutputAction() {
+    private static Map<ActionKey, Action> createInportOutputAction() {
         ActionBuilder ab = new ActionBuilder();
         OutputActionBuilder output = new OutputActionBuilder();
         output.setMaxLength(Uint16.valueOf(30));
@@ -460,12 +419,10 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
         ab.withKey(new ActionKey(0));
 
-        List<Action> actions = new ArrayList<>();
-        actions.add(ab.build());
-        return actions;
+        return BindingMap.of(ab.build());
     }
 
-    private static List<Action> creatTableOutputAction() {
+    private static Map<ActionKey, Action> creatTableOutputAction() {
         ActionBuilder ab = new ActionBuilder();
         OutputActionBuilder output = new OutputActionBuilder();
         output.setMaxLength(Uint16.valueOf(30));
@@ -474,12 +431,10 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
         ab.withKey(new ActionKey(0));
 
-        List<Action> actions = new ArrayList<>();
-        actions.add(ab.build());
-        return actions;
+        return BindingMap.of(ab.build());
     }
 
-    private static List<Action> createControllerAction() {
+    private static Map<ActionKey, Action> createControllerAction() {
         ActionBuilder ab = new ActionBuilder();
         OutputActionBuilder output = new OutputActionBuilder();
         output.setMaxLength(Uint16.valueOf(30));
@@ -488,12 +443,10 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
         ab.withKey(new ActionKey(0));
 
-        List<Action> actions = new ArrayList<>();
-        actions.add(ab.build());
-        return actions;
+        return BindingMap.of(ab.build());
     }
 
-    private static List<Action> createLocalOutputAction() {
+    private static Map<ActionKey, Action> createLocalOutputAction() {
         ActionBuilder ab = new ActionBuilder();
         OutputActionBuilder output = new OutputActionBuilder();
         output.setMaxLength(Uint16.valueOf(30));
@@ -502,24 +455,20 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
         ab.withKey(new ActionKey(0));
 
-        List<Action> actions = new ArrayList<>();
-        actions.add(ab.build());
-        return actions;
+        return BindingMap.of(ab.build());
     }
 
-    private static List<Action> createGroupAction() {
+    private static Map<ActionKey, Action> createGroupAction() {
         GroupActionBuilder groupActionB = new GroupActionBuilder();
         groupActionB.setGroupId(Uint32.ONE);
         groupActionB.setGroup("0");
         ActionBuilder action = new ActionBuilder();
         action.setAction(new GroupActionCaseBuilder().setGroupAction(groupActionB.build()).build());
         action.withKey(new ActionKey(0));
-        List<Action> actions = new ArrayList<>();
-        actions.add(action.build());
-        return actions;
+        return BindingMap.of(action.build());
     }
 
-    private static List<Action> createNonAppyOutputAction() {
+    private static Map<ActionKey, Action> createNonAppyOutputAction() {
         ActionBuilder ab = new ActionBuilder();
         OutputActionBuilder output = new OutputActionBuilder();
         Uri value = new Uri(OutputPortValues.CONTROLLER.toString());
@@ -528,41 +477,34 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         output.setMaxLength(Uint16.valueOf(66000));
         ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
 
-        List<Action> actionList = new ArrayList<>();
-        actionList.add(ab.build());
-        return actionList;
+        return BindingMap.of(ab.build());
     }
 
-    private static List<Action> createNonAppyPushMplsAction() {
-        List<Action> actionList = new ArrayList<>();
+    private static Map<ActionKey, Action> createNonAppyPushMplsAction() {
         ActionBuilder ab = new ActionBuilder();
         PushMplsActionBuilder push = new PushMplsActionBuilder();
         push.setEthernetType(Uint16.valueOf(0x8849));
         ab.setAction(new PushMplsActionCaseBuilder().setPushMplsAction(push.build()).build());
-        actionList.add(ab.build());
-        return actionList;
+        return BindingMap.of(ab.build());
     }
 
-    private static List<Action> createNonAppyPushPbbAction() {
-        List<Action> actionList = new ArrayList<>();
+    private static Map<ActionKey, Action> createNonAppyPushPbbAction() {
         ActionBuilder ab = new ActionBuilder();
         PushPbbActionBuilder pbb = new PushPbbActionBuilder();
         pbb.setEthernetType(Uint16.valueOf(0x88E8));
         ab.setAction(new PushPbbActionCaseBuilder().setPushPbbAction(pbb.build()).build());
-        actionList.add(ab.build());
-        return actionList;
+        return BindingMap.of(ab.build());
     }
 
-    private static List<Action> createNonAppyPushVlanAction() {
-        List<Action> actionList = new ArrayList<>();
+    private static Map<ActionKey, Action> createNonAppyPushVlanAction() {
         ActionBuilder ab = new ActionBuilder();
         PushVlanActionBuilder vlan = new PushVlanActionBuilder();
         vlan.setEthernetType(Uint16.valueOf(0x8101));
         ab.setAction(new PushVlanActionCaseBuilder().setPushVlanAction(vlan.build()).build());
-        actionList.add(ab.build());
-        return actionList;
+        return BindingMap.of(ab.build());
     }
 
+    @SuppressWarnings("checkstyle:MethodName")
     public void _removeGroup(final CommandInterpreter ci) {
         String nref = ci.nextArgument();
 
@@ -591,6 +533,7 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         }, MoreExecutors.directExecutor());
     }
 
+    @SuppressWarnings("checkstyle:MethodName")
     public void _addGroup(final CommandInterpreter ci) {
         String nref = ci.nextArgument();
 
@@ -626,6 +569,7 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         }, MoreExecutors.directExecutor());
     }
 
+    @SuppressWarnings("checkstyle:MethodName")
     public void _modifyGroup(final CommandInterpreter ci) {
         String nref = ci.nextArgument();
 
index 9a570176259a34785e16282a37aa4f117d52eab4..17a2e79bf502f975eb21cc7930a65953408ee325 100644 (file)
@@ -96,7 +96,7 @@ public class OpenflowpluginGroupTestServiceProvider implements AutoCloseable,
      * .service.rev130918.AddGroupInput)
      */
     @Override
-    public ListenableFuture<RpcResult<AddGroupOutput>> addGroup(AddGroupInput input) {
+    public ListenableFuture<RpcResult<AddGroupOutput>> addGroup(final AddGroupInput input) {
         OpenflowpluginGroupTestServiceProvider.LOG.info("addGroup - {}", input);
         return null;
     }
@@ -112,7 +112,7 @@ public class OpenflowpluginGroupTestServiceProvider implements AutoCloseable,
      */
     @Override
     public ListenableFuture<RpcResult<RemoveGroupOutput>> removeGroup(
-            RemoveGroupInput input) {
+            final RemoveGroupInput input) {
         OpenflowpluginGroupTestServiceProvider.LOG.info("removeGroup - {}", input);
         return null;
     }
@@ -128,7 +128,7 @@ public class OpenflowpluginGroupTestServiceProvider implements AutoCloseable,
      */
     @Override
     public ListenableFuture<RpcResult<UpdateGroupOutput>> updateGroup(
-            UpdateGroupInput input) {
+            final UpdateGroupInput input) {
         OpenflowpluginGroupTestServiceProvider.LOG.info("updateGroup - {}", input);
         return null;
     }
@@ -138,7 +138,7 @@ public class OpenflowpluginGroupTestServiceProvider implements AutoCloseable,
             InstanceIdentifier.create(Nodes.class)
             .child(Node.class, new NodeKey(new NodeId(OpenflowpluginTestActivator.NODE_ID))))));
 
-        return new AbstractObjectRegistration<OpenflowpluginGroupTestServiceProvider>(this) {
+        return new AbstractObjectRegistration<>(this) {
             @Override
             protected void removeRegistration() {
                 groupRegistration.close();
index 06efb16e8b1b26b0076cd4fd66a139b95a30437b..9045b3468ddcaa1054e8957212819b6b14d2c8f3 100644 (file)
@@ -9,8 +9,7 @@ package org.opendaylight.openflowplugin.test;
 
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.MoreExecutors;
-import java.util.ArrayList;
-import java.util.List;
+import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.osgi.framework.console.CommandInterpreter;
 import org.eclipse.osgi.framework.console.CommandProvider;
 import org.opendaylight.mdsal.binding.api.DataBroker;
@@ -26,7 +25,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.MeterAdded;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.MeterRemoved;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.MeterUpdated;
@@ -37,21 +35,20 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.Meter
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.band.type.band.type.DscpRemarkBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.MeterBandHeadersBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.MeterBandHeader;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.MeterBandHeaderBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.meter.band.headers.meter.band.header.MeterBandTypesBuilder;
 import org.opendaylight.yangtools.concepts.Registration;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.opendaylight.yangtools.yang.common.Uint32;
 import org.opendaylight.yangtools.yang.common.Uint8;
 import org.osgi.framework.BundleContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@SuppressWarnings("checkstyle:MethodName")
 public class OpenflowpluginMeterTestCommandProvider implements CommandProvider {
-
     private static final Logger LOG = LoggerFactory.getLogger(OpenflowpluginMeterTestCommandProvider.class);
+
     private final DataBroker dataBroker;
     private final BundleContext ctx;
     private Meter testMeter;
@@ -64,8 +61,8 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider {
     private final NotificationService notificationService;
     private Registration listener1Reg;
 
-    public OpenflowpluginMeterTestCommandProvider(DataBroker dataBroker, NotificationService notificationService,
-            BundleContext ctx) {
+    public OpenflowpluginMeterTestCommandProvider(final DataBroker dataBroker,
+            final NotificationService notificationService, final BundleContext ctx) {
         this.dataBroker = dataBroker;
         this.notificationService = notificationService;
         this.ctx = ctx;
@@ -80,89 +77,84 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider {
         createTestMeter();
     }
 
-    private void createUserNode(String nodeRef) {
-        NodeBuilder builder = new NodeBuilder();
-        builder.setId(new NodeId(nodeRef));
-        builder.withKey(new NodeKey(builder.getId()));
-        testNode = builder.build();
+    private void createUserNode(final String nodeRef) {
+        testNode = new NodeBuilder().setId(new NodeId(nodeRef)).build();
     }
 
     private void createTestNode() {
-        NodeBuilder builder = new NodeBuilder();
-        builder.setId(new NodeId(OpenflowpluginTestActivator.NODE_ID));
-        builder.withKey(new NodeKey(builder.getId()));
-        testNode = builder.build();
+        testNode = new NodeBuilder().setId(new NodeId(OpenflowpluginTestActivator.NODE_ID)).build();
     }
 
-    private static InstanceIdentifier<Node> nodeToInstanceId(Node node) {
+    private static @NonNull InstanceIdentifier<Node> nodeToInstanceId(final Node node) {
         return InstanceIdentifier.create(Nodes.class).child(Node.class, node.key());
     }
 
     private static final class MeterEventListener implements SalMeterListener {
-
         @Override
-        public void onMeterAdded(MeterAdded notification) {
+        @Deprecated
+        public void onMeterAdded(final MeterAdded notification) {
             LOG.info("Meter to be added {}", notification.toString());
             LOG.info("Meter  Xid {}", notification.getTransactionId().getValue());
         }
 
         @Override
-        public void onMeterRemoved(MeterRemoved notification) {
+        @Deprecated
+        public void onMeterRemoved(final MeterRemoved notification) {
             LOG.info("Meter to be removed {}", notification.toString());
             LOG.info("Meter  Xid {}", notification.getTransactionId().getValue());
         }
 
         @Override
-        public void onMeterUpdated(MeterUpdated notification) {
+        @Deprecated
+        public void onMeterUpdated(final MeterUpdated notification) {
             LOG.info("Meter to be updated {}", notification.toString());
             LOG.info("Meter  Xid {}", notification.getTransactionId().getValue());
         }
-
     }
 
     private MeterBuilder createTestMeter() {
         // Sample data , committing to DataStore
-
-        MeterKey key = new MeterKey(new MeterId(Uint32.valueOf(12)));
-        MeterBuilder meter = new MeterBuilder();
-        meter.setContainerName("abcd");
-        meter.withKey(key);
-        meter.setMeterId(new MeterId(Uint32.valueOf(9)));
-        meter.setMeterName(originalMeterName);
-        meter.setFlags(new MeterFlags(true, false, false, false));
-        MeterBandHeaderBuilder bandHeader = new MeterBandHeaderBuilder();
-        bandHeader.setBandRate(Uint32.valueOf(234));
-        bandHeader.setBandBurstSize(Uint32.valueOf(444));
-        DscpRemarkBuilder dscpRemark = new DscpRemarkBuilder();
-        dscpRemark.setDscpRemarkBurstSize(Uint32.valueOf(5));
-        dscpRemark.setPrecLevel(Uint8.ONE);
-        dscpRemark.setDscpRemarkRate(Uint32.valueOf(12));
-        bandHeader.setBandType(dscpRemark.build());
-        MeterBandTypesBuilder bandTypes = new MeterBandTypesBuilder();
-        MeterBandType bandType = new MeterBandType(false, true, false);
-        bandTypes.setFlags(bandType);
-        bandHeader.setMeterBandTypes(bandTypes.build());
-        bandHeader.setBandId(new BandId(Uint32.ZERO));
-
-        List<MeterBandHeader> bandHdr = new ArrayList<>();
-        bandHdr.add(bandHeader.build());
-
-        MeterBandHeadersBuilder bandHeaders = new MeterBandHeadersBuilder();
-        bandHeaders.setMeterBandHeader(bandHdr);
-        meter.setMeterBandHeaders(bandHeaders.build());
+        final MeterBuilder meter = new MeterBuilder()
+            .setContainerName("abcd")
+            .withKey(new MeterKey(new MeterId(Uint32.valueOf(12))))
+            .setMeterId(new MeterId(Uint32.valueOf(9)))
+            .setMeterName(originalMeterName)
+            .setFlags(new MeterFlags(true, false, false, false))
+            .setMeterBandHeaders(new MeterBandHeadersBuilder()
+                .setMeterBandHeader(BindingMap.of(new MeterBandHeaderBuilder()
+                    .setBandRate(Uint32.valueOf(234))
+                    .setBandBurstSize(Uint32.valueOf(444))
+                    .setBandType(new DscpRemarkBuilder()
+                        .setDscpRemarkBurstSize(Uint32.valueOf(5))
+                        .setPrecLevel(Uint8.ONE)
+                        .setDscpRemarkRate(Uint32.valueOf(12))
+                        .build())
+                    .setMeterBandTypes(new MeterBandTypesBuilder()
+                        .setFlags(new MeterBandType(false, true, false))
+                        .build())
+                    .setBandId(new BandId(Uint32.ZERO))
+                    .build()))
+                .build());
 
         testMeter = meter.build();
         return meter;
     }
 
-    private MeterBuilder createTestMeters(String s1, String s2) {
+    private MeterBuilder createTestMeters(final String s1, final String s2) {
         // Sample data , committing to DataStore
-        MeterKey key = new MeterKey(new MeterId(Uint32.valueOf(s1)));
-        MeterBuilder meter = new MeterBuilder();
-        meter.setContainerName("abcd");
-        meter.withKey(key);
-        meter.setMeterId(new MeterId(Uint32.valueOf(9)));
-        MeterBandHeaderBuilder bandHeader = new MeterBandHeaderBuilder();
+        final MeterBuilder meter = new MeterBuilder()
+            .setContainerName("abcd")
+            .withKey(new MeterKey(new MeterId(Uint32.valueOf(s1))))
+            .setMeterId(new MeterId(Uint32.valueOf(9)))
+            .setFlags(new MeterFlags(true, false, false, false));
+        final MeterBandHeaderBuilder bandHeader = new MeterBandHeaderBuilder()
+            .setBandBurstSize(Uint32.valueOf(444))
+            .setBandType(new DscpRemarkBuilder()
+                .setDscpRemarkBurstSize(Uint32.valueOf(5)).setPrecLevel(Uint8.ONE).setDscpRemarkRate(Uint32.valueOf(12))
+                .build())
+            .setMeterBandTypes(new MeterBandTypesBuilder().setFlags(new MeterBandType(false, true, false)).build())
+            .setBandId(new BandId(Uint32.ZERO));
+
         if (s2.equalsIgnoreCase("modify")) {
             meter.setMeterName(updatedMeterName);
             bandHeader.setBandRate(Uint32.valueOf(234));
@@ -170,26 +162,10 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider {
             meter.setMeterName(originalMeterName);
             bandHeader.setBandRate(Uint32.valueOf(123));
         }
-        meter.setFlags(new MeterFlags(true, false, false, false));
-
-        bandHeader.setBandBurstSize(Uint32.valueOf(444));
-        DscpRemarkBuilder dscpRemark = new DscpRemarkBuilder();
-        dscpRemark.setDscpRemarkBurstSize(Uint32.valueOf(5));
-        dscpRemark.setPrecLevel(Uint8.ONE);
-        dscpRemark.setDscpRemarkRate(Uint32.valueOf(12));
-        bandHeader.setBandType(dscpRemark.build());
-        MeterBandTypesBuilder bandTypes = new MeterBandTypesBuilder();
-        MeterBandType bandType = new MeterBandType(false, true, false);
-        bandTypes.setFlags(bandType);
-        bandHeader.setMeterBandTypes(bandTypes.build());
-        bandHeader.setBandId(new BandId(Uint32.ZERO));
-
-        List<MeterBandHeader> bandHdr = new ArrayList<>();
-        bandHdr.add(bandHeader.build());
-
-        MeterBandHeadersBuilder bandHeaders = new MeterBandHeadersBuilder();
-        bandHeaders.setMeterBandHeader(bandHdr);
-        meter.setMeterBandHeaders(bandHeaders.build());
+
+        meter.setMeterBandHeaders(new MeterBandHeadersBuilder()
+            .setMeterBandHeader(BindingMap.of(bandHeader.build()))
+            .build());
 
         int firstInt = Integer.parseInt(s1);
         switch (firstInt) {
@@ -212,6 +188,7 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider {
         return meter;
     }
 
+    @SuppressWarnings("checkstyle:MethodName")
     public void _removeMeter(final CommandInterpreter ci) {
         String nref = ci.nextArgument();
 
@@ -229,17 +206,18 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider {
         modification.delete(LogicalDatastoreType.CONFIGURATION, path1);
         modification.commit().addCallback(new FutureCallback<CommitInfo>() {
             @Override
-            public void onSuccess(CommitInfo notUsed) {
+            public void onSuccess(final CommitInfo notUsed) {
                 ci.println("Status of Group Data Loaded Transaction: success.");
             }
 
             @Override
-            public void onFailure(Throwable throwable) {
+            public void onFailure(final Throwable throwable) {
                 ci.println(String.format("Status of Group Data Loaded Transaction : failure. Reason : %s", throwable));
             }
         }, MoreExecutors.directExecutor());
     }
 
+    @SuppressWarnings("checkstyle:MethodName")
     public void _removeMeters(final CommandInterpreter ci) {
         String nref = ci.nextArgument();
 
@@ -310,18 +288,19 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider {
 
         modification.commit().addCallback(new FutureCallback<CommitInfo>() {
             @Override
-            public void onSuccess(CommitInfo notUsed) {
+            public void onSuccess(final CommitInfo notUsed) {
                 ci.println("Status of Group Data Loaded Transaction: success.");
             }
 
             @Override
-            public void onFailure(Throwable throwable) {
+            public void onFailure(final Throwable throwable) {
                 ci.println(String.format("Status of Group Data Loaded Transaction : failure. Reason : %s", throwable));
             }
         }, MoreExecutors.directExecutor());
     }
 
-    public void _addMeter(CommandInterpreter ci) {
+    @SuppressWarnings("checkstyle:MethodName")
+    public void _addMeter(final CommandInterpreter ci) {
         String nref = ci.nextArgument();
 
         if (nref == null) {
@@ -335,7 +314,8 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider {
         writeMeter(ci, testMeter);
     }
 
-    public void _addMeters(CommandInterpreter ci) {
+    @SuppressWarnings("checkstyle:MethodName")
+    public void _addMeters(final CommandInterpreter ci) {
         String nref = ci.nextArgument();
 
         if (nref == null) {
@@ -374,7 +354,7 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider {
         // writeMeter(ci, testMeter);
     }
 
-    private void writeMeter(final CommandInterpreter ci, Meter meter) {
+    private void writeMeter(final CommandInterpreter ci, final Meter meter) {
         ReadWriteTransaction modification = dataBroker.newReadWriteTransaction();
         InstanceIdentifier<Meter> path1 = InstanceIdentifier.create(Nodes.class).child(Node.class, testNode.key())
                 .augmentation(FlowCapableNode.class).child(Meter.class, new MeterKey(meter.getMeterId()));
@@ -383,18 +363,18 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider {
         modification.mergeParentStructureMerge(LogicalDatastoreType.CONFIGURATION, path1, meter);
         modification.commit().addCallback(new FutureCallback<CommitInfo>() {
             @Override
-            public void onSuccess(CommitInfo notUsed) {
+            public void onSuccess(final CommitInfo notUsed) {
                 ci.println("Status of Group Data Loaded Transaction: success.");
             }
 
             @Override
-            public void onFailure(Throwable throwable) {
+            public void onFailure(final Throwable throwable) {
                 ci.println(String.format("Status of Group Data Loaded Transaction : failure. Reason : %s", throwable));
             }
         }, MoreExecutors.directExecutor());
     }
 
-    private void writeMeter(final CommandInterpreter ci, Meter meter, Meter meter1) {
+    private void writeMeter(final CommandInterpreter ci, final Meter meter, final Meter meter1) {
         ReadWriteTransaction modification = dataBroker.newReadWriteTransaction();
         InstanceIdentifier<Meter> path1 = InstanceIdentifier.create(Nodes.class).child(Node.class, testNode.key())
                 .augmentation(FlowCapableNode.class).child(Meter.class, new MeterKey(meter.getMeterId()));
@@ -409,18 +389,19 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider {
 
         modification.commit().addCallback(new FutureCallback<CommitInfo>() {
             @Override
-            public void onSuccess(CommitInfo notUsed) {
+            public void onSuccess(final CommitInfo notUsed) {
                 ci.println("Status of Group Data Loaded Transaction: success.");
             }
 
             @Override
-            public void onFailure(Throwable throwable) {
+            public void onFailure(final Throwable throwable) {
                 ci.println(String.format("Status of Group Data Loaded Transaction : failure. Reason : %s", throwable));
             }
         }, MoreExecutors.directExecutor());
     }
 
-    public void _modifyMeter(CommandInterpreter ci) {
+    @SuppressWarnings("checkstyle:MethodName")
+    public void _modifyMeter(final CommandInterpreter ci) {
         String nref = ci.nextArgument();
 
         if (nref == null) {
@@ -437,7 +418,8 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider {
         writeMeter(ci, meter.build());
     }
 
-    public void _modifyMeters(CommandInterpreter ci) {
+    @SuppressWarnings("checkstyle:MethodName")
+    public void _modifyMeters(final CommandInterpreter ci) {
         String nref = ci.nextArgument();
 
         if (nref == null) {
index 453b41f66baef691d0bce2de63595421a67af514..3a54042e9c22a2619687838b3fbecf6762f8744f 100644 (file)
@@ -155,8 +155,7 @@ public class OpenflowpluginMeterTestServiceProvider implements AutoCloseable,
             InstanceIdentifier.create(Nodes.class)
             .child(Node.class, new NodeKey(new NodeId(OpenflowpluginTestActivator.NODE_ID))))));
 
-        return new AbstractObjectRegistration<OpenflowpluginMeterTestServiceProvider>(this) {
-
+        return new AbstractObjectRegistration<>(this) {
             @Override
             protected void removeRegistration() {
                 meterRegistration.close();
index 6534961cc3929c6e37940fc360e903645f399ab8..ade7753826971243897dc4d9dc42ce003f3ff234 100644 (file)
@@ -11,9 +11,8 @@ import static java.util.Objects.requireNonNull;
 
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.MoreExecutors;
-import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
+import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.osgi.framework.console.CommandInterpreter;
 import org.eclipse.osgi.framework.console.CommandProvider;
 import org.opendaylight.mdsal.binding.api.DataBroker;
@@ -25,15 +24,12 @@ 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.PopMplsActionCaseBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.PopVlanActionCaseBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.PushPbbActionCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.ActionBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.Instruction;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.ArpOp;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.EthDst;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.EthSrc;
@@ -42,7 +38,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.Ipv4D
 import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.MplsBos;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.MplsLabel;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.TableConfig;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.set.field.match.SetFieldMatch;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.set.field.match.SetFieldMatchBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.ApplySetfieldBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.ApplySetfieldMissBuilder;
@@ -67,14 +62,13 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table
 import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.features.table.features.table.properties.TableFeaturePropertiesKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.opendaylight.yangtools.yang.common.Uint32;
 import org.opendaylight.yangtools.yang.common.Uint64;
 import org.opendaylight.yangtools.yang.common.Uint8;
 import org.osgi.framework.BundleContext;
 
-@SuppressWarnings("checkstyle:MethodName")
 public class OpenflowpluginTableFeaturesTestCommandProvider implements CommandProvider {
-
     private final DataBroker dataBroker;
     private final BundleContext ctx;
     private Node testNode;
@@ -91,20 +85,14 @@ public class OpenflowpluginTableFeaturesTestCommandProvider implements CommandPr
     }
 
     private void createUserNode(final String nodeRef) {
-        NodeBuilder builder = new NodeBuilder();
-        builder.setId(new NodeId(nodeRef));
-        builder.withKey(new NodeKey(builder.getId()));
-        testNode = builder.build();
+        testNode = new NodeBuilder().setId(new NodeId(nodeRef)).build();
     }
 
     private void createTestNode() {
-        NodeBuilder builder = new NodeBuilder();
-        builder.setId(new NodeId(OpenflowpluginTestActivator.NODE_ID));
-        builder.withKey(new NodeKey(builder.getId()));
-        testNode = builder.build();
+        testNode = new NodeBuilder().setId(new NodeId(OpenflowpluginTestActivator.NODE_ID)).build();
     }
 
-    private static InstanceIdentifier<Node> nodeToInstanceId(final Node node) {
+    private static @NonNull InstanceIdentifier<Node> nodeToInstanceId(final Node node) {
         return InstanceIdentifier.create(Nodes.class).child(Node.class, node.key());
     }
 
@@ -118,21 +106,8 @@ public class OpenflowpluginTableFeaturesTestCommandProvider implements CommandPr
         final TableFeaturesBuilder tableFeature = new TableFeaturesBuilder();
         // Sample data , committing to DataStore
         if (!tableFeatureType.equals("t1")) {
-
-
-            tableFeature.setTableId(Uint8.ZERO);
-            tableFeature.setName("Table 0");
-
-
-            tableFeature.setMetadataMatch(Uint64.TEN);
-            tableFeature.setMetadataWrite(Uint64.TEN);
-            tableFeature.setMaxEntries(Uint32.valueOf(10000));
-
-            tableFeature.setConfig(new TableConfig(false));
-
-            List<TableFeatureProperties> properties = new ArrayList<>();
-
-
+            final BindingMap.Builder<TableFeaturePropertiesKey, TableFeatureProperties> properties =
+                BindingMap.orderedBuilder();
             switch (tableFeatureType) {
                 case "t2":
                     //To set the ApplyActionsMiss
@@ -194,378 +169,213 @@ public class OpenflowpluginTableFeaturesTestCommandProvider implements CommandPr
                     break;
             }
 
-
-            TablePropertiesBuilder propertyBld = new TablePropertiesBuilder();
-            propertyBld.setTableFeatureProperties(properties);
-            tableFeature.setTableProperties(propertyBld.build());
+            tableFeature
+                .setTableId(Uint8.ZERO)
+                .setName("Table 0")
+                .setMetadataMatch(Uint64.TEN)
+                .setMetadataWrite(Uint64.TEN)
+                .setMaxEntries(Uint32.valueOf(10000))
+                .setConfig(new TableConfig(false))
+                .setTableProperties(new TablePropertiesBuilder().setTableFeatureProperties(properties.build()).build());
         }
         return tableFeature;
     }
 
     private static TableFeaturePropertiesBuilder createApplyActionsMissTblFeatureProp() {
-        TableFeaturePropertiesBuilder tableFeatureProperty = new TableFeaturePropertiesBuilder();
-
-        //To set the ApplyActionsMiss
-        List<Action> actionList = new ArrayList<>();
-        ActionBuilder ab = new ActionBuilder();
-
-        ab.setAction(new PopMplsActionCaseBuilder().build());
-        actionList.add(ab.build());
-
-        tableFeatureProperty.setTableFeaturePropType(
-            new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table
-                .feature.prop.type.ApplyActionsMissBuilder()
-                        .setApplyActionsMiss(new ApplyActionsMissBuilder().setAction(actionList).build()).build());
-
-        TableFeaturePropertiesKey keyValue = new TableFeaturePropertiesKey(0);
-        tableFeatureProperty.withKey(keyValue);
-        tableFeatureProperty.setOrder(1);
-
-        return tableFeatureProperty;
+        return new TableFeaturePropertiesBuilder()
+            .setTableFeaturePropType(new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table
+                .feature.prop.type.table.feature.prop.type.ApplyActionsMissBuilder()
+                    .setApplyActionsMiss(new ApplyActionsMissBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setAction(new PopMplsActionCaseBuilder().build())
+                            .build()))
+                        .build())
+                    .build())
+            .withKey(new TableFeaturePropertiesKey(0))
+            .setOrder(1);
     }
 
     private static TableFeaturePropertiesBuilder createApplyActionsTblFeatureProp() {
-        TableFeaturePropertiesBuilder tableFeatureProperty = new TableFeaturePropertiesBuilder();
-        List<Action> actionListt5 = new ArrayList<>();
-        ActionBuilder abt5 = new ActionBuilder();
-
-        abt5.setAction(new PopMplsActionCaseBuilder().build());
-        actionListt5.add(abt5.build());
-
-        tableFeatureProperty.setTableFeaturePropType(
-            new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table
-                .feature.prop.type.ApplyActionsBuilder()
-                        .setApplyActions(new ApplyActionsBuilder().setAction(actionListt5).build()).build());
-
-        TableFeaturePropertiesKey keyValue = new TableFeaturePropertiesKey(0);
-        tableFeatureProperty.withKey(keyValue);
-        tableFeatureProperty.setOrder(1);
-
-        return tableFeatureProperty;
+        return new TableFeaturePropertiesBuilder()
+            .setTableFeaturePropType(new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table
+                .feature.prop.type.table.feature.prop.type.ApplyActionsBuilder()
+                .setApplyActions(new ApplyActionsBuilder()
+                    .setAction(BindingMap.of(new ActionBuilder()
+                        .setAction(new PopMplsActionCaseBuilder().build())
+                        .build()))
+                    .build())
+                .build())
+            .withKey(new TableFeaturePropertiesKey(0))
+            .setOrder(1);
     }
 
     private static TableFeaturePropertiesBuilder createNextTblFeatureProp() {
-        TableFeaturePropertiesBuilder tableFeatureProperty = new TableFeaturePropertiesBuilder();
-        List<Uint8> nextTblIds = Arrays.asList(Uint8.valueOf(2), Uint8.valueOf(3));
-        NextTableBuilder nextTblBld = new NextTableBuilder();
-
-        nextTblBld.setTables(new TablesBuilder().setTableIds(nextTblIds).build());
-        tableFeatureProperty.setTableFeaturePropType(nextTblBld.build());
-
-        TableFeaturePropertiesKey keyValue = new TableFeaturePropertiesKey(0);
-        tableFeatureProperty.withKey(keyValue);
-        tableFeatureProperty.setOrder(1);
-
-        return tableFeatureProperty;
+        return new TableFeaturePropertiesBuilder()
+            .setTableFeaturePropType(new NextTableBuilder()
+                .setTables(new TablesBuilder().setTableIds(List.of(Uint8.TWO, Uint8.valueOf(3))).build())
+                .build())
+            .withKey(new TableFeaturePropertiesKey(0))
+            .setOrder(1);
     }
 
     private static TableFeaturePropertiesBuilder createNextTableMissTblFeatureProp() {
-        TableFeaturePropertiesBuilder tableFeatureProperty = new TableFeaturePropertiesBuilder();
-        List<Uint8> nextTblMissIds = Arrays.asList(Uint8.valueOf(23), Uint8.valueOf(24), Uint8.valueOf(25),
-            Uint8.valueOf(27), Uint8.valueOf(28), Uint8.valueOf(29), Uint8.valueOf(30));
-        NextTableMissBuilder nextTblMissBld = new NextTableMissBuilder();
-
-        nextTblMissBld.setTablesMiss(new TablesMissBuilder().setTableIds(nextTblMissIds).build());
-        tableFeatureProperty.setTableFeaturePropType(nextTblMissBld.build());
-
-        TableFeaturePropertiesKey keyValue = new TableFeaturePropertiesKey(0);
-        tableFeatureProperty.withKey(keyValue);
-        tableFeatureProperty.setOrder(1);
-
-        return tableFeatureProperty;
+        return new TableFeaturePropertiesBuilder()
+            .setTableFeaturePropType(new NextTableMissBuilder()
+                .setTablesMiss(new TablesMissBuilder()
+                    .setTableIds(List.of(Uint8.valueOf(23), Uint8.valueOf(24), Uint8.valueOf(25),
+                        Uint8.valueOf(27), Uint8.valueOf(28), Uint8.valueOf(29), Uint8.valueOf(30)))
+                    .build())
+                .build())
+            .withKey(new TableFeaturePropertiesKey(0))
+            .setOrder(1);
     }
 
     private static TableFeaturePropertiesBuilder createInstructionsTblFeatureProp() {
-        List<Instruction> instLst = new ArrayList<>();
-        TableFeaturePropertiesBuilder tableFeatureProperty = new TableFeaturePropertiesBuilder();
-        tableFeatureProperty.setTableFeaturePropType(
-            new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table
-                .feature.prop.type.InstructionsBuilder().setInstructions(
-                    new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type
-                        .table.feature.prop.type.instructions.InstructionsBuilder().setInstruction(instLst).build())
-                            .build());
-
-
-        TableFeaturePropertiesKey keyValue = new TableFeaturePropertiesKey(0);
-        tableFeatureProperty.withKey(keyValue);
-        tableFeatureProperty.setOrder(1);
-
-        return tableFeatureProperty;
+        return new TableFeaturePropertiesBuilder()
+            .setTableFeaturePropType(new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table
+                .feature.prop.type.table.feature.prop.type.InstructionsBuilder()
+                    .setInstructions(new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table
+                        .feature.prop.type.table.feature.prop.type.instructions.InstructionsBuilder().build())
+                    .build())
+            .withKey(new TableFeaturePropertiesKey(0))
+            .setOrder(1);
     }
 
     private static TableFeaturePropertiesBuilder createInstructionsMissTblFeatureProp() {
         // To set the instructions miss -- "t7"
 
-        List<Instruction> instLst = new ArrayList<>();
-        TableFeaturePropertiesBuilder tableFeatureProperty = new TableFeaturePropertiesBuilder();
-        tableFeatureProperty.setTableFeaturePropType(
-            new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table
-                .feature.prop.type.InstructionsMissBuilder().setInstructionsMiss(
-                    new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type
-                        .table.feature.prop.type.instructions.miss.InstructionsMissBuilder().setInstruction(instLst)
-                            .build()).build());
-
-
-        TableFeaturePropertiesKey keyValue = new TableFeaturePropertiesKey(0);
-        tableFeatureProperty.withKey(keyValue);
-        tableFeatureProperty.setOrder(1);
-
-        return tableFeatureProperty;
+        return new TableFeaturePropertiesBuilder()
+            .setTableFeaturePropType(new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table
+                .feature.prop.type.table.feature.prop.type.InstructionsMissBuilder()
+                    .setInstructionsMiss(new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table
+                        .feature.prop.type.table.feature.prop.type.instructions.miss.InstructionsMissBuilder().build())
+                    .build())
+            .withKey(new TableFeaturePropertiesKey(0))
+            .setOrder(1);
     }
 
     private static TableFeaturePropertiesBuilder createWriteActionsTblFeatureProp() {
         // t8
 
-        List<Action> actionList = new ArrayList<>();
-
-        ActionBuilder abt1 = new ActionBuilder();
-        abt1.setAction(new CopyTtlOutCaseBuilder().build());
-        actionList.add(abt1.build());
-
-        ActionBuilder abt2 = new ActionBuilder();
-        abt2.setAction(new PopVlanActionCaseBuilder().build());
-        actionList.add(abt2.build());
-
-        TableFeaturePropertiesBuilder tableFeatureProperty = new TableFeaturePropertiesBuilder();
-        tableFeatureProperty.setTableFeaturePropType(
-            new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table
-                .feature.prop.type.WriteActionsBuilder().setWriteActions(new org.opendaylight.yang.gen.v1.urn
-                    .opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.write.actions
-                        .WriteActionsBuilder().setAction(actionList).build()).build());
-
-        TableFeaturePropertiesKey keyValue = new TableFeaturePropertiesKey(0);
-        tableFeatureProperty.withKey(keyValue);
-        tableFeatureProperty.setOrder(1);
-
-        return tableFeatureProperty;
+        return new TableFeaturePropertiesBuilder()
+            .setTableFeaturePropType(new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table
+                .feature.prop.type.table.feature.prop.type.WriteActionsBuilder()
+                    .setWriteActions(new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table
+                        .feature.prop.type.table.feature.prop.type.write.actions.WriteActionsBuilder()
+                            .setAction(BindingMap.ordered(
+                                new ActionBuilder().setAction(new CopyTtlOutCaseBuilder().build()).build(),
+                                new ActionBuilder().setAction(new PopVlanActionCaseBuilder().build()).build()))
+                        .build())
+                    .build())
+            .withKey(new TableFeaturePropertiesKey(0))
+            .setOrder(1);
     }
 
     private static TableFeaturePropertiesBuilder createWriteActionsMissTblFeatureProp() {
         // t9
-        List<Action> actionList = new ArrayList<>();
-
-        ActionBuilder abt1 = new ActionBuilder();
-        abt1.setAction(new CopyTtlInCaseBuilder().build());
-        actionList.add(abt1.build());
-
-        ActionBuilder abt2 = new ActionBuilder();
-        abt2.setAction(new PushPbbActionCaseBuilder().build());
-        actionList.add(abt2.build());
-
-        TableFeaturePropertiesBuilder tableFeatureProperty = new TableFeaturePropertiesBuilder();
-        tableFeatureProperty.setTableFeaturePropType(
-            new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table
-                .feature.prop.type.WriteActionsMissBuilder().setWriteActionsMiss(new org.opendaylight.yang.gen.v1.urn
-                    .opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.write.actions
-                        .miss.WriteActionsMissBuilder().setAction(actionList).build()).build());
-
-        TableFeaturePropertiesKey keyValue = new TableFeaturePropertiesKey(0);
-        tableFeatureProperty.withKey(keyValue);
-        tableFeatureProperty.setOrder(1);
-
-        return tableFeatureProperty;
+        return new TableFeaturePropertiesBuilder()
+            .setTableFeaturePropType(new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table
+                .feature.prop.type.table.feature.prop.type.WriteActionsMissBuilder()
+                    .setWriteActionsMiss(new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table
+                        .feature.prop.type.table.feature.prop.type.write.actions.miss.WriteActionsMissBuilder()
+                            .setAction(BindingMap.ordered(
+                                new ActionBuilder().setAction(new CopyTtlInCaseBuilder().build()).build(),
+                                new ActionBuilder().setAction(new PushPbbActionCaseBuilder().build()).build()))
+                            .build())
+                    .build())
+            .withKey(new TableFeaturePropertiesKey(0))
+            .setOrder(1);
     }
 
     private static TableFeaturePropertiesBuilder createMatchFieldTblFeatureProp() {
         //t10
-
-        List<SetFieldMatch> setFieldMatch = new ArrayList<>();
-        SetFieldMatchBuilder setFieldMatchBld = new SetFieldMatchBuilder();
-        setFieldMatchBld.setHasMask(false);
-        setFieldMatchBld.setMatchType(MplsLabel.class);
-
-
-        setFieldMatch.add(setFieldMatchBld.build());
-        MatchBuilder matchBld = new MatchBuilder();
-        MatchSetfieldBuilder matchSetfieldBld = new MatchSetfieldBuilder();
-        matchSetfieldBld.setSetFieldMatch(setFieldMatch);
-        matchBld.setMatchSetfield(matchSetfieldBld.build());
-
-        TableFeaturePropertiesBuilder tableFeatureProperty = new TableFeaturePropertiesBuilder();
-        tableFeatureProperty.setTableFeaturePropType(matchBld.build());
-        TableFeaturePropertiesKey keyValue = new TableFeaturePropertiesKey(0);
-        tableFeatureProperty.withKey(keyValue);
-        tableFeatureProperty.setOrder(1);
-
-        return tableFeatureProperty;
+        return new TableFeaturePropertiesBuilder()
+            .setTableFeaturePropType(new MatchBuilder()
+                .setMatchSetfield(new MatchSetfieldBuilder()
+                    .setSetFieldMatch(BindingMap.of(new SetFieldMatchBuilder()
+                        .setHasMask(false)
+                        .setMatchType(MplsLabel.class)
+                        .build()))
+                    .build())
+                .build())
+            .withKey(new TableFeaturePropertiesKey(0))
+            .setOrder(1);
     }
 
     private static TableFeaturePropertiesBuilder createWriteSetFieldTblFeatureProp() {
         //t11
-
-        SetFieldMatchBuilder setFieldMatchBld1 = new SetFieldMatchBuilder();
-        setFieldMatchBld1.setHasMask(false);
-        setFieldMatchBld1.setMatchType(MplsLabel.class);
-
-        SetFieldMatchBuilder setFieldMatchBld2 = new SetFieldMatchBuilder();
-        setFieldMatchBld2.setHasMask(true);
-        setFieldMatchBld2.setMatchType(MplsBos.class);
-
-        SetFieldMatchBuilder setFieldMatchBld3 = new SetFieldMatchBuilder();
-        setFieldMatchBld3.setHasMask(true);
-        setFieldMatchBld3.setMatchType(EthDst.class);
-
-        List<SetFieldMatch> setFieldMatch = new ArrayList<>();
-        setFieldMatch.add(setFieldMatchBld1.build());
-        setFieldMatch.add(setFieldMatchBld2.build());
-        setFieldMatch.add(setFieldMatchBld3.build());
-
-        WriteSetfieldBuilder writeSetfieldBld = new WriteSetfieldBuilder();
-        org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop
-            .type.write.setfield.WriteSetfieldBuilder writeSetfieldBuilder =
-                new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table
-                    .feature.prop.type.write.setfield.WriteSetfieldBuilder();
-        writeSetfieldBuilder.setSetFieldMatch(setFieldMatch);
-        writeSetfieldBld.setWriteSetfield(writeSetfieldBuilder.build());
-
-        TableFeaturePropertiesBuilder tableFeatureProperty = new TableFeaturePropertiesBuilder();
-        tableFeatureProperty.setTableFeaturePropType(writeSetfieldBld.build());
-        TableFeaturePropertiesKey keyValue = new TableFeaturePropertiesKey(0);
-        tableFeatureProperty.withKey(keyValue);
-        tableFeatureProperty.setOrder(1);
-
-        return tableFeatureProperty;
+        return new TableFeaturePropertiesBuilder()
+            .setTableFeaturePropType(new WriteSetfieldBuilder()
+                .setWriteSetfield(new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature
+                    .prop.type.table.feature.prop.type.write.setfield.WriteSetfieldBuilder()
+                        .setSetFieldMatch(BindingMap.ordered(
+                            new SetFieldMatchBuilder().setHasMask(false).setMatchType(MplsLabel.class).build(),
+                            new SetFieldMatchBuilder().setHasMask(true).setMatchType(MplsBos.class).build(),
+                            new SetFieldMatchBuilder().setHasMask(true).setMatchType(EthDst.class).build())).build())
+                .build())
+            .withKey(new TableFeaturePropertiesKey(0))
+            .setOrder(1);
     }
 
     private static TableFeaturePropertiesBuilder createWriteSetFieldMissTblFeatureProp() {
         // t12
-
-        SetFieldMatchBuilder setFieldMatchBld1 = new SetFieldMatchBuilder();
-        setFieldMatchBld1.setHasMask(false);
-        setFieldMatchBld1.setMatchType(EthSrc.class);
-
-        SetFieldMatchBuilder setFieldMatchBld2 = new SetFieldMatchBuilder();
-        setFieldMatchBld2.setHasMask(true);
-        setFieldMatchBld2.setMatchType(InPort.class);
-
-        SetFieldMatchBuilder setFieldMatchBld3 = new SetFieldMatchBuilder();
-        setFieldMatchBld3.setHasMask(true);
-        setFieldMatchBld3.setMatchType(Ipv4Dst.class);
-
-        List<SetFieldMatch> setFieldMatch = new ArrayList<>();
-        setFieldMatch.add(setFieldMatchBld1.build());
-        setFieldMatch.add(setFieldMatchBld2.build());
-        setFieldMatch.add(setFieldMatchBld3.build());
-
-        WriteSetfieldMissBuilder writeSetfieldBld = new WriteSetfieldMissBuilder();
-        org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop
-            .type.write.setfield.miss.WriteSetfieldMissBuilder writeSetfieldMissBuilder =
-                new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table
-                    .feature.prop.type.write.setfield.miss.WriteSetfieldMissBuilder();
-        writeSetfieldMissBuilder.setSetFieldMatch(setFieldMatch);
-        writeSetfieldBld.setWriteSetfieldMiss(writeSetfieldMissBuilder.build());
-
-        TableFeaturePropertiesBuilder tableFeatureProperty = new TableFeaturePropertiesBuilder();
-        tableFeatureProperty.setTableFeaturePropType(writeSetfieldBld.build());
-        TableFeaturePropertiesKey keyValue = new TableFeaturePropertiesKey(0);
-        tableFeatureProperty.withKey(keyValue);
-        tableFeatureProperty.setOrder(1);
-
-        return tableFeatureProperty;
+        return new TableFeaturePropertiesBuilder()
+            .setTableFeaturePropType(new WriteSetfieldMissBuilder()
+            .setWriteSetfieldMiss(new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature
+                .prop.type.table.feature.prop.type.write.setfield.miss.WriteSetfieldMissBuilder()
+                    .setSetFieldMatch(BindingMap.ordered(
+                        new SetFieldMatchBuilder().setHasMask(false).setMatchType(EthSrc.class).build(),
+                        new SetFieldMatchBuilder().setHasMask(true).setMatchType(InPort.class).build(),
+                        new SetFieldMatchBuilder().setHasMask(true).setMatchType(Ipv4Dst.class).build()))
+                    .build())
+            .build())
+            .withKey(new TableFeaturePropertiesKey(0)).setOrder(1);
     }
 
     private static TableFeaturePropertiesBuilder createApplySetFieldTblFeatureProp() {
         //t13
-
-        SetFieldMatchBuilder setFieldMatchBld1 = new SetFieldMatchBuilder();
-        setFieldMatchBld1.setHasMask(false);
-        setFieldMatchBld1.setMatchType(ArpOp.class);
-
-        SetFieldMatchBuilder setFieldMatchBld2 = new SetFieldMatchBuilder();
-        setFieldMatchBld2.setHasMask(true);
-        setFieldMatchBld2.setMatchType(InPort.class);
-
-        SetFieldMatchBuilder setFieldMatchBld3 = new SetFieldMatchBuilder();
-        setFieldMatchBld3.setHasMask(true);
-        setFieldMatchBld3.setMatchType(Ipv4Dst.class);
-
-        List<SetFieldMatch> setFieldMatch = new ArrayList<>();
-        setFieldMatch.add(setFieldMatchBld1.build());
-        setFieldMatch.add(setFieldMatchBld2.build());
-        setFieldMatch.add(setFieldMatchBld3.build());
-
-        ApplySetfieldBuilder applySetfieldBld = new ApplySetfieldBuilder();
-        org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop
-            .type.apply.setfield.ApplySetfieldBuilder applySetfieldBuilder =
-                new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table
-                    .feature.prop.type.apply.setfield.ApplySetfieldBuilder();
-        applySetfieldBuilder.setSetFieldMatch(setFieldMatch);
-        applySetfieldBld.setApplySetfield(applySetfieldBuilder.build());
-
-        TableFeaturePropertiesBuilder tableFeatureProperty = new TableFeaturePropertiesBuilder();
-        tableFeatureProperty.setTableFeaturePropType(applySetfieldBld.build());
-        TableFeaturePropertiesKey keyValue = new TableFeaturePropertiesKey(0);
-        tableFeatureProperty.withKey(keyValue);
-        tableFeatureProperty.setOrder(1);
-
-        return tableFeatureProperty;
+        return new TableFeaturePropertiesBuilder()
+            .setTableFeaturePropType(new ApplySetfieldBuilder()
+                .setApplySetfield(new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature
+                    .prop.type.table.feature.prop.type.apply.setfield.ApplySetfieldBuilder()
+                        .setSetFieldMatch(BindingMap.ordered(
+                            new SetFieldMatchBuilder().setHasMask(false).setMatchType(ArpOp.class).build(),
+                            new SetFieldMatchBuilder().setHasMask(true).setMatchType(InPort.class).build(),
+                            new SetFieldMatchBuilder().setHasMask(true).setMatchType(Ipv4Dst.class).build()))
+                        .build())
+            .build())
+            .withKey(new TableFeaturePropertiesKey(0))
+            .setOrder(1);
     }
 
     private static TableFeaturePropertiesBuilder createApplySetFieldMissTblFeatureProp() {
         //t14
-
-        SetFieldMatchBuilder setFieldMatchBld1 = new SetFieldMatchBuilder();
-        setFieldMatchBld1.setHasMask(false);
-        setFieldMatchBld1.setMatchType(ArpOp.class);
-
-        SetFieldMatchBuilder setFieldMatchBld2 = new SetFieldMatchBuilder();
-        setFieldMatchBld2.setHasMask(true);
-        setFieldMatchBld2.setMatchType(InPort.class);
-
-        SetFieldMatchBuilder setFieldMatchBld3 = new SetFieldMatchBuilder();
-        setFieldMatchBld3.setHasMask(true);
-        setFieldMatchBld3.setMatchType(Ipv4Dst.class);
-
-        List<SetFieldMatch> setFieldMatch = new ArrayList<>();
-        setFieldMatch.add(setFieldMatchBld1.build());
-        setFieldMatch.add(setFieldMatchBld2.build());
-        setFieldMatch.add(setFieldMatchBld3.build());
-
-        ApplySetfieldMissBuilder applySetfieldMissBld = new ApplySetfieldMissBuilder();
-        org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop
-            .type.apply.setfield.miss.ApplySetfieldMissBuilder applySetfieldMissBuilder =
-                new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table
-                    .feature.prop.type.apply.setfield.miss.ApplySetfieldMissBuilder();
-        applySetfieldMissBuilder.setSetFieldMatch(setFieldMatch);
-        applySetfieldMissBld.setApplySetfieldMiss(applySetfieldMissBuilder.build());
-
-        TableFeaturePropertiesBuilder tableFeatureProperty = new TableFeaturePropertiesBuilder();
-        tableFeatureProperty.setTableFeaturePropType(applySetfieldMissBld.build());
-        TableFeaturePropertiesKey keyValue = new TableFeaturePropertiesKey(0);
-        tableFeatureProperty.withKey(keyValue);
-        tableFeatureProperty.setOrder(1);
-
-        return tableFeatureProperty;
+        return new TableFeaturePropertiesBuilder()
+            .setTableFeaturePropType(new ApplySetfieldMissBuilder()
+                .setApplySetfieldMiss(new org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table
+                    .feature.prop.type.table.feature.prop.type.apply.setfield.miss.ApplySetfieldMissBuilder()
+                        .setSetFieldMatch(BindingMap.of(
+                            new SetFieldMatchBuilder().setHasMask(false).setMatchType(ArpOp.class).build(),
+                            new SetFieldMatchBuilder().setHasMask(true).setMatchType(InPort.class).build(),
+                            new SetFieldMatchBuilder().setHasMask(true).setMatchType(Ipv4Dst.class).build()))
+                        .build())
+                .build())
+            .withKey(new TableFeaturePropertiesKey(0))
+            .setOrder(1);
     }
 
     private static TableFeaturePropertiesBuilder createWildCardsTblFeatureProp() {
         //t15
-
-        SetFieldMatchBuilder setFieldMatchBld1 = new SetFieldMatchBuilder();
-        setFieldMatchBld1.setHasMask(false);
-        setFieldMatchBld1.setMatchType(ArpOp.class);
-
-        SetFieldMatchBuilder setFieldMatchBld2 = new SetFieldMatchBuilder();
-        setFieldMatchBld2.setHasMask(true);
-        setFieldMatchBld2.setMatchType(InPort.class);
-
-        List<SetFieldMatch> setFieldMatch = new ArrayList<>();
-        setFieldMatch.add(setFieldMatchBld1.build());
-        setFieldMatch.add(setFieldMatchBld2.build());
-
-        WildcardsBuilder wildCardsBld = new WildcardsBuilder();
-        WildcardSetfieldBuilder wildcardsBuilder =
-                new WildcardSetfieldBuilder();
-        wildcardsBuilder.setSetFieldMatch(setFieldMatch);
-        wildCardsBld.setWildcardSetfield(wildcardsBuilder.build());
-
-        TableFeaturePropertiesBuilder tableFeatureProperty = new TableFeaturePropertiesBuilder();
-        tableFeatureProperty.setTableFeaturePropType(wildCardsBld.build());
-        TableFeaturePropertiesKey keyValue = new TableFeaturePropertiesKey(0);
-        tableFeatureProperty.withKey(keyValue);
-        tableFeatureProperty.setOrder(1);
-
-        return tableFeatureProperty;
+        return new TableFeaturePropertiesBuilder()
+            .setTableFeaturePropType(new WildcardsBuilder()
+                .setWildcardSetfield(new WildcardSetfieldBuilder()
+                    .setSetFieldMatch(BindingMap.ordered(
+                        new SetFieldMatchBuilder().setHasMask(false).setMatchType(ArpOp.class).build(),
+                        new SetFieldMatchBuilder().setHasMask(true).setMatchType(InPort.class).build()))
+                    .build())
+                .build())
+            .withKey(new TableFeaturePropertiesKey(0))
+            .setOrder(1);
     }
 
     private void writeTableFeatures(final CommandInterpreter ci, final TableFeatures tableFeatures) {
@@ -593,6 +403,7 @@ public class OpenflowpluginTableFeaturesTestCommandProvider implements CommandPr
         }, MoreExecutors.directExecutor());
     }
 
+    @SuppressWarnings("checkstyle:MethodName")
     public void _modifyTable(final CommandInterpreter ci) {
         String nref = ci.nextArgument();
         ci.println(" Table Command Provider modify");
@@ -612,11 +423,10 @@ public class OpenflowpluginTableFeaturesTestCommandProvider implements CommandPr
 
     @Override
     public String getHelp() {
-        StringBuilder help = new StringBuilder();
-        help.append("---FRM MD-SAL Table test module---\n");
-        help.append("\t modifyTable <node id>        - node ref\n");
-
-        return help.toString();
+        return new StringBuilder()
+            .append("---FRM MD-SAL Table test module---\n")
+            .append("\t modifyTable <node id>        - node ref\n")
+            .toString();
     }
 }
 
index 851ae24ad0d01fa85d184daf845351adebe56550..64836a6578d2d95d22f558a60176bb61d27af81c 100644 (file)
@@ -93,7 +93,7 @@ public class OpenflowpluginTableFeaturesTestServiceProvider implements
      */
     @Override
     public ListenableFuture<RpcResult<UpdateTableOutput>> updateTable(
-            UpdateTableInput input) {
+            final UpdateTableInput input) {
         OpenflowpluginTableFeaturesTestServiceProvider.LOG.info("updateTable - {}", input);
         return null;
     }
@@ -104,7 +104,7 @@ public class OpenflowpluginTableFeaturesTestServiceProvider implements
             InstanceIdentifier.create(Nodes.class)
             .child(Node.class, new NodeKey(new NodeId(OpenflowpluginTestActivator.NODE_ID))))));
 
-        return new AbstractObjectRegistration<OpenflowpluginTableFeaturesTestServiceProvider>(this) {
+        return new AbstractObjectRegistration<>(this) {
             @Override
             protected void removeRegistration() {
                 tableRegistration.close();
index 6ebcf4396a63984d12fb7e12796cf5d9728c54e0..27f4fc7df0eb88fa28495504bd3a702e47781f16 100644 (file)
@@ -9,8 +9,6 @@ package org.opendaylight.openflowplugin.test;
 
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.MoreExecutors;
-import java.util.ArrayList;
-import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
@@ -69,9 +67,7 @@ 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.copy.ttl.in._case.CopyTtlInBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.copy.ttl.out._case.CopyTtlOutBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.dec.mpls.ttl._case.DecMplsTtlBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.dec.nw.ttl._case.DecNwTtl;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.dec.nw.ttl._case.DecNwTtlBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.drop.action._case.DropAction;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.drop.action._case.DropActionBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.flood.action._case.FloodActionBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.flood.all.action._case.FloodAllActionBuilder;
@@ -103,7 +99,6 @@ 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.set.vlan.pcp.action._case.SetVlanPcpActionBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.strip.vlan.action._case.StripVlanActionBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.sw.path.action._case.SwPathActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.ActionBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.ActionKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.address.address.Ipv4Builder;
@@ -128,7 +123,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instru
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.go.to.table._case.GoToTableBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.meter._case.MeterBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.write.metadata._case.WriteMetadataBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.Instruction;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId;
@@ -136,7 +130,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.EtherType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.VlanId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.VlanPcp;
@@ -169,6 +162,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.vlan.match.fields.VlanIdBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.node.error.service.rev140410.NodeErrorListener;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 import org.opendaylight.yangtools.yang.common.Uint16;
 import org.opendaylight.yangtools.yang.common.Uint32;
 import org.opendaylight.yangtools.yang.common.Uint64;
@@ -177,7 +171,6 @@ import org.osgi.framework.BundleContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@SuppressWarnings("checkstyle:MethodName")
 public class OpenflowpluginTestCommandProvider implements CommandProvider {
 
     private static final Logger LOG = LoggerFactory.getLogger(OpenflowpluginTestCommandProvider.class);
@@ -209,18 +202,7 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
     }
 
     private static NodeBuilder createTestNode(final String nodeId) {
-        String localNodeId;
-
-        if (nodeId == null) {
-            localNodeId = OpenflowpluginTestActivator.NODE_ID;
-        } else {
-            localNodeId = nodeId;
-        }
-
-        final NodeBuilder builder = new NodeBuilder();
-        builder.setId(new NodeId(localNodeId));
-        builder.withKey(new NodeKey(builder.getId()));
-        return builder;
+        return new NodeBuilder().setId(new NodeId(nodeId != null ? nodeId : OpenflowpluginTestActivator.NODE_ID));
     }
 
     private static InstanceIdentifier<Node> nodeBuilderToInstanceId(final NodeBuilder node) {
@@ -231,7 +213,6 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
             final String tableId) {
         final long TEST_ID = 123;
 
-        final FlowBuilder flow = new FlowBuilder();
         long id = TEST_ID;
 
         String flowType = flowTypeArg;
@@ -239,7 +220,8 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
             flowType = "f1";
         }
 
-        flow.setPriority(Uint16.TWO);
+        final FlowBuilder flow = new FlowBuilder()
+            .setPriority(Uint16.TWO);
 
         switch (flowType) {
             case "f1":
@@ -686,29 +668,26 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
                 LOG.warn("flow type not understood: {}", flowType);
         }
 
-        final FlowKey key = new FlowKey(new FlowId(Long.toString(id)));
-        if (null == flow.getBarrier()) {
+        if (flow.getBarrier() == null) {
             flow.setBarrier(Boolean.FALSE);
         }
-        flow.setCookie(new FlowCookie(Uint64.TEN));
-        flow.setCookieMask(new FlowCookie(Uint64.TEN));
-        flow.setHardTimeout(Uint16.ZERO);
-        flow.setIdleTimeout(Uint16.ZERO);
-        flow.setInstallHw(false);
-        flow.setStrict(false);
-        flow.setContainerName(null);
-        flow.setFlags(new FlowModFlags(false, false, false, false, true));
-        flow.setId(new FlowId("12"));
-        flow.setTableId(getTableId(tableId));
 
-        flow.withKey(key);
-        flow.setFlowName(ORIGINAL_FLOW_NAME + "X" + flowType);
-        return flow;
+        return flow
+            .setCookie(new FlowCookie(Uint64.TEN))
+            .setCookieMask(new FlowCookie(Uint64.TEN))
+            .setHardTimeout(Uint16.ZERO)
+            .setIdleTimeout(Uint16.ZERO)
+            .setInstallHw(false)
+            .setStrict(false)
+            .setContainerName(null)
+            .setFlags(new FlowModFlags(false, false, false, false, true))
+            .setId(new FlowId("12"))
+            .setTableId(getTableId(tableId))
+            .withKey(new FlowKey(new FlowId(Long.toString(id))))
+            .setFlowName(ORIGINAL_FLOW_NAME + "X" + flowType);
     }
 
-
     private static FlowBuilder createTestFlowPerfTest(final String flowTypeArg, final String tableId, final int id) {
-        final FlowBuilder flow = new FlowBuilder();
         String flowType = flowTypeArg;
         int flowId = id;
 
@@ -716,7 +695,8 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
             flowType = "f1";
         }
 
-        flow.setPriority(Uint16.valueOf(flowId));
+        final FlowBuilder flow = new FlowBuilder()
+            .setPriority(Uint16.valueOf(flowId));
 
         switch (flowType) {
             case "f1":
@@ -728,37 +708,32 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
                 LOG.warn("flow type not understood: {}", flowType);
         }
 
-        final FlowKey key = new FlowKey(new FlowId(Long.toString(flowId)));
-        if (null == flow.getBarrier()) {
+        if (flow.getBarrier() == null) {
             flow.setBarrier(Boolean.FALSE);
         }
-        flow.setCookie(new FlowCookie(Uint64.TEN));
-        flow.setCookieMask(new FlowCookie(Uint64.TEN));
-        flow.setHardTimeout(Uint16.ZERO);
-        flow.setIdleTimeout(Uint16.ZERO);
-        flow.setInstallHw(false);
-        flow.setStrict(false);
-        flow.setContainerName(null);
-        flow.setFlags(new FlowModFlags(false, false, false, false, true));
-        flow.setId(new FlowId("12"));
-        flow.setTableId(getTableId(tableId));
-
-        flow.withKey(key);
-        flow.setFlowName(ORIGINAL_FLOW_NAME + "X" + flowType);
-        return flow;
+
+        return flow
+            .setCookie(new FlowCookie(Uint64.TEN))
+            .setCookieMask(new FlowCookie(Uint64.TEN))
+            .setHardTimeout(Uint16.ZERO)
+            .setIdleTimeout(Uint16.ZERO)
+            .setInstallHw(false)
+            .setStrict(false)
+            .setContainerName(null)
+            .setFlags(new FlowModFlags(false, false, false, false, true))
+            .setId(new FlowId("12"))
+            .setTableId(getTableId(tableId))
+            .withKey(new FlowKey(new FlowId(Long.toString(flowId))))
+            .setFlowName(ORIGINAL_FLOW_NAME + "X" + flowType);
     }
 
     private static FlowBuilder createtablemiss() {
-        final FlowBuilder flow = new FlowBuilder();
-        final long id = 456;
-        final MatchBuilder matchBuilder = new MatchBuilder();
-        flow.setMatch(matchBuilder.build());
-        flow.setInstructions(createSentToControllerInstructions().build());
-        flow.setPriority(Uint16.ZERO);
-        flow.setTableId(Uint8.ZERO);
-        final FlowKey key = new FlowKey(new FlowId(Long.toString(id)));
-        flow.withKey(key);
-        return flow;
+        return new FlowBuilder()
+            .setMatch(new MatchBuilder().build())
+            .setInstructions(createSentToControllerInstructions().build())
+            .setPriority(Uint16.ZERO)
+            .setTableId(Uint8.ZERO)
+            .withKey(new FlowKey(new FlowId("456")));
     }
 
     private static Uint8 getTableId(final String tableId) {
@@ -778,1413 +753,928 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
     }
 
     private static InstructionsBuilder createDecNwTtlInstructions() {
-        final DecNwTtlBuilder ta = new DecNwTtlBuilder();
-        final DecNwTtl decNwTtl = ta.build();
-        final ActionBuilder ab = new ActionBuilder();
-        ab.setAction(new DecNwTtlCaseBuilder().setDecNwTtl(decNwTtl).build());
-        ab.withKey(new ActionKey(0));
-        // Add our drop action to a list
-        final List<Action> actionList = new ArrayList<>();
-        actionList.add(ab.build());
-
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-        ib.withKey(new InstructionKey(0));
-        ib.setOrder(0);
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        ib.withKey(new InstructionKey(0));
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new DecNwTtlCaseBuilder().setDecNwTtl(new DecNwTtlBuilder().build()).build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createMeterInstructions() {
-
-        final MeterBuilder aab = new MeterBuilder();
-        aab.setMeterId(new MeterId(Uint32.ONE));
-
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new MeterCaseBuilder().setMeter(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new MeterCaseBuilder()
+                    .setMeter(new MeterBuilder().setMeterId(new MeterId(Uint32.ONE)).build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createMetadataInstructions() {
-
-        final WriteMetadataBuilder aab = new WriteMetadataBuilder();
-        aab.setMetadata(Uint64.valueOf(10));
-        aab.setMetadataMask(Uint64.valueOf(10));
-
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new WriteMetadataCaseBuilder().setWriteMetadata(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .withKey(new InstructionKey(0))
+                .setInstruction(new WriteMetadataCaseBuilder()
+                    .setWriteMetadata(new WriteMetadataBuilder()
+                        .setMetadata(Uint64.TEN).setMetadataMask(Uint64.TEN)
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createGotoTableInstructions() {
-
-        final GoToTableBuilder aab = new GoToTableBuilder();
-        aab.setTableId(Uint8.valueOf(5));
-
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new GoToTableCaseBuilder().setGoToTable(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new GoToTableCaseBuilder()
+                    .setGoToTable(new GoToTableBuilder().setTableId(Uint8.valueOf(5)).build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createDropInstructions() {
-        final DropActionBuilder dab = new DropActionBuilder();
-        final DropAction dropAction = dab.build();
-        final ActionBuilder ab = new ActionBuilder();
-        ab.setAction(new DropActionCaseBuilder().setDropAction(dropAction).build());
-        ab.withKey(new ActionKey(0));
-        // Add our drop action to a list
-        final List<Action> actionList = new ArrayList<>();
-        actionList.add(ab.build());
-        ab.withKey(new ActionKey(0));
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
         // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .withKey(new ActionKey(0))
+                            .setAction(new DropActionCaseBuilder()
+                                .setDropAction(new DropActionBuilder().build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-        final ControllerActionBuilder controller = new ControllerActionBuilder();
-        controller.setMaxLength(Uint16.valueOf(5));
-        ab.setAction(new ControllerActionCaseBuilder().setControllerAction(controller.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new ControllerActionCaseBuilder()
+                                .setControllerAction(new ControllerActionBuilder()
+                                    .setMaxLength(Uint16.valueOf(5))
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction1() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final OutputActionBuilder output = new OutputActionBuilder();
-        output.setMaxLength(Uint16.valueOf(56));
-        final Uri value = new Uri("PCEP");
-        output.setOutputNodeConnector(value);
-        ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new OutputActionCaseBuilder()
+                                .setOutputAction(new OutputActionBuilder()
+                                    .setMaxLength(Uint16.valueOf(56))
+                                    .setOutputNodeConnector(new Uri("PCEP"))
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createOutputInstructions() {
-
         // test case for Output Port works if the particular port exists
         // this particular test-case is for Port : 1
         // tested as (addMDFlow openflow:<dpid> f82)
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-        final OutputActionBuilder output = new OutputActionBuilder();
-
-        final Uri value = new Uri("1");
-        output.setOutputNodeConnector(value);
-        ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
-        ab.setOrder(0);
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-        ib.setOrder(0);
-        ib.withKey(new InstructionKey(0));
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new OutputActionCaseBuilder()
+                                .setOutputAction(new OutputActionBuilder().setOutputNodeConnector(new Uri("1")).build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createOutputInstructions(final String outputType, final Uint16 outputValue) {
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final OutputActionBuilder output = new OutputActionBuilder();
-        output.setMaxLength(outputValue);
-        final Uri value = new Uri(outputType);
-        output.setOutputNodeConnector(value);
-        ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
-        ab.setOrder(0);
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-        ib.setOrder(0);
-        ib.withKey(new InstructionKey(0));
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new OutputActionCaseBuilder()
+                                .setOutputAction(new OutputActionBuilder()
+                                    .setMaxLength(outputValue)
+                                    .setOutputNodeConnector(new Uri(outputType))
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createSentToControllerInstructions() {
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final OutputActionBuilder output = new OutputActionBuilder();
-        output.setMaxLength(Uint16.MAX_VALUE);
-        final Uri value = new Uri(OutputPortValues.CONTROLLER.toString());
-        output.setOutputNodeConnector(value);
-        ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
-        ab.setOrder(0);
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-        ib.setOrder(0);
-        ib.withKey(new InstructionKey(0));
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new OutputActionCaseBuilder()
+                                .setOutputAction(new OutputActionBuilder()
+                                    .setMaxLength(Uint16.MAX_VALUE)
+                                    .setOutputNodeConnector(new Uri(OutputPortValues.CONTROLLER.toString()))
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
-
     private static InstructionsBuilder createStripVlanInstructions() {
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final StripVlanActionBuilder stripActionBuilder = new StripVlanActionBuilder();
-        ab.setAction(new StripVlanActionCaseBuilder().setStripVlanAction(stripActionBuilder.build()).build());
-        ab.setOrder(0);
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-        ib.setOrder(0);
-        ib.withKey(new InstructionKey(0));
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new StripVlanActionCaseBuilder()
+                                .setStripVlanAction(new StripVlanActionBuilder().build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction2() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final PushMplsActionBuilder push = new PushMplsActionBuilder();
-        push.setEthernetType(Uint16.valueOf(0x8847));
-        ab.setAction(new PushMplsActionCaseBuilder().setPushMplsAction(push.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new PushMplsActionCaseBuilder()
+                                .setPushMplsAction(new PushMplsActionBuilder()
+                                    .setEthernetType(Uint16.valueOf(0x8847))
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction3() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final PushPbbActionBuilder pbb = new PushPbbActionBuilder();
-        pbb.setEthernetType(Uint16.valueOf(0x88E7));
-        ab.setAction(new PushPbbActionCaseBuilder().setPushPbbAction(pbb.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new PushPbbActionCaseBuilder()
+                                .setPushPbbAction(new PushPbbActionBuilder()
+                                    .setEthernetType(Uint16.valueOf(0x88E7))
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction4() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final PushVlanActionBuilder vlan = new PushVlanActionBuilder();
-        vlan.setEthernetType(Uint16.valueOf(0x8100));
-        ab.setAction(new PushVlanActionCaseBuilder().setPushVlanAction(vlan.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new PushVlanActionCaseBuilder()
+                                .setPushVlanAction(new PushVlanActionBuilder()
+                                    .setEthernetType(Uint16.valueOf(0x8100))
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction5() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final SetDlDstActionBuilder setdl = new SetDlDstActionBuilder();
-        setdl.setAddress(new MacAddress("00:05:b9:7c:81:5f"));
-        ab.setAction(new SetDlDstActionCaseBuilder().setSetDlDstAction(setdl.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetDlDstActionCaseBuilder()
+                                .setSetDlDstAction(new SetDlDstActionBuilder()
+                                    .setAddress(new MacAddress("00:05:b9:7c:81:5f"))
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction6() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final SetDlSrcActionBuilder src = new SetDlSrcActionBuilder();
-        src.setAddress(new MacAddress("00:05:b9:7c:81:5f"));
-        ab.setAction(new SetDlSrcActionCaseBuilder().setSetDlSrcAction(src.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder().setAction(BindingMap.of(new ActionBuilder()
+                        .setOrder(0)
+                        .setAction(new SetDlSrcActionCaseBuilder()
+                            .setSetDlSrcAction(new SetDlSrcActionBuilder()
+                                .setAddress(new MacAddress("00:05:b9:7c:81:5f"))
+                                .build())
+                            .build()).build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction7() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final SetVlanIdActionBuilder vl = new SetVlanIdActionBuilder();
-        final VlanId a = new VlanId(Uint16.valueOf(4000));
-        vl.setVlanId(a);
-        ab.setAction(new SetVlanIdActionCaseBuilder().setSetVlanIdAction(vl.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetVlanIdActionCaseBuilder()
+                                .setSetVlanIdAction(new SetVlanIdActionBuilder()
+                                    .setVlanId(new VlanId(Uint16.valueOf(4000))).build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction8() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final SetVlanPcpActionBuilder pcp = new SetVlanPcpActionBuilder();
-        final VlanPcp pcp1 = new VlanPcp(Uint8.TWO);
-        pcp.setVlanPcp(pcp1);
-        ab.setAction(new SetVlanPcpActionCaseBuilder().setSetVlanPcpAction(pcp.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetVlanPcpActionCaseBuilder()
+                                .setSetVlanPcpAction(new SetVlanPcpActionBuilder()
+                                    .setVlanPcp(new VlanPcp(Uint8.TWO))
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction88() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final SetVlanPcpActionBuilder pcp = new SetVlanPcpActionBuilder();
-        // the code point is a 3-bit(0-7) field representing the frame priority level
-        final VlanPcp pcp1 = new VlanPcp(Uint8.valueOf(4));
-        pcp.setVlanPcp(pcp1);
-        ab.setAction(new SetVlanPcpActionCaseBuilder().setSetVlanPcpAction(pcp.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetVlanPcpActionCaseBuilder()
+                                .setSetVlanPcpAction(new SetVlanPcpActionBuilder()
+                                    // the code point is a 3-bit(0-7) field representing the frame priority level
+                                    .setVlanPcp(new VlanPcp(Uint8.valueOf(4)))
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction9() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final CopyTtlInBuilder ttlin = new CopyTtlInBuilder();
-        ab.setAction(new CopyTtlInCaseBuilder().setCopyTtlIn(ttlin.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new CopyTtlInCaseBuilder().setCopyTtlIn(new CopyTtlInBuilder().build()).build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction10() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final CopyTtlOutBuilder ttlout = new CopyTtlOutBuilder();
-        ab.setAction(new CopyTtlOutCaseBuilder().setCopyTtlOut(ttlout.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new CopyTtlOutCaseBuilder()
+                                .setCopyTtlOut(new CopyTtlOutBuilder().build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction11() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final DecMplsTtlBuilder mpls = new DecMplsTtlBuilder();
-        ab.setAction(new DecMplsTtlCaseBuilder().setDecMplsTtl(mpls.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-        ib.withKey(new InstructionKey(0));
-        ib.setOrder(0);
-
-        // Put our Instruction in a list of Instruction
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new DecMplsTtlCaseBuilder()
+                                .setDecMplsTtl(new DecMplsTtlBuilder().build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction12() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final DecNwTtlBuilder nwttl = new DecNwTtlBuilder();
-        ab.setAction(new DecNwTtlCaseBuilder().setDecNwTtl(nwttl.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new DecNwTtlCaseBuilder().setDecNwTtl(new DecNwTtlBuilder().build()).build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction13() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final DropActionBuilder drop = new DropActionBuilder();
-        ab.setAction(new DropActionCaseBuilder().setDropAction(drop.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new DropActionCaseBuilder()
+                                .setDropAction(new DropActionBuilder().build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction14() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final FloodActionBuilder fld = new FloodActionBuilder();
-        ab.setAction(new FloodActionCaseBuilder().setFloodAction(fld.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new FloodActionCaseBuilder()
+                                .setFloodAction(new FloodActionBuilder().build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction15() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final FloodAllActionBuilder fldall = new FloodAllActionBuilder();
-        ab.setAction(new FloodAllActionCaseBuilder().setFloodAllAction(fldall.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new FloodAllActionCaseBuilder()
+                                .setFloodAllAction(new FloodAllActionBuilder().build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction16() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final GroupActionBuilder groupActionB = new GroupActionBuilder();
-        groupActionB.setGroupId(Uint32.ONE);
-        groupActionB.setGroup("0");
-        ab.setAction(new GroupActionCaseBuilder().setGroupAction(groupActionB.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new GroupActionCaseBuilder()
+                                .setGroupAction(new GroupActionBuilder().setGroupId(Uint32.ONE).setGroup("0").build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction17() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final HwPathActionBuilder hwPathB = new HwPathActionBuilder();
-        ab.setAction(new HwPathActionCaseBuilder().setHwPathAction(hwPathB.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new HwPathActionCaseBuilder()
+                                .setHwPathAction(new HwPathActionBuilder().build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction18() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final LoopbackActionBuilder loopbackActionBuilder = new LoopbackActionBuilder();
-        ab.setAction(new LoopbackActionCaseBuilder().setLoopbackAction(loopbackActionBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new LoopbackActionCaseBuilder()
+                                .setLoopbackAction(new LoopbackActionBuilder().build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction19() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final PopMplsActionBuilder popMplsActionBuilder = new PopMplsActionBuilder();
-        popMplsActionBuilder.setEthernetType(Uint16.valueOf(0xB));
-        ab.setAction(new PopMplsActionCaseBuilder().setPopMplsAction(popMplsActionBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new PopMplsActionCaseBuilder()
+                                .setPopMplsAction(new PopMplsActionBuilder()
+                                    .setEthernetType(Uint16.valueOf(0xB))
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction20() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final PopPbbActionBuilder popPbbActionBuilder = new PopPbbActionBuilder();
-        ab.setAction(new PopPbbActionCaseBuilder().setPopPbbAction(popPbbActionBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new PopPbbActionCaseBuilder()
+                                .setPopPbbAction(new PopPbbActionBuilder().build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction21() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final PopVlanActionBuilder popVlanActionBuilder = new PopVlanActionBuilder();
-        ab.setAction(new PopVlanActionCaseBuilder().setPopVlanAction(popVlanActionBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new PopVlanActionCaseBuilder()
+                                .setPopVlanAction(new PopVlanActionBuilder().build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction22() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final SetDlTypeActionBuilder setDlTypeActionBuilder = new SetDlTypeActionBuilder();
-        setDlTypeActionBuilder.setDlType(new EtherType(Uint32.valueOf(8)));
-        ab.setAction(new SetDlTypeActionCaseBuilder().setSetDlTypeAction(setDlTypeActionBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetDlTypeActionCaseBuilder()
+                                .setSetDlTypeAction(new SetDlTypeActionBuilder()
+                                    .setDlType(new EtherType(Uint32.valueOf(8)))
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction23(final NodeId nodeId) {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder().setOrder(0).build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction24() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final SetMplsTtlActionBuilder setMplsTtlActionBuilder = new SetMplsTtlActionBuilder();
-        setMplsTtlActionBuilder.setMplsTtl(Uint8.ONE);
-        ab.setAction(new SetMplsTtlActionCaseBuilder().setSetMplsTtlAction(setMplsTtlActionBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetMplsTtlActionCaseBuilder()
+                                .setSetMplsTtlAction(new SetMplsTtlActionBuilder().setMplsTtl(Uint8.ONE).build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction25() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final SetNextHopActionBuilder setNextHopActionBuilder = new SetNextHopActionBuilder();
-        final Ipv4Builder ipnext = new Ipv4Builder();
-        final Ipv4Prefix prefix = new Ipv4Prefix(IPV4_PREFIX);
-        ipnext.setIpv4Address(prefix);
-        setNextHopActionBuilder.setAddress(ipnext.build());
-        ab.setAction(new SetNextHopActionCaseBuilder().setSetNextHopAction(setNextHopActionBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetNextHopActionCaseBuilder()
+                                .setSetNextHopAction(new SetNextHopActionBuilder()
+                                    .setAddress(new Ipv4Builder().setIpv4Address(new Ipv4Prefix(IPV4_PREFIX)).build())
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction26() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final SetNwDstActionBuilder setNwDstActionBuilder = new SetNwDstActionBuilder();
-        final Ipv4Builder ipdst = new Ipv4Builder();
-        final Ipv4Prefix prefixdst = new Ipv4Prefix("10.0.0.21/24");
-        ipdst.setIpv4Address(prefixdst);
-        setNwDstActionBuilder.setAddress(ipdst.build());
-        ab.setAction(new SetNwDstActionCaseBuilder().setSetNwDstAction(setNwDstActionBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetNwDstActionCaseBuilder()
+                                .setSetNwDstAction(new SetNwDstActionBuilder()
+                                    .setAddress(new Ipv4Builder()
+                                        .setIpv4Address(new Ipv4Prefix("10.0.0.21/24"))
+                                        .build())
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction27() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final SetNwSrcActionBuilder setNwsrcActionBuilder = new SetNwSrcActionBuilder();
-        final Ipv4Builder ipsrc = new Ipv4Builder();
-        final Ipv4Prefix prefixsrc = new Ipv4Prefix("10.0.23.21/24");
-        ipsrc.setIpv4Address(prefixsrc);
-        setNwsrcActionBuilder.setAddress(ipsrc.build());
-        ab.setAction(new SetNwSrcActionCaseBuilder().setSetNwSrcAction(setNwsrcActionBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetNwSrcActionCaseBuilder()
+                                .setSetNwSrcAction(new SetNwSrcActionBuilder()
+                                    .setAddress(new Ipv4Builder()
+                                        .setIpv4Address(new Ipv4Prefix("10.0.23.21/24"))
+                                        .build())
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction28() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final SetNwTosActionBuilder setNwTosActionBuilder = new SetNwTosActionBuilder();
-        setNwTosActionBuilder.setTos(8);
-        ab.setAction(new SetNwTosActionCaseBuilder().setSetNwTosAction(setNwTosActionBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetNwTosActionCaseBuilder()
+                                .setSetNwTosAction(new SetNwTosActionBuilder().setTos(8).build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction29() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final SetNwTtlActionBuilder setNwTtlActionBuilder = new SetNwTtlActionBuilder();
-        setNwTtlActionBuilder.setNwTtl(Uint8.ONE);
-        ab.setAction(new SetNwTtlActionCaseBuilder().setSetNwTtlAction(setNwTtlActionBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetNwTtlActionCaseBuilder()
+                                .setSetNwTtlAction(new SetNwTtlActionBuilder().setNwTtl(Uint8.ONE).build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction30() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final SetQueueActionBuilder setQueueActionBuilder = new SetQueueActionBuilder();
-        setQueueActionBuilder.setQueueId(Uint32.ONE);
-        ab.setAction(new SetQueueActionCaseBuilder().setSetQueueAction(setQueueActionBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetQueueActionCaseBuilder()
+                                .setSetQueueAction(new SetQueueActionBuilder().setQueueId(Uint32.ONE).build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction31() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final SetTpDstActionBuilder setTpDstActionBuilder = new SetTpDstActionBuilder();
-        setTpDstActionBuilder.setPort(new PortNumber(Uint16.valueOf(109)));
-
-        ab.setAction(new SetTpDstActionCaseBuilder().setSetTpDstAction(setTpDstActionBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetTpDstActionCaseBuilder()
+                                .setSetTpDstAction(new SetTpDstActionBuilder()
+                                    .setPort(new PortNumber(Uint16.valueOf(109)))
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction32() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final SetTpSrcActionBuilder setTpSrcActionBuilder = new SetTpSrcActionBuilder();
-        setTpSrcActionBuilder.setPort(new PortNumber(Uint16.valueOf(109)));
-        ab.setAction(new SetTpSrcActionCaseBuilder().setSetTpSrcAction(setTpSrcActionBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetTpSrcActionCaseBuilder()
+                                .setSetTpSrcAction(new SetTpSrcActionBuilder()
+                                    .setPort(new PortNumber(Uint16.valueOf(109)))
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction33() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final SetVlanCfiActionBuilder setVlanCfiActionBuilder = new SetVlanCfiActionBuilder();
-        setVlanCfiActionBuilder.setVlanCfi(new VlanCfi(2));
-        ab.setAction(new SetVlanCfiActionCaseBuilder().setSetVlanCfiAction(setVlanCfiActionBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetVlanCfiActionCaseBuilder()
+                                .setSetVlanCfiAction(new SetVlanCfiActionBuilder().setVlanCfi(new VlanCfi(2)).build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction34() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-
-        final SwPathActionBuilder swPathAction = new SwPathActionBuilder();
-        ab.setAction(new SwPathActionCaseBuilder().setSwPathAction(swPathAction.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        // Create an Apply Action
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        // Wrap our Apply Action in an Instruction
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SwPathActionCaseBuilder()
+                                .setSwPathAction(new SwPathActionBuilder().build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction35() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-        final ActionBuilder ab1 = new ActionBuilder();
-        final ActionBuilder ab2 = new ActionBuilder();
-
-        final SetFieldBuilder setFieldBuilder = new SetFieldBuilder();
-        final SetFieldBuilder setFieldBuilder1 = new SetFieldBuilder();
-        final SetFieldBuilder setFieldBuilder2 = new SetFieldBuilder();
-
         // Ethernet
-        final EthernetMatchBuilder ethernetMatch = new EthernetMatchBuilder();
-        final EthernetSourceBuilder ethSourceBuilder = new EthernetSourceBuilder();
-        ethSourceBuilder.setAddress(new MacAddress("00:00:00:00:00:01"));
-        final EthernetMatchBuilder ethernetMatch1 = new EthernetMatchBuilder();
-        final EthernetDestinationBuilder ethDestBuilder = new EthernetDestinationBuilder();
-        ethDestBuilder.setAddress(new MacAddress("00:00:00:00:00:02"));
-        final EthernetMatchBuilder ethernetMatch2 = new EthernetMatchBuilder();
-        final EthernetTypeBuilder ethTypeBuilder = new EthernetTypeBuilder();
-        ethTypeBuilder.setType(new EtherType(Uint32.valueOf(0x86dd)));
-
-        ethernetMatch.setEthernetSource(ethSourceBuilder.build());
-        ethernetMatch1.setEthernetDestination(ethDestBuilder.build());
-        ethernetMatch2.setEthernetType(ethTypeBuilder.build());
-        setFieldBuilder.setEthernetMatch(ethernetMatch.build());
-        setFieldBuilder1.setEthernetMatch(ethernetMatch1.build());
-        setFieldBuilder2.setEthernetMatch(ethernetMatch2.build());
-        ab.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        ab1.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder1.build()).build());
-        ab1.withKey(new ActionKey(1));
-        actionList.add(ab1.build());
-
-        ab2.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder2.build()).build());
-        ab2.withKey(new ActionKey(2));
-        actionList.add(ab2.build());
-
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.withKey(new InstructionKey(0));
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        ib.withKey(new InstructionKey(0));
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetFieldCaseBuilder()
+                                .setSetField(new SetFieldBuilder()
+                                    .setEthernetMatch(new EthernetMatchBuilder()
+                                        .setEthernetSource(new EthernetSourceBuilder()
+                                            .setAddress(new MacAddress("00:00:00:00:00:01"))
+                                            .build())
+                                        .build())
+                                    .build())
+                                .build())
+                            .build(), new ActionBuilder()
+                            .setOrder(1)
+                            .setAction(new SetFieldCaseBuilder()
+                                .setSetField(new SetFieldBuilder()
+                                    .setEthernetMatch(new EthernetMatchBuilder()
+                                        .setEthernetDestination(new EthernetDestinationBuilder()
+                                            .setAddress(new MacAddress("00:00:00:00:00:02"))
+                                            .build())
+                                        .build())
+                                    .build())
+                                .build())
+                            .build(), new ActionBuilder()
+                            .setOrder(2)
+                            .setAction(new SetFieldCaseBuilder()
+                                .setSetField(new SetFieldBuilder()
+                                    .setEthernetMatch(new EthernetMatchBuilder()
+                                        .setEthernetType(new EthernetTypeBuilder()
+                                            .setType(new EtherType(Uint32.valueOf(0x86dd))).build())
+                                        .build())
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction36() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-        final ActionBuilder ab1 = new ActionBuilder();
-
-        final SetFieldBuilder setFieldBuilder = new SetFieldBuilder();
-        final SetFieldBuilder setFieldBuilder1 = new SetFieldBuilder();
-
-        // Vlan
-        final VlanMatchBuilder vlanBuilder = new VlanMatchBuilder();
-        final VlanMatchBuilder vlanBuilder1 = new VlanMatchBuilder();
-        final VlanIdBuilder vlanIdBuilder = new VlanIdBuilder();
-        final VlanId vlanId = new VlanId(Uint16.TEN);
-        final VlanPcp vpcp = new VlanPcp(Uint8.valueOf(3));
-        vlanBuilder.setVlanPcp(vpcp);
-        vlanBuilder1.setVlanId(vlanIdBuilder.setVlanId(vlanId).setVlanIdPresent(true).build());
-        setFieldBuilder.setVlanMatch(vlanBuilder.build());
-        setFieldBuilder1.setVlanMatch(vlanBuilder1.build());
-        ab.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        ab1.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder1.build()).build());
-        ab1.withKey(new ActionKey(1));
-        actionList.add(ab1.build());
-
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.withKey(new InstructionKey(0));
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetFieldCaseBuilder().setSetField(new SetFieldBuilder()
+                                .setVlanMatch(new VlanMatchBuilder()
+                                    .setVlanPcp(new VlanPcp(Uint8.valueOf(3)))
+                                    .build())
+                                .build()).build()).build(), new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetFieldCaseBuilder().setSetField(new SetFieldBuilder()
+                                .setVlanMatch(new VlanMatchBuilder()
+                                    .setVlanId(new VlanIdBuilder()
+                                        .setVlanId(new VlanId(Uint16.TEN))
+                                        .setVlanIdPresent(true)
+                                        .build())
+                                    .build())
+                                .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction37() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-        final ActionBuilder ab1 = new ActionBuilder();
-        final ActionBuilder ab2 = new ActionBuilder();
-
-        final SetFieldBuilder setFieldBuilder = new SetFieldBuilder();
-        final SetFieldBuilder setFieldBuilder1 = new SetFieldBuilder();
-        final SetFieldBuilder setFieldBuilder2 = new SetFieldBuilder();
         // Ip
-        final IpMatchBuilder ipmatch = new IpMatchBuilder();
-        final IpMatchBuilder ipmatch1 = new IpMatchBuilder();
-        final IpMatchBuilder ipmatch2 = new IpMatchBuilder();
-        final Dscp dscp = new Dscp(Uint8.valueOf(3));
-        ipmatch.setIpDscp(dscp);
-        ipmatch1.setIpEcn(Uint8.TWO);
-        ipmatch2.setIpProtocol(Uint8.valueOf(120));
-        setFieldBuilder.setIpMatch(ipmatch.build());
-        ab.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        setFieldBuilder1.setIpMatch(ipmatch1.build());
-        ab1.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder1.build()).build());
-        ab1.withKey(new ActionKey(1));
-        actionList.add(ab1.build());
-
-        setFieldBuilder2.setIpMatch(ipmatch2.build());
-        ab2.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder2.build()).build());
-        ab2.withKey(new ActionKey(2));
-        actionList.add(ab2.build());
-
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.withKey(new InstructionKey(0));
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetFieldCaseBuilder()
+                                .setSetField(new SetFieldBuilder()
+                                    .setIpMatch(new IpMatchBuilder().setIpDscp(new Dscp(Uint8.valueOf(3))).build())
+                                    .build())
+                                .build())
+                            .build(), new ActionBuilder()
+                            .setOrder(1)
+                            .setAction(new SetFieldCaseBuilder()
+                                .setSetField(new SetFieldBuilder()
+                                    .setIpMatch(new IpMatchBuilder().setIpEcn(Uint8.TWO).build())
+                                    .build())
+                                .build())
+                            .build(), new ActionBuilder()
+                            .setOrder(2)
+                            .setAction(new SetFieldCaseBuilder()
+                                .setSetField(new SetFieldBuilder()
+                                    .setIpMatch(new IpMatchBuilder().setIpProtocol(Uint8.valueOf(120)).build())
+                                    .build())
+                                .build()).build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction38() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-        final ActionBuilder ab1 = new ActionBuilder();
-
-        final SetFieldBuilder setFieldBuilder = new SetFieldBuilder();
-        final SetFieldBuilder setFieldBuilder1 = new SetFieldBuilder();
         // IPv4
-        final Ipv4MatchBuilder ipv4Match = new Ipv4MatchBuilder();
-        final Ipv4MatchBuilder ipv4Match1 = new Ipv4MatchBuilder();
-        final Ipv4Prefix dstip = new Ipv4Prefix("200.71.9.5210");
-        final Ipv4Prefix srcip = new Ipv4Prefix("100.1.1.1");
-        ipv4Match1.setIpv4Destination(dstip);
-        ipv4Match.setIpv4Source(srcip);
-        setFieldBuilder.setLayer3Match(ipv4Match.build());
-        ab.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        setFieldBuilder1.setLayer3Match(ipv4Match1.build());
-        ab1.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder1.build()).build());
-        ab1.withKey(new ActionKey(1));
-        actionList.add(ab1.build());
-
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.withKey(new InstructionKey(0));
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
-    }
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetFieldCaseBuilder()
+                                .setSetField(new SetFieldBuilder()
+                                    .setLayer3Match(new Ipv4MatchBuilder()
+                                        .setIpv4Source(new Ipv4Prefix("100.1.1.1"))
+                                        .build())
+                                    .build())
+                                .build())
+                            .build(), new ActionBuilder()
+                            .setOrder(1)
+                            .setAction(new SetFieldCaseBuilder()
+                                .setSetField(new SetFieldBuilder()
+                                    .setLayer3Match(new Ipv4MatchBuilder()
+                                        .setIpv4Destination(new Ipv4Prefix("200.71.9.5210"))
+                                        .build())
+                                .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
+    }
+
+    // FIXME: refactor these for brevity
 
     private static InstructionsBuilder createAppyActionInstruction39() {
-
-        final List<Action> actionList = new ArrayList<>();
         final ActionBuilder ab = new ActionBuilder();
         final ActionBuilder ab1 = new ActionBuilder();
 
@@ -2200,32 +1690,24 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
         tcpmatch1.setTcpDestinationPort(tcpdstport);
         setFieldBuilder.setLayer4Match(tcpmatch.build());
         ab.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
+        ab.setOrder(0);
 
         setFieldBuilder1.setLayer4Match(tcpmatch1.build());
         ab1.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder1.build()).build());
         ab1.withKey(new ActionKey(1));
-        actionList.add(ab1.build());
-
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
 
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.withKey(new InstructionKey(0));
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(ab.build(), ab1.build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction40() {
-
-        final List<Action> actionList = new ArrayList<>();
         final ActionBuilder ab = new ActionBuilder();
         final ActionBuilder ab1 = new ActionBuilder();
 
@@ -2241,32 +1723,24 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
         udpmatch1.setUdpSourcePort(udpsrcport);
         setFieldBuilder.setLayer4Match(udpmatch.build());
         ab.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
+        ab.setOrder(0);
 
         setFieldBuilder1.setLayer4Match(udpmatch1.build());
         ab1.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder1.build()).build());
         ab1.withKey(new ActionKey(1));
-        actionList.add(ab1.build());
-
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.withKey(new InstructionKey(0));
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
 
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(ab.build(), ab1.build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction41() {
-
-        final List<Action> actionList = new ArrayList<>();
         final ActionBuilder ab = new ActionBuilder();
         final ActionBuilder ab1 = new ActionBuilder();
 
@@ -2282,32 +1756,24 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
         sctpmatch1.setSctpDestinationPort(dstport);
         setFieldBuilder.setLayer4Match(sctpmatch.build());
         ab.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
+        ab.setOrder(0);
 
         setFieldBuilder1.setLayer4Match(sctpmatch1.build());
         ab1.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder1.build()).build());
         ab1.withKey(new ActionKey(1));
-        actionList.add(ab1.build());
-
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.withKey(new InstructionKey(0));
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
 
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(ab.build(), ab1.build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction42() {
-
-        final List<Action> actionList = new ArrayList<>();
         final ActionBuilder ab = new ActionBuilder();
         final ActionBuilder ab1 = new ActionBuilder();
         final SetFieldBuilder setFieldBuilder = new SetFieldBuilder();
@@ -2320,32 +1786,24 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
         icmpv4match1.setIcmpv4Code(Uint8.ZERO);
         setFieldBuilder.setIcmpv4Match(icmpv4match.build());
         ab.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
+        ab.setOrder(0);
 
         setFieldBuilder1.setIcmpv4Match(icmpv4match1.build());
         ab1.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder1.build()).build());
         ab1.withKey(new ActionKey(1));
-        actionList.add(ab1.build());
-
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
 
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.withKey(new InstructionKey(0));
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(ab.build(), ab1.build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction43() {
-
-        final List<Action> actionList = new ArrayList<>();
         final ActionBuilder ab = new ActionBuilder();
         final ActionBuilder ab1 = new ActionBuilder();
         final ActionBuilder ab2 = new ActionBuilder();
@@ -2380,47 +1838,36 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
         arpmatch4.setArpTargetTransportAddress(dstiparp);
         setFieldBuilder.setLayer3Match(arpmatch.build());
         ab.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
+        ab.setOrder(0);
 
         setFieldBuilder1.setLayer3Match(arpmatch1.build());
         ab1.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder1.build()).build());
         ab1.withKey(new ActionKey(1));
-        actionList.add(ab1.build());
 
         setFieldBuilder2.setLayer3Match(arpmatch2.build());
         ab2.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder2.build()).build());
         ab2.withKey(new ActionKey(2));
-        actionList.add(ab2.build());
 
         setFieldBuilder3.setLayer3Match(arpmatch3.build());
         ab3.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder3.build()).build());
         ab3.withKey(new ActionKey(3));
-        actionList.add(ab3.build());
 
         setFieldBuilder4.setLayer3Match(arpmatch4.build());
         ab4.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder4.build()).build());
         ab4.withKey(new ActionKey(4));
-        actionList.add(ab4.build());
-
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
 
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.withKey(new InstructionKey(0));
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(ab.build(), ab1.build(), ab2.build(), ab3.build(), ab4.build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction44() {
-
-        final List<Action> actionLists = new ArrayList<>();
         final ActionBuilder ab = new ActionBuilder();
         final SetFieldBuilder setFieldBuilder = new SetFieldBuilder();
         final ActionBuilder ab1 = new ActionBuilder();
@@ -2451,241 +1898,185 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
 
         setFieldBuilder.setLayer3Match(ipv6Builder.build());
         ab.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionLists.add(ab.build());
+        ab.setOrder(0);
 
         setFieldBuilder1.setLayer3Match(ipv6Builder1.build());
         ab1.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder1.build()).build());
         ab1.withKey(new ActionKey(1));
-        actionLists.add(ab1.build());
 
         setFieldBuilder5.setLayer3Match(ipv6Builder5.build());
         ab5.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder5.build()).build());
         ab5.withKey(new ActionKey(5));
-        actionLists.add(ab5.build());
 
         setFieldBuilder6.setLayer3Match(ipv6Builder6.build());
         ab6.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder6.build()).build());
         ab6.withKey(new ActionKey(6));
-        actionLists.add(ab6.build());
 
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionLists);
-
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.withKey(new InstructionKey(0));
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(ab.build(), ab1.build(), ab5.build(), ab6.build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction45() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-        final SetFieldBuilder setFieldBuilder = new SetFieldBuilder();
-        final ActionBuilder ab1 = new ActionBuilder();
-        final SetFieldBuilder setFieldBuilder1 = new SetFieldBuilder();
-
         // Icmpv6
-        final Icmpv6MatchBuilder icmpv6match = new Icmpv6MatchBuilder();
-        final Icmpv6MatchBuilder icmpv6match1 = new Icmpv6MatchBuilder();
-        icmpv6match.setIcmpv6Type(Uint8.valueOf(135));
-        icmpv6match1.setIcmpv6Code(Uint8.ZERO);
-        setFieldBuilder.setIcmpv6Match(icmpv6match.build());
-        ab.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        setFieldBuilder1.setIcmpv6Match(icmpv6match1.build());
-        ab1.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder1.build()).build());
-        ab1.withKey(new ActionKey(1));
-        actionList.add(ab1.build());
-
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.withKey(new InstructionKey(0));
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetFieldCaseBuilder()
+                                .setSetField(new SetFieldBuilder()
+                                    .setIcmpv6Match(new Icmpv6MatchBuilder().setIcmpv6Type(Uint8.valueOf(135)).build())
+                                    .build())
+                                .build())
+                            .build(), new ActionBuilder()
+                            .setOrder(1)
+                            .setAction(new SetFieldCaseBuilder()
+                                .setSetField(new SetFieldBuilder()
+                                    .setIcmpv6Match(new Icmpv6MatchBuilder().setIcmpv6Code(Uint8.ZERO).build())
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction46() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-        final SetFieldBuilder setFieldBuilder = new SetFieldBuilder();
-        final ActionBuilder ab1 = new ActionBuilder();
-        final SetFieldBuilder setFieldBuilder1 = new SetFieldBuilder();
-        final ActionBuilder ab2 = new ActionBuilder();
-        final SetFieldBuilder setFieldBuilder2 = new SetFieldBuilder();
-
         // MPLS
-        final ProtocolMatchFieldsBuilder protomatch = new ProtocolMatchFieldsBuilder();
-        final ProtocolMatchFieldsBuilder protomatch1 = new ProtocolMatchFieldsBuilder();
-        final ProtocolMatchFieldsBuilder protomatch2 = new ProtocolMatchFieldsBuilder();
-        protomatch.setMplsLabel(Uint32.valueOf(36008));
-        protomatch1.setMplsTc(Uint8.valueOf(4));
-        protomatch2.setMplsBos(Uint8.ONE);
-        setFieldBuilder.setProtocolMatchFields(protomatch.build());
-        ab.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        setFieldBuilder1.setProtocolMatchFields(protomatch1.build());
-        ab1.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder1.build()).build());
-        ab1.withKey(new ActionKey(1));
-        actionList.add(ab1.build());
-
-        setFieldBuilder2.setProtocolMatchFields(protomatch2.build());
-        ab2.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder2.build()).build());
-        ab2.withKey(new ActionKey(2));
-        actionList.add(ab2.build());
-
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.withKey(new InstructionKey(0));
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetFieldCaseBuilder()
+                                .setSetField(new SetFieldBuilder()
+                                    .setProtocolMatchFields(new ProtocolMatchFieldsBuilder()
+                                        .setMplsLabel(Uint32.valueOf(36008))
+                                        .build())
+                                    .build())
+                                .build())
+                            .build(), new ActionBuilder()
+                            .setOrder(1)
+                            .setAction(new SetFieldCaseBuilder()
+                                .setSetField(new SetFieldBuilder()
+                                    .setProtocolMatchFields(new ProtocolMatchFieldsBuilder()
+                                        .setMplsTc(Uint8.valueOf(4))
+                                        .build())
+                                    .build())
+                                .build())
+                            .build(), new ActionBuilder()
+                            .setOrder(2)
+                            .setAction(new SetFieldCaseBuilder()
+                                .setSetField(new SetFieldBuilder()
+                                    .setProtocolMatchFields(new ProtocolMatchFieldsBuilder()
+                                        .setMplsBos(Uint8.ONE)
+                                        .build())
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction47() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-        final SetFieldBuilder setFieldBuilder = new SetFieldBuilder();
-        // PBB
-        final ProtocolMatchFieldsBuilder protomatch = new ProtocolMatchFieldsBuilder();
-        protomatch.setPbb(new PbbBuilder().setPbbIsid(Uint32.valueOf(4)).setPbbMask(Uint32.valueOf(0x10000)).build());
-        setFieldBuilder.setProtocolMatchFields(protomatch.build());
-        ab.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder.build()).build());
-        actionList.add(ab.build());
-
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.withKey(new InstructionKey(0));
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetFieldCaseBuilder()
+                                .setSetField(new SetFieldBuilder()
+                                    .setProtocolMatchFields(new ProtocolMatchFieldsBuilder()
+                                        .setPbb(new PbbBuilder()
+                                            .setPbbIsid(Uint32.valueOf(4))
+                                            .setPbbMask(Uint32.valueOf(0x10000))
+                                            .build())
+                                        .build())
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createAppyActionInstruction48() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-        final SetFieldBuilder setFieldBuilder = new SetFieldBuilder();
-        // Tunnel
-        final TunnelBuilder tunnel = new TunnelBuilder();
-        tunnel.setTunnelId(Uint64.valueOf(10668));
-        setFieldBuilder.setTunnel(tunnel.build());
-        ab.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder.build()).build());
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.withKey(new InstructionKey(0));
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetFieldCaseBuilder()
+                                .setSetField(new SetFieldBuilder()
+                                    // Tunnel
+                                    .setTunnel(new TunnelBuilder().setTunnelId(Uint64.valueOf(10668)).build()).build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createTunnelIpv4DstInstructions() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-        // Build the tunnel endpoint destination IPv4 address
-        final SetFieldBuilder setFieldBuilder = new SetFieldBuilder();
-        final Ipv4Prefix dstIp = new Ipv4Prefix("172.16.100.100");
-        // Add the mew IPv4 object as the tunnel destination
-        final TunnelIpv4MatchBuilder tunnelIpv4DstMatchBuilder = new TunnelIpv4MatchBuilder();
-        tunnelIpv4DstMatchBuilder.setTunnelIpv4Destination(dstIp);
-        setFieldBuilder.setLayer3Match(tunnelIpv4DstMatchBuilder.build());
-        // Add the IPv4 tunnel dst to the set_field value
-        ab.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder.build()).build());
-        ab.setOrder(0);
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Resulting action is a per/flow src TEP (set_field:172.16.100.100->tun_dst)
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-        // Add the action to the ordered list of Instructions
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setOrder(0);
-        ib.withKey(new InstructionKey(0));
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-        // Add the Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetFieldCaseBuilder()
+                                // Add the IPv4 tunnel dst to the set_field value
+                                .setSetField(new SetFieldBuilder()
+                                    .setLayer3Match(new TunnelIpv4MatchBuilder()
+                                        // Add the mew IPv4 object as the tunnel destination
+                                        .setTunnelIpv4Destination(new Ipv4Prefix("172.16.100.100"))
+                                        .build())
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static InstructionsBuilder createTunnelIpv4SrcInstructions() {
-
-        final List<Action> actionList = new ArrayList<>();
-        final ActionBuilder ab = new ActionBuilder();
-        // Build the tunnel endpoint source IPv4 address
-        final SetFieldBuilder setFieldBuilder = new SetFieldBuilder();
-        final Ipv4Prefix dstIp = new Ipv4Prefix("172.16.100.200");
-        // Add the new IPv4 object as the tunnel destination
-        final TunnelIpv4MatchBuilder tunnelIpv4MatchBuilder = new TunnelIpv4MatchBuilder();
-        tunnelIpv4MatchBuilder.setTunnelIpv4Source(dstIp);
-        setFieldBuilder.setLayer3Match(tunnelIpv4MatchBuilder.build());
-        // Add the IPv4 tunnel src to the set_field value
-        ab.setAction(new SetFieldCaseBuilder().setSetField(setFieldBuilder.build()).build());
-        ab.setOrder(0);
-        ab.withKey(new ActionKey(0));
-        actionList.add(ab.build());
-        // Resulting action is a per/flow src TEP (set_field:172.16.100.100->tun_src)
-        final ApplyActionsBuilder aab = new ApplyActionsBuilder();
-        aab.setAction(actionList);
-        // Add the action to the ordered list of Instructions
-        final InstructionBuilder ib = new InstructionBuilder();
-        ib.setOrder(0);
-        ib.withKey(new InstructionKey(0));
-        ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
-        // Put our Instruction in a list of Instructions
-        final InstructionsBuilder isb = new InstructionsBuilder();
-        final List<Instruction> instructions = new ArrayList<>();
-        instructions.add(ib.build());
-        isb.setInstruction(instructions);
-        return isb;
+        return new InstructionsBuilder()
+            .setInstruction(BindingMap.of(new InstructionBuilder()
+                .setOrder(0)
+                .setInstruction(new ApplyActionsCaseBuilder()
+                    .setApplyActions(new ApplyActionsBuilder()
+                        .setAction(BindingMap.of(new ActionBuilder()
+                            .setOrder(0)
+                            .setAction(new SetFieldCaseBuilder()
+                                // Add the IPv4 tunnel src to the set_field value
+                                .setSetField(new SetFieldBuilder()
+                                    .setLayer3Match(new TunnelIpv4MatchBuilder()
+                                        // Add the new IPv4 object as the tunnel destination
+                                        .setTunnelIpv4Source(new Ipv4Prefix("172.16.100.200"))
+                                        .build())
+                                    .build())
+                                .build())
+                            .build()))
+                        .build())
+                    .build())
+                .build()));
     }
 
     private static MatchBuilder createLLDPMatch() {
@@ -3128,6 +2519,7 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
         return match;
     }
 
+    @SuppressWarnings("checkstyle:MethodName")
     public void _removeMDFlow(final CommandInterpreter ci) {
         final ReadWriteTransaction modification = dataBroker.newReadWriteTransaction();
         final NodeBuilder tn = createTestNode(ci.nextArgument());
@@ -3161,6 +2553,7 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
      *
      * @param ci arguments: switchId flowType tableNum, e.g.: addMDFlow openflow:1 f1 42
      */
+    @SuppressWarnings("checkstyle:MethodName")
     public void _addMDFlow(final CommandInterpreter ci) {
         final NodeBuilder tn = createTestNode(ci.nextArgument());
         final String flowtype = ci.nextArgument();
@@ -3195,6 +2588,7 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
         }, MoreExecutors.directExecutor());
     }
 
+    @SuppressWarnings("checkstyle:MethodName")
     public void _modifyMDFlow(final CommandInterpreter ci) {
         final NodeBuilder tn = createTestNode(ci.nextArgument());
         final FlowBuilder tf = createTestFlow(tn, ci.nextArgument(), ci.nextArgument());
@@ -3213,6 +2607,7 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
      * usage testSwitchFlows <numberOfSwitches> <numberOfFlows> <warmup iterations> <Number Of Threads>
      * ex: _perfFlowTest 10 5 1 2
      */
+    @SuppressWarnings("checkstyle:MethodName")
     public void _perfFlowTest(final CommandInterpreter ci) {
 
         final String numberOfSwtichesStr = ci.nextArgument();
@@ -3355,7 +2750,7 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
      * usage testAllFlows <dp>
      * ex: _perfFlowTest 1
      */
-    @SuppressWarnings("checkstyle:IllegalCatch")
+    @SuppressWarnings({ "checkstyle:MethodName", "checkstyle:IllegalCatch" })
     public void _testAllFlows(final CommandInterpreter ci) {
         String dataPathID = ci.nextArgument();
         final int numberOfFlows = 82;
index 75f775a858eb19e6cf16f520347bb2a53abacce0..0a47edfb793b8a6b18fda994a450a8b8e9e22460 100644 (file)
@@ -25,7 +25,7 @@ public class OpenflowpluginTestNodeConnectorNotification {
     private final PortEventListener portEventListener = new PortEventListener();
     private final NotificationService notificationService;
 
-    public OpenflowpluginTestNodeConnectorNotification(NotificationService notificationService) {
+    public OpenflowpluginTestNodeConnectorNotification(final NotificationService notificationService) {
         this.notificationService = notificationService;
     }
 
@@ -42,28 +42,32 @@ public class OpenflowpluginTestNodeConnectorNotification {
         List<NodeConnectorRemoved> nodeConnectorRemoved = new ArrayList<>();
 
         @Override
-        public void onNodeConnectorRemoved(NodeConnectorRemoved notification) {
+        @Deprecated
+        public void onNodeConnectorRemoved(final NodeConnectorRemoved notification) {
             LOG.debug("NodeConnectorRemoved Notification");
             LOG.debug("NodeConnectorRef {}", notification.getNodeConnectorRef());
             nodeConnectorRemoved.add(notification);
         }
 
         @Override
-        public void onNodeConnectorUpdated(NodeConnectorUpdated notification) {
+        @Deprecated
+        public void onNodeConnectorUpdated(final NodeConnectorUpdated notification) {
             LOG.debug("NodeConnectorUpdated Notification");
             LOG.debug("NodeConnectorRef {}", notification.getNodeConnectorRef());
             nodeConnectorUpdated.add(notification);
         }
 
         @Override
-        public void onNodeRemoved(NodeRemoved notification) {
+        @Deprecated
+        public void onNodeRemoved(final NodeRemoved notification) {
             LOG.debug("NodeRemoved Notification");
             LOG.debug("NodeRef {}", notification.getNodeRef());
             nodeRemoved.add(notification);
         }
 
         @Override
-        public void onNodeUpdated(NodeUpdated notification) {
+        @Deprecated
+        public void onNodeUpdated(final NodeUpdated notification) {
             LOG.debug("NodeUpdated Notification");
             LOG.debug("NodeRef {}", notification.getNodeRef());
             nodeUpdated.add(notification);
index ba4033d316c755c46ef8433ef4d093f9ce0da255..521ce330e1321a8541a6dac912ea6d018a08555d 100644 (file)
@@ -40,8 +40,8 @@ public class OpenflowpluginTestServiceProvider implements AutoCloseable,
     private ObjectRegistration<SalFlowService> flowRegistration;
     private final NotificationPublishService notificationProviderService;
 
-    public OpenflowpluginTestServiceProvider(DataBroker dataService,
-            NotificationPublishService notificationProviderService) {
+    public OpenflowpluginTestServiceProvider(final DataBroker dataService,
+            final NotificationPublishService notificationProviderService) {
         this.dataService = dataService;
         this.notificationProviderService = notificationProviderService;
     }
@@ -102,7 +102,7 @@ public class OpenflowpluginTestServiceProvider implements AutoCloseable,
      * service.rev130819.AddFlowInput)
      */
     @Override
-    public ListenableFuture<RpcResult<AddFlowOutput>> addFlow(AddFlowInput input) {
+    public ListenableFuture<RpcResult<AddFlowOutput>> addFlow(final AddFlowInput input) {
         OpenflowpluginTestServiceProvider.LOG.info("addFlow - {}", input);
         return null;
     }
@@ -117,7 +117,7 @@ public class OpenflowpluginTestServiceProvider implements AutoCloseable,
      * .service.rev130819.RemoveFlowInput)
      */
     @Override
-    public ListenableFuture<RpcResult<RemoveFlowOutput>> removeFlow(RemoveFlowInput input) {
+    public ListenableFuture<RpcResult<RemoveFlowOutput>> removeFlow(final RemoveFlowInput input) {
         OpenflowpluginTestServiceProvider.LOG.info("removeFlow - {}", input);
         return null;
     }
@@ -132,17 +132,17 @@ public class OpenflowpluginTestServiceProvider implements AutoCloseable,
      * .service.rev130819.UpdateFlowInput)
      */
     @Override
-    public ListenableFuture<RpcResult<UpdateFlowOutput>> updateFlow(UpdateFlowInput input) {
+    public ListenableFuture<RpcResult<UpdateFlowOutput>> updateFlow(final UpdateFlowInput input) {
         OpenflowpluginTestServiceProvider.LOG.info("updateFlow - {}", input);
         return null;
     }
 
-    public ObjectRegistration<OpenflowpluginTestServiceProvider> register(RpcProviderService rpcRegistry) {
+    public ObjectRegistration<OpenflowpluginTestServiceProvider> register(final RpcProviderService rpcRegistry) {
         setFlowRegistration(rpcRegistry.registerRpcImplementation(SalFlowService.class, this, ImmutableSet.of(
             InstanceIdentifier.create(Nodes.class)
             .child(Node.class, new NodeKey(new NodeId(OpenflowpluginTestActivator.NODE_ID))))));
 
-        return new AbstractObjectRegistration<OpenflowpluginTestServiceProvider>(this) {
+        return new AbstractObjectRegistration<>(this) {
             @Override
             protected void removeRegistration() {
                 flowRegistration.close();
index 405262a2b234421c75f76ad19de2f5b9fb001e8c..d5f3d6ca4a197b832b079fdc782fbda755b94690 100644 (file)
@@ -24,7 +24,7 @@ public class OpenflowpluginTestTopologyNotification {
     private final TopologyEventListener topologyEventListener = new TopologyEventListener();
     private final NotificationService notificationService;
 
-    public OpenflowpluginTestTopologyNotification(NotificationService notificationService) {
+    public OpenflowpluginTestTopologyNotification(final NotificationService notificationService) {
         this.notificationService = notificationService;
     }
 
@@ -35,32 +35,36 @@ public class OpenflowpluginTestTopologyNotification {
 
     private static final class TopologyEventListener implements FlowTopologyDiscoveryListener {
         @Override
+        @Deprecated
         @SuppressFBWarnings("SLF4J_SIGN_ONLY_FORMAT")
-        public void onLinkDiscovered(LinkDiscovered notification) {
+        public void onLinkDiscovered(final LinkDiscovered notification) {
             LOG.debug("-------------------------------------------");
             LOG.debug("LinkDiscovered notification ........");
             LOG.debug("-------------------------------------------");
         }
 
         @Override
+        @Deprecated
         @SuppressFBWarnings("SLF4J_SIGN_ONLY_FORMAT")
-        public void onLinkOverutilized(LinkOverutilized notification) {
+        public void onLinkOverutilized(final LinkOverutilized notification) {
             LOG.debug("-------------------------------------------");
             LOG.debug("LinkOverutilized notification ........");
             LOG.debug("-------------------------------------------");
         }
 
         @Override
+        @Deprecated
         @SuppressFBWarnings("SLF4J_SIGN_ONLY_FORMAT")
-        public void onLinkRemoved(LinkRemoved notification) {
+        public void onLinkRemoved(final LinkRemoved notification) {
             LOG.debug("-------------------------------------------");
             LOG.debug("LinkRemoved notification   ........");
             LOG.debug("-------------------------------------------");
         }
 
         @Override
+        @Deprecated
         @SuppressFBWarnings("SLF4J_SIGN_ONLY_FORMAT")
-        public void onLinkUtilizationNormal(LinkUtilizationNormal notification) {
+        public void onLinkUtilizationNormal(final LinkUtilizationNormal notification) {
             LOG.debug("-------------------------------------------");
             LOG.debug("LinkUtilizationNormal notification ........");
             LOG.debug("-------------------------------------------");