Add bundle messages serializers
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / serialization / MessageFactoryInitializer.java
index 23551bb7530ba438c199b2e214b270758ef7991e..08b9bc542e2b99a19c8ede76ce9ed7b6437fea6a 100644 (file)
@@ -9,6 +9,8 @@ package org.opendaylight.openflowjava.protocol.impl.serialization;
 
 import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
 import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;
+import org.opendaylight.openflowjava.protocol.impl.serialization.experimenter.BundleAddMessageFactory;
+import org.opendaylight.openflowjava.protocol.impl.serialization.experimenter.BundleControlFactory;
 import org.opendaylight.openflowjava.protocol.impl.serialization.factories.BarrierInputMessageFactory;
 import org.opendaylight.openflowjava.protocol.impl.serialization.factories.EchoInputMessageFactory;
 import org.opendaylight.openflowjava.protocol.impl.serialization.factories.EchoReplyInputMessageFactory;
@@ -37,6 +39,9 @@ import org.opendaylight.openflowjava.protocol.impl.serialization.factories.SetCo
 import org.opendaylight.openflowjava.protocol.impl.serialization.factories.TableModInputMessageFactory;
 import org.opendaylight.openflowjava.protocol.impl.serialization.factories.VendorInputMessageFactory;
 import org.opendaylight.openflowjava.protocol.impl.util.CommonMessageRegistryHelper;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.approved.extensions.rev160802.experimenter.input.experimenter.data.of.choice.bundle.add.message.message.FlowModCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.approved.extensions.rev160802.experimenter.input.experimenter.data.of.choice.bundle.add.message.message.GroupModCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.approved.extensions.rev160802.experimenter.input.experimenter.data.of.choice.bundle.add.message.message.PortModCase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.BarrierInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.EchoInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.EchoReplyInput;
@@ -111,5 +116,16 @@ public final class MessageFactoryInitializer {
         registryHelper.registerSerializer(SetAsyncInput.class, new SetAsyncInputMessageFactory());
         registryHelper.registerSerializer(SetConfigInput.class, new SetConfigMessageFactory());
         registryHelper.registerSerializer(TableModInput.class, new TableModInputMessageFactory());
+
+        // register ONF approved experimenter serializers
+        registryHelper.registerExperimenterSerializer(EncodeConstants.ONF_EXPERIMENTER_ID,
+                EncodeConstants.ONF_ET_BUNDLE_CONTROL, new BundleControlFactory());
+        registryHelper.registerExperimenterSerializer(EncodeConstants.ONF_EXPERIMENTER_ID,
+                EncodeConstants.ONF_ET_BUNDLE_ADD_MESSAGE, new BundleAddMessageFactory());
+
+        // register serializers for inner messages of BundleAddMessage
+        registryHelper.registerSerializer(FlowModCase.class, new FlowModInputMessageFactory());
+        registryHelper.registerSerializer(GroupModCase.class, new GroupModInputMessageFactory());
+        registryHelper.registerSerializer(PortModCase.class, new PortModInputMessageFactory());
     }
 }