Migrate .setXid() callers
[openflowplugin.git] / extension / openflowplugin-extension-onf / src / main / java / org / opendaylight / openflowplugin / extension / onf / deserializer / BundleControlFactory.java
index b53f28e60e1d7a892d38fde719956a11d3866527..487f92971206b27dcc1eed0a8b5cb35a90ac584a 100644 (file)
@@ -5,12 +5,15 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.openflowplugin.extension.onf.deserializer;
 
+import static org.opendaylight.yangtools.yang.common.netty.ByteBufUtils.readUint32;
+
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import io.netty.buffer.ByteBuf;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerRegistry;
 import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerRegistryInjector;
 import org.opendaylight.openflowjava.protocol.api.extensibility.OFDeserializer;
@@ -28,6 +31,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.on
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.onf.rev170124.experimenter.input.experimenter.data.of.choice.BundleControlOnf;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.onf.rev170124.experimenter.input.experimenter.data.of.choice.BundleControlOnfBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.onf.rev170124.experimenter.input.experimenter.data.of.choice.bundle.control.onf.OnfControlGroupingDataBuilder;
+import org.opendaylight.yangtools.yang.common.Uint32;
 
 /**
  * Translates BundleControl messages (OpenFlow v1.3 extension #230).
@@ -37,8 +41,8 @@ public class BundleControlFactory implements OFDeserializer<BundleControlOnf>, D
     private DeserializerRegistry deserializerRegistry;
 
     @Override
-    public BundleControlOnf deserialize(ByteBuf message) {
-        BundleId bundleId = new BundleId(message.readUnsignedInt());
+    public BundleControlOnf deserialize(final ByteBuf message) {
+        BundleId bundleId = new BundleId(readUint32(message));
         BundleControlType type = BundleControlType.forValue(message.readUnsignedShort());
         BundleFlags flags = createBundleFlags(message.readUnsignedShort());
         OnfControlGroupingDataBuilder builder = new OnfControlGroupingDataBuilder();
@@ -51,8 +55,8 @@ public class BundleControlFactory implements OFDeserializer<BundleControlOnf>, D
     }
 
     private static BundleFlags createBundleFlags(final int flags) {
-        Boolean isAtomic = (flags & (1 << 0)) != 0;
-        Boolean isOrdered = (flags & (1 << 1)) != 0;
+        Boolean isAtomic = (flags & 1 << 0) != 0;
+        Boolean isOrdered = (flags & 1 << 1) != 0;
         return new BundleFlags(isAtomic, isOrdered);
     }
 
@@ -70,17 +74,22 @@ public class BundleControlFactory implements OFDeserializer<BundleControlOnf>, D
         return properties;
     }
 
+    @SuppressFBWarnings("UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR") // FB doesn't recognize Objects.requireNonNull
     private BundleProperty createExperimenterBundleProperty(final int length, final ByteBuf message) {
-        BundlePropertyExperimenterBuilder experimenterProperty = new BundlePropertyExperimenterBuilder();
-        long experimenterId = message.readUnsignedInt();
-        long expType = message.readUnsignedInt();
-        experimenterProperty.setExperimenter(new ExperimenterId(experimenterId));
-        experimenterProperty.setExpType(expType);
+        Objects.requireNonNull(deserializerRegistry);
+
+        final Uint32 experimenterId = readUint32(message);
+        final Uint32 expType = readUint32(message);
+
+        final BundlePropertyExperimenterBuilder experimenterProperty = new BundlePropertyExperimenterBuilder()
+            .setExperimenter(new ExperimenterId(experimenterId))
+            .setExpType(expType);
 
         OFDeserializer<BundlePropertyExperimenterData> deserializer = deserializerRegistry.getDeserializer(
-                new ExperimenterIdTypeDeserializerKey(EncodeConstants.OF13_VERSION_ID, experimenterId, expType,
-                        BundlePropertyExperimenterData.class));
-        experimenterProperty.setBundlePropertyExperimenterData(deserializer.deserialize(message.readBytes(length - 12)));
+            new ExperimenterIdTypeDeserializerKey(EncodeConstants.OF13_VERSION_ID, experimenterId.toJava(),
+                expType.toJava(), BundlePropertyExperimenterData.class));
+        experimenterProperty.setBundlePropertyExperimenterData(
+                deserializer.deserialize(message.readBytes(length - 12)));
 
         return new BundlePropertyBuilder().setType(BundlePropertyType.ONFETBPTEXPERIMENTER)
                 .setBundlePropertyEntry(experimenterProperty.build())
@@ -88,8 +97,8 @@ public class BundleControlFactory implements OFDeserializer<BundleControlOnf>, D
     }
 
     @Override
-    public void injectDeserializerRegistry(DeserializerRegistry deserializerRegistry) {
-        this.deserializerRegistry = deserializerRegistry;
+    public void injectDeserializerRegistry(final DeserializerRegistry registry) {
+        this.deserializerRegistry = registry;
     }
 
 }