Fix findbugs violations in openflowplugin-impl
[openflowplugin.git] / openflowplugin-impl / src / main / java / org / opendaylight / openflowplugin / impl / protocol / deserialization / action / SetFieldActionDeserializer.java
index 0b2c894a440ee00170bd0291df95d9a098ec585c..884ceb2ffdfa85566ede95fc2ae1c29a9f4c763f 100644 (file)
@@ -7,6 +7,8 @@
  */
 package org.opendaylight.openflowplugin.impl.protocol.deserialization.action;
 
+import com.google.common.base.Preconditions;
+import io.netty.buffer.ByteBuf;
 import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerRegistry;
 import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerRegistryInjector;
 import org.opendaylight.openflowjava.protocol.api.keys.MessageCodeKey;
@@ -14,28 +16,27 @@ import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
 import org.opendaylight.openflowplugin.api.openflow.protocol.deserialization.MatchEntryDeserializer;
 import org.opendaylight.openflowplugin.extension.api.path.MatchPath;
 import org.opendaylight.openflowplugin.impl.protocol.deserialization.key.MessageCodeMatchKey;
+import org.opendaylight.openflowplugin.impl.util.MatchUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetFieldCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.field._case.SetFieldBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.field._case.SetField;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.MatchBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.Match;
 
-import io.netty.buffer.ByteBuf;
-
 public class SetFieldActionDeserializer extends AbstractActionDeserializer
-    implements DeserializerRegistryInjector {
+        implements DeserializerRegistryInjector {
 
     private static final MessageCodeKey MATCH_KEY = new MessageCodeMatchKey(
             EncodeConstants.OF13_VERSION_ID,
             EncodeConstants.EMPTY_LENGTH,
             Match.class,
-            MatchPath.FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_MATCH);
+            MatchPath.FLOWS_STATISTICS_UPDATE_MATCH);
 
     private DeserializerRegistry registry;
 
     @Override
     public Action deserialize(ByteBuf message) {
-        final MatchEntryDeserializer deserializer = registry.getDeserializer(MATCH_KEY);
+        final MatchEntryDeserializer deserializer = Preconditions.checkNotNull(registry).getDeserializer(MATCH_KEY);
         final MatchBuilder builder = new MatchBuilder();
 
         final int startIndex = message.readerIndex();
@@ -48,8 +49,8 @@ public class SetFieldActionDeserializer extends AbstractActionDeserializer
         }
 
         return new SetFieldCaseBuilder()
-            .setSetField(new SetFieldBuilder(builder.build()).build())
-            .build();
+                .setSetField(MatchUtil.transformMatch(builder.build(), SetField.class))
+                .build();
     }
 
     @Override