Use Uint16 for numBits 80/94380/1
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 3 Jan 2021 22:02:13 +0000 (23:02 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 3 Jan 2021 22:02:13 +0000 (23:02 +0100)
Migrate legacy setter use by embracing Uint16 as a validated
holder.

Change-Id: I3de4cf98b223fad732efa676edddea5b4468af06
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
extension/openflowjava-extension-nicira/src/main/java/org/opendaylight/openflowjava/nx/codec/action/LearnCodecUtil.java

index 2bf40a700b4a5d53ad5ac7c86f85b6c6b8e0bf3a..e196144093748a4c18d0982bb97ab2c238c2f0c1 100644 (file)
@@ -234,9 +234,9 @@ public final class LearnCodecUtil {
 
         final short src = (short) ((header & SRC_MASK) >> SRC_POS);
         final short dst = (short) ((header & DST_MASK) >> DST_POS);
-        final short numBits = (short) (header & NUM_BITS_MASK);
+        final Uint16 numBits = Uint16.fromShortBits((short) (header & NUM_BITS_MASK));
 
-        if (src == 0 && dst == 0 && numBits != 0) {
+        if (src == 0 && dst == 0 && numBits.shortValue() != 0) {
             return readFlowModAddMatchFromField(message, numBits);
         } else if (src == 0 && dst == 0) {
             message.skipBytes(EMPTY_FLOW_MOD_LENGTH);
@@ -253,13 +253,13 @@ public final class LearnCodecUtil {
         return null;
     }
 
-    private FlowMods readFlowModAddMatchFromField(final ByteBuf message, final short numBits) {
+    private FlowMods readFlowModAddMatchFromField(final ByteBuf message, final Uint16 numBits) {
         final var builder = new FlowModAddMatchFromFieldBuilder()
             .setSrcField(readUint32(message))
             .setSrcOfs(readUint16(message))
             .setDstField(readUint32(message))
             .setDstOfs(readUint16(message))
-            .setFlowModNumBits((int) numBits);
+            .setFlowModNumBits(numBits);
         length -= FROM_FIELD_LENGTH - Short.BYTES;
 
         return new FlowModsBuilder()
@@ -269,12 +269,12 @@ public final class LearnCodecUtil {
             .build();
     }
 
-    private FlowMods readFlowModAddMatchFromValue(final ByteBuf message, final short numBits) {
+    private FlowMods readFlowModAddMatchFromValue(final ByteBuf message, final Uint16 numBits) {
         final var builder = new FlowModAddMatchFromValueBuilder()
             .setValue(readUint16(message))
             .setSrcField(readUint32(message))
             .setSrcOfs(readUint16(message))
-            .setFlowModNumBits((int) numBits);
+            .setFlowModNumBits(numBits);
         length -= FROM_VALUE_LENGTH - Short.BYTES;
 
         return new FlowModsBuilder()
@@ -284,13 +284,13 @@ public final class LearnCodecUtil {
             .build();
     }
 
-    private FlowMods readFlowModCopyFromField(final ByteBuf message, final short numBits) {
+    private FlowMods readFlowModCopyFromField(final ByteBuf message, final Uint16 numBits) {
         final var builder = new FlowModCopyFieldIntoFieldBuilder()
             .setSrcField(readUint32(message))
             .setSrcOfs(readUint16(message))
             .setDstField(readUint32(message))
             .setDstOfs(readUint16(message))
-            .setFlowModNumBits((int) numBits);
+            .setFlowModNumBits(numBits);
         length -= FROM_FIELD_LENGTH - Short.BYTES;
 
         return new FlowModsBuilder()
@@ -300,12 +300,12 @@ public final class LearnCodecUtil {
             .build();
     }
 
-    private FlowMods readFlowModCopyFromValue(final ByteBuf message, final short numBits) {
+    private FlowMods readFlowModCopyFromValue(final ByteBuf message, final Uint16 numBits) {
         final var builder = new FlowModCopyValueIntoFieldBuilder()
             .setValue(readUint16(message))
             .setDstField(readUint32(message))
             .setDstOfs(readUint16(message))
-            .setFlowModNumBits((int) numBits);
+            .setFlowModNumBits(numBits);
         length -= FROM_VALUE_LENGTH - Short.BYTES;
 
         return new FlowModsBuilder()
@@ -315,11 +315,11 @@ public final class LearnCodecUtil {
             .build();
     }
 
-    private FlowMods readFlowToPort(final ByteBuf message, final short numBits) {
+    private FlowMods readFlowToPort(final ByteBuf message, final Uint16 numBits) {
         final var builder = new FlowModOutputToPortBuilder()
             .setSrcField(readUint32(message))
             .setSrcOfs(readUint16(message))
-            .setFlowModNumBits((int) numBits);
+            .setFlowModNumBits(numBits);
         length -= TO_PORT_LENGTH - Short.BYTES;
 
         return new FlowModsBuilder()