Extracted (De)SerializerExtensionProvider interfaces from SwitchConnectionProvider 51/9151/1
authorMichal Polkorab <michal.polkorab@pantheon.sk>
Fri, 4 Jul 2014 13:48:35 +0000 (15:48 +0200)
committerMichal Polkorab <michal.polkorab@pantheon.sk>
Fri, 18 Jul 2014 09:55:00 +0000 (11:55 +0200)
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
openflow-protocol-api/src/main/java/org/opendaylight/openflowjava/protocol/api/extensibility/DeserializerExtensionProvider.java [new file with mode: 0644]
openflow-protocol-api/src/main/java/org/opendaylight/openflowjava/protocol/api/extensibility/DeserializerRegistry.java
openflow-protocol-api/src/main/java/org/opendaylight/openflowjava/protocol/api/extensibility/SerializerExtensionProvider.java [new file with mode: 0644]
openflow-protocol-api/src/main/java/org/opendaylight/openflowjava/protocol/api/extensibility/SerializerRegistry.java
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/connection/SwitchConnectionProviderImpl.java
openflow-protocol-spi/src/main/java/org/opendaylight/openflowjava/protocol/spi/connection/SwitchConnectionProvider.java

diff --git a/openflow-protocol-api/src/main/java/org/opendaylight/openflowjava/protocol/api/extensibility/DeserializerExtensionProvider.java b/openflow-protocol-api/src/main/java/org/opendaylight/openflowjava/protocol/api/extensibility/DeserializerExtensionProvider.java
new file mode 100644 (file)
index 0000000..b821b16
--- /dev/null
@@ -0,0 +1,53 @@
+/*\r
+ * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+\r
+package org.opendaylight.openflowjava.protocol.api.extensibility;\r
+\r
+import org.opendaylight.openflowjava.protocol.api.keys.MatchEntryDeserializerKey;\r
+import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterActionDeserializerKey;\r
+import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterDeserializerKey;\r
+import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterInstructionDeserializerKey;\r
+\r
+/**\r
+ * Provides methods for deserialization part of extensibility\r
+ * @author michal.polkorab\r
+ */\r
+public interface DeserializerExtensionProvider {\r
+\r
+    /**\r
+     * Unregisters custom deserializer\r
+     * @param key used for deserializer lookup\r
+     * @return true if deserializer was removed,\r
+     *  false if no deserializer was found under specified key\r
+     */\r
+    public boolean unregisterDeserializer(ExperimenterDeserializerKey key);\r
+\r
+    /**\r
+     * Registers action deserializer\r
+     * @param key used for deserializer lookup\r
+     * @param deserializer deserializer instance\r
+     */\r
+    public void registerActionDeserializer(ExperimenterActionDeserializerKey key,\r
+            OFGeneralDeserializer deserializer);\r
+\r
+    /**\r
+     * Registers instruction deserializer\r
+     * @param key used for deserializer lookup\r
+     * @param deserializer deserializer instance\r
+     */\r
+    public void registerInstructionDeserializer(ExperimenterInstructionDeserializerKey key,\r
+            OFGeneralDeserializer deserializer);\r
+\r
+    /**\r
+     * Registers match entry deserializer\r
+     * @param key used for deserializer lookup\r
+     * @param deserializer deserializer instance\r
+     */\r
+    public void registerMatchEntryDeserializer(MatchEntryDeserializerKey key,\r
+            OFGeneralDeserializer deserializer);\r
+}\r
index 4266ab544ba958a03930ab104d8875026941226c..4afa95aec89ff05d9a4eb524d1165f2da9a4b8dc 100644 (file)
@@ -27,15 +27,16 @@ public interface DeserializerRegistry {
             SERIALIZER_TYPE getDeserializer(MessageCodeKey key);\r
 \r
     /**\r
-     * Registers deserializer under key\r
-     * @param key used to registry lookup\r
+     * Registers deserializer\r
+     * @param key used for deserializer lookup\r
      * @param deserializer deserializer instance\r
      */\r
-    public void registerDeserializer(MessageCodeKey key, OFGeneralDeserializer deserializer);\r
+    public void registerDeserializer(MessageCodeKey key,\r
+            OFGeneralDeserializer deserializer);\r
 \r
     /**\r
-     * Unregisters deserializer under key\r
-     * @param key used to registry lookup\r
+     * Unregisters deserializer\r
+     * @param key used for deserializer lookup\r
      * @param deserializer deserializer instance\r
      * @return true if deserializer was removed,\r
      *  false if no deserializer was found under specified key\r
diff --git a/openflow-protocol-api/src/main/java/org/opendaylight/openflowjava/protocol/api/extensibility/SerializerExtensionProvider.java b/openflow-protocol-api/src/main/java/org/opendaylight/openflowjava/protocol/api/extensibility/SerializerExtensionProvider.java
new file mode 100644 (file)
index 0000000..025e3c2
--- /dev/null
@@ -0,0 +1,56 @@
+/*\r
+ * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+\r
+package org.opendaylight.openflowjava.protocol.api.extensibility;\r
+\r
+import org.opendaylight.openflowjava.protocol.api.keys.MatchEntrySerializerKey;\r
+import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterActionSerializerKey;\r
+import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterInstructionSerializerKey;\r
+import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterSerializerKey;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.MatchField;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.OxmClassBase;\r
+\r
+\r
+/**\r
+ * Provides methods for serialization part of extensibility\r
+ * @author michal.polkorab\r
+ */\r
+public interface SerializerExtensionProvider {\r
+\r
+    /**\r
+     * Unregisters custom serializer\r
+     * @param key used for serializer lookup\r
+     * @return true if serializer was removed,\r
+     *  false if no serializer was found under specified key\r
+     */\r
+    public boolean unregisterSerializer(ExperimenterSerializerKey key);\r
+\r
+    /**\r
+     * Registers action serializer\r
+     * @param key used for serializer lookup\r
+     * @param serializer serializer implementation\r
+     */\r
+    public void registerActionSerializer(ExperimenterActionSerializerKey key,\r
+            OFGeneralSerializer serializer);\r
+\r
+    /**\r
+     * Registers instruction serializer\r
+     * @param key used for serializer lookup\r
+     * @param serializer serializer implementation\r
+     */\r
+    public void registerInstructionSerializer(ExperimenterInstructionSerializerKey key,\r
+            OFGeneralSerializer serializer);\r
+\r
+    /**\r
+     * Registers match entry serializer\r
+     * @param key used for serializer lookup\r
+     * @param serializer serializer implementation\r
+     */\r
+    public <OXM_CLASS extends OxmClassBase, OXM_TYPE extends MatchField> void registerMatchEntrySerializer(\r
+            MatchEntrySerializerKey<OXM_CLASS, OXM_TYPE> key,OFGeneralSerializer serializer);\r
+}
\ No newline at end of file
index 83b4ae8d129c069bca9612f54ed932ede84ae14a..bf25a60953bfa573d67562473c6d90c3775dd9df 100644 (file)
@@ -8,6 +8,8 @@
 package org.opendaylight.openflowjava.protocol.api.extensibility;\r
 \r
 \r
+\r
+\r
 /**\r
  * Stores and handles serializers \r
  * @author michal.polkorab\r
@@ -28,19 +30,19 @@ public interface SerializerRegistry {
         getSerializer(MessageTypeKey<KEY_TYPE> msgTypeKey);\r
 \r
     /**\r
-     * Registers serializer under key\r
-     * @param msgTypeKey lookup key\r
+     * Registers serializer\r
+     * @param key used for serializer lookup\r
      * @param serializer serializer implementation\r
      */\r
-    public <KEY_TYPE> void\r
-        registerSerializer(MessageTypeKey<KEY_TYPE> msgTypeKey, OFGeneralSerializer serializer);\r
+    public <KEY_TYPE> void registerSerializer(MessageTypeKey<KEY_TYPE> key,\r
+            OFGeneralSerializer serializer);\r
 \r
     /**\r
-     * Unregisters serializer under key\r
-     * @param msgTypeKey lookup key\r
+     * Unregisters serializer\r
+     * @param key used for serializer lookup\r
      * @param serializer serializer implementation\r
      * @return true if serializer was removed,\r
      *  false if no serializer was found under specified key\r
      */\r
-    public <KEY_TYPE> boolean unregisterSerializer(MessageTypeKey<KEY_TYPE> msgTypeKey);\r
+    public <KEY_TYPE> boolean unregisterSerializer(MessageTypeKey<KEY_TYPE> key);\r
 }\r
index a6d157921ad17cba19a9a68e69de3256e53c970c..39a9829bdc662a643aff78d5927c3821475e8613 100644 (file)
@@ -138,18 +138,6 @@ public class SwitchConnectionProviderImpl implements SwitchConnectionProvider {
         return serverFacade;
     }
 
-    @Override
-    public void registerSerializer(ExperimenterSerializerKey key,
-            OFGeneralSerializer serializer) {
-        serializerRegistry.registerSerializer((MessageTypeKey<?>) key, serializer);
-    }
-
-    @Override
-    public void registerDeserializer(ExperimenterDeserializerKey key,
-            OFGeneralDeserializer deserializer) {
-        deserializerRegistry.registerDeserializer((MessageCodeKey) key, deserializer);
-    }
-
     @Override
     public void close() throws Exception {
         shutdown();
@@ -168,36 +156,36 @@ public class SwitchConnectionProviderImpl implements SwitchConnectionProvider {
     @Override
     public void registerActionSerializer(ExperimenterActionSerializerKey key,
             OFGeneralSerializer serializer) {
-        registerSerializer(key, serializer);
+        serializerRegistry.registerSerializer(key, serializer);
     }
 
     @Override
     public void registerActionDeserializer(ExperimenterActionDeserializerKey key,
             OFGeneralDeserializer deserializer) {
-        registerDeserializer(key, deserializer);
+        deserializerRegistry.registerDeserializer(key, deserializer);
     }
 
     @Override
     public void registerInstructionSerializer(ExperimenterInstructionSerializerKey key,
             OFGeneralSerializer serializer) {
-        registerSerializer(key, serializer);
+        serializerRegistry.registerSerializer(key, serializer);
     }
 
     @Override
     public void registerInstructionDeserializer(ExperimenterInstructionDeserializerKey key,
             OFGeneralDeserializer deserializer) {
-        registerDeserializer(key, deserializer);
+        deserializerRegistry.registerDeserializer(key, deserializer);
     }
 
     @Override
     public <OXM_CLASS extends OxmClassBase, OXM_TYPE extends MatchField> void registerMatchEntrySerializer(MatchEntrySerializerKey<OXM_CLASS, OXM_TYPE> key,
             OFGeneralSerializer serializer) {
-        registerSerializer(key, serializer);
+        serializerRegistry.registerSerializer(key, serializer);
     }
 
     @Override
     public void registerMatchEntryDeserializer(MatchEntryDeserializerKey key,
             OFGeneralDeserializer deserializer) {
-        registerDeserializer(key, deserializer);
+        deserializerRegistry.registerDeserializer(key, deserializer);
     }
-}
+}
\ No newline at end of file
index ad7d741d1d73e989845a14d4a5f846d276f6b852..69d08fbb8c4be6f8f3cdc1bddb7a372dc57b25c0 100644 (file)
@@ -11,18 +11,8 @@ package org.opendaylight.openflowjava.protocol.spi.connection;
 
 import org.opendaylight.openflowjava.protocol.api.connection.ConnectionConfiguration;
 import org.opendaylight.openflowjava.protocol.api.connection.SwitchConnectionHandler;
-import org.opendaylight.openflowjava.protocol.api.extensibility.OFGeneralDeserializer;
-import org.opendaylight.openflowjava.protocol.api.extensibility.OFGeneralSerializer;
-import org.opendaylight.openflowjava.protocol.api.keys.MatchEntryDeserializerKey;
-import org.opendaylight.openflowjava.protocol.api.keys.MatchEntrySerializerKey;
-import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterActionDeserializerKey;
-import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterActionSerializerKey;
-import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterDeserializerKey;
-import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterInstructionDeserializerKey;
-import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterInstructionSerializerKey;
-import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterSerializerKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.MatchField;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.OxmClassBase;
+import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerExtensionProvider;
+import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerExtensionProvider;
 
 import com.google.common.util.concurrent.ListenableFuture;
 
@@ -31,7 +21,8 @@ import com.google.common.util.concurrent.ListenableFuture;
  * @author michal.polkorab
  *
  */
-public interface SwitchConnectionProvider extends AutoCloseable {
+public interface SwitchConnectionProvider extends AutoCloseable,
+        SerializerExtensionProvider, DeserializerExtensionProvider {
 
     /**
      * @param configuration [protocol, port, address and supported features]
@@ -56,82 +47,4 @@ public interface SwitchConnectionProvider extends AutoCloseable {
      */
     void setSwitchConnectionHandler(SwitchConnectionHandler switchConHandler);
 
-    /**
-     * Registers custom serializer
-     * @param key used for serializer lookup
-     * @param serializer serializer implementation
-     */
-    public void registerSerializer(ExperimenterSerializerKey key,
-            OFGeneralSerializer serializer);
-
-    /**
-     * Registers custom deserializer
-     * @param key used for deserializer lookup
-     * @param deserializer deserializer instance
-     */
-    public void registerDeserializer(ExperimenterDeserializerKey key, OFGeneralDeserializer deserializer);
-
-    /**
-     * Unregisters custom serializer
-     * @param key used for serializer lookup
-     * @return true if serializer was removed,
-     *  false if no serializer was found under specified key
-     */
-    public boolean unregisterSerializer(ExperimenterSerializerKey key);
-
-    /**
-     * Unregisters custom deserializer
-     * @param key used for deserializer lookup
-     * @return true if deserializer was removed,
-     *  false if no deserializer was found under specified key
-     */
-    public boolean unregisterDeserializer(ExperimenterDeserializerKey key);
-
-    /**
-     * Registers action serializer
-     * @param key used for serializer lookup
-     * @param serializer serializer implementation
-     */
-    public void registerActionSerializer(ExperimenterActionSerializerKey key,
-            OFGeneralSerializer serializer);
-
-    /**
-     * Registers action deserializer
-     * @param key used for deserializer lookup
-     * @param deserializer deserializer instance
-     */
-    public void registerActionDeserializer(ExperimenterActionDeserializerKey key,
-            OFGeneralDeserializer deserializer);
-
-    /**
-     * Registers instruction serializer
-     * @param key used for serializer lookup
-     * @param serializer serializer implementation
-     */
-    public void registerInstructionSerializer(ExperimenterInstructionSerializerKey key,
-            OFGeneralSerializer serializer);
-
-    /**
-     * Registers instruction deserializer
-     * @param key used for deserializer lookup
-     * @param deserializer deserializer instance
-     */
-    public void registerInstructionDeserializer(ExperimenterInstructionDeserializerKey key,
-            OFGeneralDeserializer deserializer);
-
-    /**
-     * Registers match entry serializer
-     * @param key used for serializer lookup
-     * @param serializer serializer implementation
-     */
-    public <OXM_CLASS extends OxmClassBase, OXM_TYPE extends MatchField> void registerMatchEntrySerializer(
-            MatchEntrySerializerKey<OXM_CLASS, OXM_TYPE> key,OFGeneralSerializer serializer);
-
-    /**
-     * Registers match entry deserializer
-     * @param key used for deserializer lookup
-     * @param deserializer deserializer instance
-     */
-    public void registerMatchEntryDeserializer(MatchEntryDeserializerKey key,
-            OFGeneralDeserializer deserializer);
-}
+}
\ No newline at end of file