Check for transport protocol confi
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / core / SwitchConnectionProviderImpl.java
index 7ecc39e143c35c285b9e2d6c1ecef631a946129a..612afcb73f036cb61af72abdeb5ed3cfcc7c7c4b 100755 (executable)
@@ -38,6 +38,7 @@ import org.opendaylight.openflowjava.protocol.impl.deserialization.Deserializati
 import org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializerRegistryImpl;
 import org.opendaylight.openflowjava.protocol.impl.serialization.SerializationFactory;
 import org.opendaylight.openflowjava.protocol.impl.serialization.SerializerRegistryImpl;
+import org.opendaylight.openflowjava.protocol.api.keys.TypeToClassKey;
 import org.opendaylight.openflowjava.protocol.spi.connection.SwitchConnectionProvider;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.config.rev140630.TransportProtocol;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchField;
@@ -141,7 +142,7 @@ public class SwitchConnectionProviderImpl implements SwitchConnectionProvider, C
         // TODO : Add option to disable Epoll.
         boolean isEpollEnabled = Epoll.isAvailable();
 
-        if (transportProtocol.equals(TransportProtocol.TCP) || transportProtocol.equals(TransportProtocol.TLS)) {
+        if ((TransportProtocol.TCP.equals(transportProtocol) || TransportProtocol.TLS.equals(transportProtocol))) {
             server = new TcpHandler(connConfig.getAddress(), connConfig.getPort());
             final TcpChannelInitializer channelInitializer = factory.createPublishingChannelInitializer();
             ((TcpHandler) server).setChannelInitializer(channelInitializer);
@@ -151,7 +152,7 @@ public class SwitchConnectionProviderImpl implements SwitchConnectionProvider, C
             connectionInitializer = new TcpConnectionInitializer(workerGroupFromTcpHandler, isEpollEnabled);
             connectionInitializer.setChannelInitializer(channelInitializer);
             connectionInitializer.run();
-        } else if (transportProtocol.equals(TransportProtocol.UDP)){
+        } else if (TransportProtocol.UDP.equals(transportProtocol)){
             server = new UdpHandler(connConfig.getAddress(), connConfig.getPort());
             ((UdpHandler) server).initiateEventLoopGroups(connConfig.getThreadConfiguration(), isEpollEnabled);
             ((UdpHandler) server).setChannelInitializer(factory.createUdpChannelInitializer());
@@ -301,4 +302,23 @@ public class SwitchConnectionProviderImpl implements SwitchConnectionProvider, C
         return this.connConfig;
     }
 
+     @Override
+    public <K> void registerSerializer(MessageTypeKey<K> key, OFGeneralSerializer serializer) {
+        serializerRegistry.registerSerializer(key, serializer);
+    }
+
+    @Override
+    public void registerDeserializer(MessageCodeKey key, OFGeneralDeserializer deserializer) {
+       deserializerRegistry.registerDeserializer(key, deserializer);
+    }
+
+    @Override
+    public void registerDeserializerMapping(final TypeToClassKey key, final Class<?> clazz) {
+        deserializationFactory.registerMapping(key, clazz);
+    }
+
+    @Override
+    public boolean unregisterDeserializerMapping(final TypeToClassKey key) {
+        return deserializationFactory.unregisterMapping(key);
+    }
 }