Correct OF10EnqueueActionDeserializer 16/94416/3
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 5 Jan 2021 17:04:12 +0000 (18:04 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 10 Jan 2021 10:52:10 +0000 (11:52 +0100)
We seem to have a mismatch in header deserialization, fix it up.

Change-Id: I1807b24e9fe2cd6ef9852009131ae251b46aea7d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
openflowjava/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/deserialization/action/OF10EnqueueActionDeserializer.java

index c915b7f77058024dc07285b9fe819ed2321c7a88..5127cf808a4b516e5352b7019c37aab84c155d18 100644 (file)
@@ -12,12 +12,9 @@ import static org.opendaylight.yangtools.yang.common.netty.ByteBufUtils.readUint
 
 import io.netty.buffer.ByteBuf;
 import org.opendaylight.openflowjava.protocol.impl.util.ActionConstants;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.EnqueueCase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.EnqueueCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.OutputActionCase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.OutputActionCaseBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.enqueue._case.EnqueueActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.ActionBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortNumber;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.QueueId;
 
@@ -26,23 +23,20 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev13
  *
  * @author michal.polkorab
  */
-public class OF10EnqueueActionDeserializer extends AbstractActionDeserializer<OutputActionCase> {
+public final class OF10EnqueueActionDeserializer extends AbstractActionCaseDeserializer<EnqueueCase> {
     public OF10EnqueueActionDeserializer() {
-        // FIXME: it looks this should be EnqueueCase instead
-        super(new OutputActionCaseBuilder().build());
+        super(new EnqueueCaseBuilder().build());
     }
 
     @Override
-    public Action deserialize(final ByteBuf input) {
+    protected EnqueueCase deserializeAction(final ByteBuf input) {
         input.skipBytes(2 * Short.BYTES);
         final var port = new PortNumber(readUint16(input).toUint32());
         input.skipBytes(ActionConstants.PADDING_IN_ENQUEUE_ACTION);
         final var queueId = new QueueId(readUint32(input));
 
-        return new ActionBuilder()
-                .setActionChoice(new EnqueueCaseBuilder()
-                    .setEnqueueAction(new EnqueueActionBuilder().setPort(port).setQueueId(queueId).build())
-                    .build())
-                .build();
+        return new EnqueueCaseBuilder()
+            .setEnqueueAction(new EnqueueActionBuilder().setPort(port).setQueueId(queueId).build())
+            .build();
     }
 }