Extensibility support (deserialization part)
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / core / OFDecoder.java
index 9c706a8848712ecf87a439054cec2dbda98c611d..a1f9fb948bc69aab821c931127fc1a9c8d043c65 100644 (file)
@@ -26,6 +26,7 @@ import org.slf4j.LoggerFactory;
 public class OFDecoder extends MessageToMessageDecoder<VersionMessageWrapper> {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(OFDecoder.class);
+    private DeserializationFactory deserializationFactory;
 
     /**
      * Constructor of class
@@ -43,7 +44,7 @@ public class OFDecoder extends MessageToMessageDecoder<VersionMessageWrapper> {
         }
         DataObject dataObject = null;
         try {
-            dataObject = DeserializationFactory.bufferToMessage(msg.getMessageBuffer(),
+            dataObject = deserializationFactory.deserialize(msg.getMessageBuffer(),
                     msg.getVersion());
         } catch(Exception e) {
             LOGGER.error("Message deserialization failed");
@@ -57,4 +58,12 @@ public class OFDecoder extends MessageToMessageDecoder<VersionMessageWrapper> {
         msg.getMessageBuffer().release();
         out.add(dataObject);
     }
+
+    /**
+     * @param deserializationFactory
+     */
+    public void setDeserializationFactory(DeserializationFactory deserializationFactory) {
+        this.deserializationFactory = deserializationFactory;
+    }
+
 }