Add methods that allows registering any serializer
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / serialization / action / OF10SetNwSrcActionSerializer.java
index b708b163b84d6588e36e000d2155de21a7638009..77e2be3df844c75a8794cefa1de58bdad9d49c41 100644 (file)
@@ -8,18 +8,30 @@
 
 package org.opendaylight.openflowjava.protocol.impl.serialization.action;
 
+import io.netty.buffer.ByteBuf;
 import org.opendaylight.openflowjava.protocol.impl.util.ActionConstants;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IetfInetUtil;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.action.grouping.action.choice.SetNwSrcCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action;
 
 /**
  * @author michal.polkorab
  *
  */
-public class OF10SetNwSrcActionSerializer extends OF10AbstractIpAddressActionSerializer {
+public class OF10SetNwSrcActionSerializer extends AbstractActionSerializer {
+
+    @Override
+    public void serialize(final Action action, final ByteBuf outBuffer) {
+        super.serialize(action, outBuffer);
+        outBuffer.writeBytes(IetfInetUtil.INSTANCE.ipv4AddressBytes(
+            ((SetNwSrcCase) action.getActionChoice()).getSetNwSrcAction().getIpAddress()));
+    }
 
     @Override
     protected int getType() {
         return ActionConstants.SET_NW_SRC_CODE;
     }
+
     @Override
     protected int getLength() {
         return ActionConstants.GENERAL_ACTION_LENGTH;