Bug 6744 - the parameters of the function of registerMeterBandSerializer need to... 15/46015/1
authoryunyunhan <han.yunyun@zte.com.cn>
Mon, 19 Sep 2016 20:05:37 +0000 (04:05 +0800)
committeryunyunhan <han.yunyun@zte.com.cn>
Thu, 22 Sep 2016 01:49:53 +0000 (01:49 +0000)
Change-Id: I076906df05b26b407fe7209487b9181dec029d3a
Signed-off-by: yunyunhan <han.yunyun@zte.com.cn>
(cherry picked from commit 5e8b6a2c5218b2ea22343ec889ad7e7fb4112530)

openflow-protocol-api/src/main/java/org/opendaylight/openflowjava/protocol/api/extensibility/SerializerExtensionProvider.java [changed mode: 0644->0755]
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/SwitchConnectionProviderImpl.java [changed mode: 0644->0755]
openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/core/connection/SwitchConnectionProviderImpl02Test.java [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 1316249..f108b7c
@@ -9,6 +9,7 @@
 package org.opendaylight.openflowjava.protocol.api.extensibility;
 
 import org.opendaylight.openflowjava.protocol.api.keys.ActionSerializerKey;
+import org.opendaylight.openflowjava.protocol.api.keys.ExperimenterIdMeterSubTypeSerializerKey;
 import org.opendaylight.openflowjava.protocol.api.keys.ExperimenterIdSerializerKey;
 import org.opendaylight.openflowjava.protocol.api.keys.ExperimenterSerializerKey;
 import org.opendaylight.openflowjava.protocol.api.keys.InstructionSerializerKey;
@@ -92,10 +93,21 @@ public interface SerializerExtensionProvider {
             OFGeneralSerializer serializer);
 
     /**
+     * @deprecated Since we use ExperimenterIdMeterSubTypeSerializerKey as MeterBandSerializer's key, in order to avoid
+     * the occurrence of an error,we should discard this function
      * Registers meter band serializer (used in meter-mod messages)
      * @param key used for serializer lookup
      * @param serializer serializer implementation
      */
+    @Deprecated
     void registerMeterBandSerializer(ExperimenterIdSerializerKey<MeterBandExperimenterCase> key,
             OFSerializer<MeterBandExperimenterCase> serializer);
+
+    /**
+     * Registers meter band serializer (used in meter-mod messages)
+     * @param key used for serializer lookup
+     * @param serializer serializer implementation
+     */
+    void registerMeterBandSerializer(ExperimenterIdMeterSubTypeSerializerKey<MeterBandExperimenterCase> key,
+                                     OFSerializer<MeterBandExperimenterCase> serializer);
 }
old mode 100644 (file)
new mode 100755 (executable)
index bb32736..7ecc39e
@@ -25,6 +25,7 @@ import org.opendaylight.openflowjava.protocol.api.keys.ActionSerializerKey;
 import org.opendaylight.openflowjava.protocol.api.keys.ExperimenterActionDeserializerKey;
 import org.opendaylight.openflowjava.protocol.api.keys.ExperimenterDeserializerKey;
 import org.opendaylight.openflowjava.protocol.api.keys.ExperimenterIdDeserializerKey;
+import org.opendaylight.openflowjava.protocol.api.keys.ExperimenterIdMeterSubTypeSerializerKey;
 import org.opendaylight.openflowjava.protocol.api.keys.ExperimenterIdSerializerKey;
 import org.opendaylight.openflowjava.protocol.api.keys.ExperimenterInstructionDeserializerKey;
 import org.opendaylight.openflowjava.protocol.api.keys.ExperimenterSerializerKey;
@@ -274,11 +275,22 @@ public class SwitchConnectionProviderImpl implements SwitchConnectionProvider, C
     }
 
     @Override
+    /**
+     * @deprecated Since we have used ExperimenterIdMeterSubTypeSerializerKey as MeterBandSerializer's key, in order to avoid
+     * the occurrence of an error, we should discard this function
+     */
+    @Deprecated
     public void registerMeterBandSerializer(final ExperimenterIdSerializerKey<MeterBandExperimenterCase> key,
             final OFSerializer<MeterBandExperimenterCase> serializer) {
         serializerRegistry.registerSerializer(key, serializer);
     }
 
+    @Override
+    public void registerMeterBandSerializer(final ExperimenterIdMeterSubTypeSerializerKey<MeterBandExperimenterCase> key,
+                                            final OFSerializer<MeterBandExperimenterCase> serializer) {
+        serializerRegistry.registerSerializer(key, serializer);
+    }
+
     @Override
     public void initiateConnection(final String host, final int port) {
         connectionInitializer.initiateConnection(host, port);
old mode 100644 (file)
new mode 100755 (executable)
index 302c3e9..5b9dc17
@@ -9,8 +9,6 @@ package org.opendaylight.openflowjava.protocol.impl.core.connection;
 
 import com.google.common.collect.Lists;
 import com.google.common.util.concurrent.ListenableFuture;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
 import org.junit.Assert;
 import org.junit.Test;
 import org.mockito.Mock;
@@ -25,6 +23,7 @@ import org.opendaylight.openflowjava.protocol.api.extensibility.OFSerializer;
 import org.opendaylight.openflowjava.protocol.api.keys.ExperimenterActionDeserializerKey;
 import org.opendaylight.openflowjava.protocol.api.keys.ExperimenterActionSerializerKey;
 import org.opendaylight.openflowjava.protocol.api.keys.ExperimenterIdDeserializerKey;
+import org.opendaylight.openflowjava.protocol.api.keys.ExperimenterIdMeterSubTypeSerializerKey;
 import org.opendaylight.openflowjava.protocol.api.keys.ExperimenterIdSerializerKey;
 import org.opendaylight.openflowjava.protocol.api.keys.ExperimenterInstructionDeserializerKey;
 import org.opendaylight.openflowjava.protocol.api.keys.ExperimenterInstructionSerializerKey;
@@ -48,6 +47,9 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.queue.property.header.QueueProperty;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.table.features.properties.grouping.TableFeatureProperties;
 
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
 /**
  * @author madamjak
  * @author michal.polkorab
@@ -228,8 +230,8 @@ public class SwitchConnectionProviderImpl02Test {
         Assert.assertTrue("Wrong -- unregister MultipartRequestTFSerializer", provider.unregisterSerializer(key14));
         Assert.assertFalse("Wrong -- unregister MultipartRequestTFSerializer by not existing key", provider.unregisterSerializer(key14));
         // -- registerMeterBandSerializer
-        final ExperimenterIdSerializerKey<MeterBandExperimenterCase> key15
-            = new ExperimenterIdSerializerKey<>(EncodeConstants.OF10_VERSION_ID,42L,MeterBandExperimenterCase.class);
+        final ExperimenterIdMeterSubTypeSerializerKey<MeterBandExperimenterCase> key15
+            = new ExperimenterIdMeterSubTypeSerializerKey<>(EncodeConstants.OF10_VERSION_ID,42L,MeterBandExperimenterCase.class,null);
         provider.registerMeterBandSerializer(key15, serializerMeterBandExpCase);
         Assert.assertTrue("Wrong -- unregister MeterBandSerializer", provider.unregisterSerializer(key15));
         Assert.assertFalse("Wrong -- unregister MeterBandSerializer by not existing key", provider.unregisterSerializer(key15));