Bump upstreams for 2022.09 Chlorine
[openflowplugin.git] / openflowjava / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / deserialization / match / OxmTcpSrcDeserializer.java
index 5e8a759675289ba601c3d29ca991a1b16bcac18f..7933d8acdbe5bf840574d9d6403be5a7a6fc9267 100644 (file)
@@ -7,48 +7,29 @@
  */
 package org.opendaylight.openflowjava.protocol.impl.deserialization.match;
 
-import io.netty.buffer.ByteBuf;
+import static org.opendaylight.yangtools.yang.common.netty.ByteBufUtils.readUint16;
 
-import org.opendaylight.openflowjava.protocol.api.extensibility.OFDeserializer;
+import io.netty.buffer.ByteBuf;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchField;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.OpenflowBasicClass;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.OxmClassBase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.TcpSrc;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.TcpSrcCaseBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.tcp.src._case.TcpSrcBuilder;
 
 /**
- * @author michal.polkorab
+ * Translates OxmTcpSrc messages.
  *
+ * @author michal.polkorab
  */
-public class OxmTcpSrcDeserializer extends AbstractOxmMatchEntryDeserializer
-        implements OFDeserializer<MatchEntry> {
-
-    @Override
-    public MatchEntry deserialize(ByteBuf input) {
-        MatchEntryBuilder builder = processHeader(getOxmClass(), getOxmField(), input);
-        addTcpSrcValue(input, builder);
-        return builder.build();
-    }
-
-    private static void addTcpSrcValue(ByteBuf input, MatchEntryBuilder builder) {
-        TcpSrcCaseBuilder caseBuilder = new TcpSrcCaseBuilder();
-        TcpSrcBuilder tcpBuilder = new TcpSrcBuilder();
-        tcpBuilder.setPort(new PortNumber(input.readUnsignedShort()));
-        caseBuilder.setTcpSrc(tcpBuilder.build());
-        builder.setMatchEntryValue(caseBuilder.build());
-    }
-
-    @Override
-    protected Class<? extends MatchField> getOxmField() {
-        return TcpSrc.class;
+public class OxmTcpSrcDeserializer extends AbstractOxmMatchEntryDeserializer {
+    public OxmTcpSrcDeserializer() {
+        super(TcpSrc.VALUE);
     }
 
     @Override
-    protected Class<? extends OxmClassBase> getOxmClass() {
-        return OpenflowBasicClass.class;
+    protected void deserialize(final ByteBuf input, final MatchEntryBuilder builder) {
+        builder.setMatchEntryValue(new TcpSrcCaseBuilder()
+            .setTcpSrc(new TcpSrcBuilder().setPort(new PortNumber(readUint16(input))).build())
+            .build());
     }
 }