X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflowjava%2Fopenflow-protocol-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fopenflowjava%2Fprotocol%2Fimpl%2Fdeserialization%2Fmatch%2FOxmPbbIsidDeserializer.java;h=e4da6d382b3572d44caf3cc4fa3cc30085598fbe;hb=refs%2Fchanges%2F45%2F101745%2F10;hp=5c5b159237f059b35479443f701865681371c5b1;hpb=34a07eabaeccb03d834359b99694f79b89e37583;p=openflowplugin.git diff --git a/openflowjava/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/deserialization/match/OxmPbbIsidDeserializer.java b/openflowjava/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/deserialization/match/OxmPbbIsidDeserializer.java index 5c5b159237..e4da6d382b 100644 --- a/openflowjava/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/deserialization/match/OxmPbbIsidDeserializer.java +++ b/openflowjava/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/deserialization/match/OxmPbbIsidDeserializer.java @@ -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 { - - @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 getOxmField() { - return PbbIsid.class; +public class OxmPbbIsidDeserializer extends AbstractOxmMatchEntryDeserializer { + public OxmPbbIsidDeserializer() { + super(PbbIsid.VALUE); } @Override - protected Class 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 +}