fix missing key, NPE 80/3680/1
authorMichal Rehak <mirehak@cisco.com>
Mon, 9 Dec 2013 10:01:10 +0000 (11:01 +0100)
committerMichal Rehak <mirehak@cisco.com>
Thu, 12 Dec 2013 15:15:11 +0000 (16:15 +0100)
added order to action

Change-Id: I62a3d3fa6b3a032f0002ee4eeb78d03f02fc455a
Signed-off-by: Michal Rehak <mirehak@cisco.com>
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/FlowConvertor.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginGroupTestCommandProvider.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginMeterTestCommandProvider.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginTestCommandProvider.java

index 5c56b9a85b33cbcd0e7f10ac4322e9ee6c0aa0b6..7c6ea2463487b2939f519ac5e4adce9162cad69d 100644 (file)
@@ -15,6 +15,7 @@ import java.util.List;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.AddFlowInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.RemoveFlowInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.UpdateFlowInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.flow.update.UpdatedFlow;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.Flow;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.ApplyActionsCase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.instruction.ClearActionsCase;
@@ -102,7 +103,7 @@ public class FlowConvertor {
             } else {
                 flowMod.setCommand(FlowModCommand.OFPFCDELETE);
             }
-        } else if (flow instanceof UpdateFlowInput) {
+        } else if (flow instanceof UpdatedFlow) {
             if (flow.isStrict() != null && flow.isStrict()) {
                 flowMod.setCommand(FlowModCommand.OFPFCMODIFYSTRICT);
             } else {
index f83f475900946c1d973d46472819336a2c478c88..3e79ddaa0b13cd2a39ccfdbb588efa1015c72649 100644 (file)
@@ -93,6 +93,7 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         PopVlanActionBuilder vlanAction = new PopVlanActionBuilder();
         ActionBuilder action = new ActionBuilder();
         action.setAction(new PopVlanActionCaseBuilder().setPopVlanAction(vlanAction.build()).build());
+        action.setOrder(0);
         List<Action> actions = new ArrayList<Action>();
         actions.add(action.build());
         bucket.setAction(actions);
index 1a534eb12c24d54df474dc407ab639503f99aed5..3aa789533f4247b4506f71cf77bc8848768eec79 100644 (file)
@@ -22,9 +22,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.yang.gen.v1.urn.opendaylight.meter.config.rev131024.Meters;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.BandId;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.BandType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterBandType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.MeterFlags;
 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.DscpRemark;
 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;
@@ -82,8 +85,9 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider {
         long id = 12;
         MeterKey key = new MeterKey(new MeterId(id));
         MeterBuilder meter = new MeterBuilder();
-        meter.setMeterId(new MeterId((long) 9));
-        meter.setKey(key);
+        meter.setContainerName("abcd");     
+        meter.setKey(key);       
+        meter.setMeterId(new MeterId(9L));
         meter.setMeterName(originalMeterName);
         meter.setFlags(new MeterFlags(true, false, false, false));
         MeterBandHeadersBuilder bandHeaders = new MeterBandHeadersBuilder();
@@ -100,7 +104,8 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider {
         MeterBandType bandType = new MeterBandType(false, true, false);
         bandTypes.setFlags(bandType);
         bandHeader.setMeterBandTypes(bandTypes.build());
-        bandHdr.add(bandHeader.build());
+        bandHeader.setBandId(new BandId(0L));
+        bandHdr.add(bandHeader.build());       
         bandHeaders.setMeterBandHeader(bandHdr);
         meter.setMeterBandHeaders(bandHeaders.build());
 
index d6d57be66739752d30abf56a269b90ef90d32e4f..2eb37a34efcbafed24423c5d0cdd64652d9a05b3 100644 (file)
@@ -122,6 +122,7 @@ 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.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.NodeId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRef;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
@@ -509,6 +510,7 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
         // Wrap our Apply Action in an Instruction
         InstructionBuilder ib = new InstructionBuilder();
         ib.setInstruction(new ApplyActionsCaseBuilder().setApplyActions(aab.build()).build());
+        ib.setKey(new InstructionKey(0));
 
         // Put our Instruction in a list of Instructions
         InstructionsBuilder isb = new InstructionsBuilder();