Bump upstreams for 2022.09 Chlorine
[openflowplugin.git] / openflowjava / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / deserialization / match / OxmPbbIsidDeserializer.java
index 5c5b159237f059b35479443f701865681371c5b1..e4da6d382b3572d44caf3cc4fa3cc30085598fbe 100644 (file)
@@ -8,52 +8,31 @@
 package org.opendaylight.openflowjava.protocol.impl.deserialization.match;
 
 import io.netty.buffer.ByteBuf;
-
-import org.opendaylight.openflowjava.protocol.api.extensibility.OFDeserializer;
 import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
-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.PbbIsid;
-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.PbbIsidCaseBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.pbb.isid._case.PbbIsidBuilder;
+import org.opendaylight.yangtools.yang.common.Uint32;
 
 /**
- * @author michal.polkorab
+ * Translates OxmPbbIsid messages.
  *
+ * @author michal.polkorab
  */
-public class OxmPbbIsidDeserializer extends AbstractOxmMatchEntryDeserializer
-        implements OFDeserializer<MatchEntry> {
-
-    @Override
-    public MatchEntry deserialize(ByteBuf input) {
-        MatchEntryBuilder builder = processHeader(getOxmClass(), getOxmField(), input);
-        addPbbIsidValue(input, builder);
-        return builder.build();
-    }
-
-    private static void addPbbIsidValue(ByteBuf input, MatchEntryBuilder builder) {
-        PbbIsidCaseBuilder caseBuilder = new PbbIsidCaseBuilder();
-        PbbIsidBuilder isidBuilder = new PbbIsidBuilder();
-        Integer isid = input.readUnsignedMedium();
-        isidBuilder.setIsid(isid.longValue());
-        if (builder.isHasMask()) {
-            isidBuilder.setMask(OxmDeserializerHelper
-                    .convertMask(input, EncodeConstants.SIZE_OF_3_BYTES));
-        }
-        caseBuilder.setPbbIsid(isidBuilder.build());
-        builder.setMatchEntryValue(caseBuilder.build());
-    }
-
-    @Override
-    protected Class<? extends MatchField> getOxmField() {
-        return PbbIsid.class;
+public class OxmPbbIsidDeserializer extends AbstractOxmMatchEntryDeserializer {
+    public OxmPbbIsidDeserializer() {
+        super(PbbIsid.VALUE);
     }
 
     @Override
-    protected Class<? extends OxmClassBase> getOxmClass() {
-        return OpenflowBasicClass.class;
+    protected void deserialize(final ByteBuf input, final MatchEntryBuilder builder) {
+        final int isid = input.readUnsignedMedium();
+        final PbbIsidBuilder isidBuilder = new PbbIsidBuilder()
+                .setIsid(Uint32.valueOf(isid));
+        if (builder.getHasMask()) {
+            isidBuilder.setMask(OxmDeserializerHelper.convertMask(input, EncodeConstants.SIZE_OF_3_BYTES));
+        }
+        builder.setMatchEntryValue(new PbbIsidCaseBuilder().setPbbIsid(isidBuilder.build()).build());
     }
-}
\ No newline at end of file
+}