Use ByteBuf.readRetainedSlice()
[openflowplugin.git] / openflowplugin-impl / src / main / java / org / opendaylight / openflowplugin / impl / protocol / deserialization / MultipartDeserializerInjector.java
index cf83b2861bcdad21b06a6bb24a53afbca80d085d..ff7805999bbdbb73a2e162d763b2c13f95aa228c 100644 (file)
@@ -5,10 +5,8 @@
  * 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.impl.protocol.deserialization;
 
-import com.google.common.annotations.VisibleForTesting;
 import java.util.function.Consumer;
 import java.util.function.Function;
 import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerExtensionProvider;
@@ -32,51 +30,59 @@ import org.opendaylight.openflowplugin.impl.protocol.deserialization.multipart.M
 import org.opendaylight.openflowplugin.impl.protocol.deserialization.multipart.MultipartReplyTableFeaturesDeserializer;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.multipart.types.rev170112.multipart.reply.MultipartReplyBody;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartType;
+import org.opendaylight.yangtools.yang.common.Uint8;
+
+final class MultipartDeserializerInjector {
 
-class MultipartDeserializerInjector {
+    private MultipartDeserializerInjector() {
+    }
 
     /**
-     * Injects message deserializers into provided {@link org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerExtensionProvider}
+     * Injects message deserializers into provided
+     * {@link org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerExtensionProvider}.
+     *
      * @param provider OpenflowJava deserializer extension provider
      */
     static void injectDeserializers(final DeserializerExtensionProvider provider) {
-        final short version = EncodeConstants.OF13_VERSION_ID;
+        final Uint8 version = EncodeConstants.OF_VERSION_1_3;
 
         // Inject new multipart body deserializers here using injector created by createInjector method
         final Function<Integer, Consumer<OFDeserializer<? extends MultipartReplyBody>>> injector =
                 createInjector(provider, version);
         injector.apply(MultipartType.OFPMPDESC.getIntValue()).accept(new MultipartReplyDescDeserializer());
         injector.apply(MultipartType.OFPMPFLOW.getIntValue()).accept(new MultipartReplyFlowStatsDeserializer());
-        injector.apply(MultipartType.OFPMPAGGREGATE.getIntValue()).accept(new MultipartReplyFlowAggregateStatsDeserializer());
+        injector.apply(MultipartType.OFPMPAGGREGATE.getIntValue())
+                .accept(new MultipartReplyFlowAggregateStatsDeserializer());
         injector.apply(MultipartType.OFPMPTABLE.getIntValue()).accept(new MultipartReplyFlowTableStatsDeserializer());
         injector.apply(MultipartType.OFPMPPORTSTATS.getIntValue()).accept(new MultipartReplyPortStatsDeserializer());
         injector.apply(MultipartType.OFPMPQUEUE.getIntValue()).accept(new MultipartReplyQueueStatsDeserializer());
         injector.apply(MultipartType.OFPMPGROUP.getIntValue()).accept(new MultipartReplyGroupStatsDeserializer());
         injector.apply(MultipartType.OFPMPGROUPDESC.getIntValue()).accept(new MultipartReplyGroupDescDeserializer());
-        injector.apply(MultipartType.OFPMPGROUPFEATURES.getIntValue()).accept(new MultipartReplyGroupFeaturesDeserializer());
+        injector.apply(MultipartType.OFPMPGROUPFEATURES.getIntValue())
+                .accept(new MultipartReplyGroupFeaturesDeserializer());
         injector.apply(MultipartType.OFPMPMETER.getIntValue()).accept(new MultipartReplyMeterStatsDeserializer());
-        injector.apply(MultipartType.OFPMPMETERCONFIG.getIntValue()).accept(new MultipartReplyMeterConfigDeserializer());
-        injector.apply(MultipartType.OFPMPMETERFEATURES.getIntValue()).accept(new MultipartReplyMeterFeaturesDeserializer());
-        injector.apply(MultipartType.OFPMPTABLEFEATURES.getIntValue()).accept(new MultipartReplyTableFeaturesDeserializer());
+        injector.apply(MultipartType.OFPMPMETERCONFIG.getIntValue())
+                .accept(new MultipartReplyMeterConfigDeserializer());
+        injector.apply(MultipartType.OFPMPMETERFEATURES.getIntValue())
+                .accept(new MultipartReplyMeterFeaturesDeserializer());
+        injector.apply(MultipartType.OFPMPTABLEFEATURES.getIntValue())
+                .accept(new MultipartReplyTableFeaturesDeserializer());
         injector.apply(MultipartType.OFPMPPORTDESC.getIntValue()).accept(new MultipartReplyPortDescDeserializer());
-        injector.apply(MultipartType.OFPMPEXPERIMENTER.getIntValue()).accept(new MultipartReplyExperimenterDeserializer());
+        injector.apply(MultipartType.OFPMPEXPERIMENTER.getIntValue())
+                .accept(new MultipartReplyExperimenterDeserializer());
     }
 
     /**
-     * Create injector that will inject new deserializers into #{@link org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerExtensionProvider}
+     * Create injector that will inject new deserializers into
+     * #{@link org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerExtensionProvider}.
+     *
      * @param provider OpenflowJava deserializer extension provider
-     * @param version Openflow version
+     * @param version  Openflow version
      * @return injector
      */
-    @VisibleForTesting
-    static Function<Integer, Consumer<OFDeserializer<? extends MultipartReplyBody>>> createInjector(
-            final DeserializerExtensionProvider provider,
-            final short version) {
-        return code -> deserializer -> {
-            provider.registerDeserializer(
-                    new MessageCodeKey(version, code, MultipartReplyBody.class),
-                    deserializer);
-        };
+    private static Function<Integer, Consumer<OFDeserializer<? extends MultipartReplyBody>>> createInjector(
+            final DeserializerExtensionProvider provider, final Uint8 version) {
+        return code -> deserializer -> provider.registerDeserializer(
+                new MessageCodeKey(version, code, MultipartReplyBody.class), deserializer);
     }
-
 }