Bug 5540 - PortConvertor, MatchConvertor
[openflowplugin.git] / openflowplugin / src / test / java / org / opendaylight / openflowplugin / openflow / md / core / sal / convertor / match / MatchResponseConvertor2Test.java
@@ -11,10 +11,13 @@ package org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match;
 import java.math.BigInteger;\r
 import java.util.ArrayList;\r
 import java.util.List;\r
+import java.util.Optional;\r
 import org.junit.Assert;\r
 import org.junit.Before;\r
 import org.junit.Test;\r
-import org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion;\r
+import org.opendaylight.openflowplugin.api.OFConstants;\r
+import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorManager;\r
+import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData;\r
 import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Dscp;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;\r
@@ -156,7 +159,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.matc
 /**\r
  * @author michal.polkorab\r
  */\r
-public class MatchConvertorImplV13Test {\r
+public class MatchResponseConvertor2Test {\r
 \r
     /**\r
      * Initializes OpenflowPortsUtil\r
@@ -167,21 +170,17 @@ public class MatchConvertorImplV13Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
-     * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
-     * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+     * Test {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchEntriesGrouping, org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData)}\r
      */\r
     @Test(expected = NullPointerException.class)\r
     public void testEmptyMatch() {\r
-        final MatchBuilder builder = new MatchBuilder();\r
-\r
-        MatchConvertorImpl.fromOFMatchToSALMatch(builder.build(), new BigInteger("42"), OpenflowVersion.OF10);\r
+        final VersionDatapathIdConvertorData datapathIdConvertorData = new VersionDatapathIdConvertorData(OFConstants.OFP_VERSION_1_0);\r
+        datapathIdConvertorData.setDatapathId(new BigInteger("42"));\r
+        convert(new MatchBuilder().build(), datapathIdConvertorData);\r
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
-     * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
-     * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+     * Test {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchEntriesGrouping, org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData)}\r
      */\r
     @Test\r
     public void testEmptyMatchEntry() {\r
@@ -192,8 +191,12 @@ public class MatchConvertorImplV13Test {
         builder.setMatchEntry(entries);\r
         final Match match = builder.build();\r
 \r
+        final VersionDatapathIdConvertorData datapathIdConvertorData = new VersionDatapathIdConvertorData(OFConstants.OFP_VERSION_1_0);\r
+        datapathIdConvertorData.setDatapathId(new BigInteger("42"));\r
+\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
-                .MatchBuilder salMatch = MatchConvertorImpl.fromOFMatchToSALMatch(match, new BigInteger("42"), OpenflowVersion.OF10);\r
+                .MatchBuilder salMatch = convert(match, datapathIdConvertorData);\r
+\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatch.build();\r
 \r
         Assert.assertEquals("Wrong match entries", null, builtMatch.getEthernetMatch());\r
@@ -212,9 +215,7 @@ public class MatchConvertorImplV13Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
-     * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
-     * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+     * Test {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchEntriesGrouping, org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData)}\r
      */\r
     @Test\r
     public void testWithMatchEntryNoMasks() {\r
@@ -499,8 +500,11 @@ public class MatchConvertorImplV13Test {
 \r
         final Match match = builder.build();\r
 \r
+        final VersionDatapathIdConvertorData datapathIdConvertorData = new VersionDatapathIdConvertorData(OFConstants.OFP_VERSION_1_0);\r
+        datapathIdConvertorData.setDatapathId(new BigInteger("42"));\r
+\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
-                .MatchBuilder salMatch = MatchConvertorImpl.fromOFMatchToSALMatch(match, new BigInteger("42"), OpenflowVersion.OF10);\r
+                .MatchBuilder salMatch = convert(match, datapathIdConvertorData);\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatch.build();\r
 \r
         Assert.assertEquals("Wrong in port", "openflow:42:1", builtMatch.getInPort().getValue());\r
@@ -537,9 +541,7 @@ public class MatchConvertorImplV13Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
-     * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
-     * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+     * Test {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchEntriesGrouping, org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData)}\r
      */\r
     @Test\r
     public void testWithMatchEntryWithMasks() {\r
@@ -648,8 +650,11 @@ public class MatchConvertorImplV13Test {
         builder.setMatchEntry(entries);\r
         final Match match = builder.build();\r
 \r
+        final VersionDatapathIdConvertorData datapathIdConvertorData = new VersionDatapathIdConvertorData(OFConstants.OFP_VERSION_1_0);\r
+        datapathIdConvertorData.setDatapathId(new BigInteger("42"));\r
+\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
-                .MatchBuilder salMatch = MatchConvertorImpl.fromOFMatchToSALMatch(match, new BigInteger("42"), OpenflowVersion.OF10);\r
+                .MatchBuilder salMatch = convert(match, datapathIdConvertorData);\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatch.build();\r
 \r
         Assert.assertEquals("Wrong metadata", new BigInteger(1, new byte[]{0, 1, 2, 3, 4, 5, 6, 7}), builtMatch.getMetadata().getMetadata());\r
@@ -670,9 +675,7 @@ public class MatchConvertorImplV13Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
-     * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
-     * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+     * Test {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchEntriesGrouping, org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData)}\r
      */\r
     @Test\r
     public void testWithMatchEntryWithArbitraryMasks() {\r
@@ -711,8 +714,11 @@ public class MatchConvertorImplV13Test {
         builder.setMatchEntry(entries);\r
         final Match match = builder.build();\r
 \r
+        final VersionDatapathIdConvertorData datapathIdConvertorData = new VersionDatapathIdConvertorData(OFConstants.OFP_VERSION_1_3);\r
+        datapathIdConvertorData.setDatapathId(new BigInteger("42"));\r
+\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
-                .MatchBuilder salMatch = MatchConvertorImpl.fromOFMatchToSALMatch(match, new BigInteger("42"), OpenflowVersion.OF13);\r
+                .MatchBuilder salMatch = convert(match, datapathIdConvertorData);\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatch.build();\r
 \r
         final Ipv4MatchArbitraryBitMask ipv4MatchArbitraryBitMask = (Ipv4MatchArbitraryBitMask) builtMatch.getLayer3Match();\r
@@ -723,9 +729,7 @@ public class MatchConvertorImplV13Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
-     * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
-     * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+     * Test {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchEntriesGrouping, org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData)}\r
      */\r
     @Test\r
     public void testWithMatchEntryWithSrcCidrMaskAndDstArbitraryBitMask() {\r
@@ -764,8 +768,11 @@ public class MatchConvertorImplV13Test {
         builder.setMatchEntry(entries);\r
         final Match match = builder.build();\r
 \r
+        final VersionDatapathIdConvertorData datapathIdConvertorData = new VersionDatapathIdConvertorData(OFConstants.OFP_VERSION_1_3);\r
+        datapathIdConvertorData.setDatapathId(new BigInteger("42"));\r
+\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
-                .MatchBuilder salMatch = MatchConvertorImpl.fromOFMatchToSALMatch(match, new BigInteger("42"), OpenflowVersion.OF13);\r
+                .MatchBuilder salMatch = convert(match, datapathIdConvertorData);\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatch.build();\r
 \r
         final Ipv4MatchArbitraryBitMask ipv4MatchArbitraryBitMask = (Ipv4MatchArbitraryBitMask) builtMatch.getLayer3Match();\r
@@ -776,9 +783,7 @@ public class MatchConvertorImplV13Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
-     * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
-     * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+     * Test {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchEntriesGrouping, org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData)}\r
      */\r
     @Test\r
     public void testWithMatchEntryWithSrcArbitraryBitMaskAndDstCidrMask() {\r
@@ -817,8 +822,11 @@ public class MatchConvertorImplV13Test {
         builder.setMatchEntry(entries);\r
         final Match match = builder.build();\r
 \r
+        final VersionDatapathIdConvertorData datapathIdConvertorData = new VersionDatapathIdConvertorData(OFConstants.OFP_VERSION_1_3);\r
+        datapathIdConvertorData.setDatapathId(new BigInteger("42"));\r
+\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
-                .MatchBuilder salMatch = MatchConvertorImpl.fromOFMatchToSALMatch(match, new BigInteger("42"), OpenflowVersion.OF13);\r
+                .MatchBuilder salMatch = convert(match, datapathIdConvertorData);\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatch.build();\r
 \r
         final Ipv4MatchArbitraryBitMask ipv4MatchArbitraryBitMask = (Ipv4MatchArbitraryBitMask) builtMatch.getLayer3Match();\r
@@ -830,9 +838,7 @@ public class MatchConvertorImplV13Test {
 \r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
-     * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
-     * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+     * Test {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchEntriesGrouping, org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData)}\r
      */\r
     @Test\r
     public void testWithMatchEntryWithDstArbitraryBitMaskAndSrcCidrMask() {\r
@@ -871,8 +877,11 @@ public class MatchConvertorImplV13Test {
         builder.setMatchEntry(entries);\r
         final Match match = builder.build();\r
 \r
+        final VersionDatapathIdConvertorData datapathIdConvertorData = new VersionDatapathIdConvertorData(OFConstants.OFP_VERSION_1_3);\r
+        datapathIdConvertorData.setDatapathId(new BigInteger("42"));\r
+\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
-                .MatchBuilder salMatch = MatchConvertorImpl.fromOFMatchToSALMatch(match, new BigInteger("42"), OpenflowVersion.OF13);\r
+                .MatchBuilder salMatch = convert(match, datapathIdConvertorData);\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatch.build();\r
 \r
         final Ipv4MatchArbitraryBitMask ipv4MatchArbitraryBitMask = (Ipv4MatchArbitraryBitMask) builtMatch.getLayer3Match();\r
@@ -883,9 +892,7 @@ public class MatchConvertorImplV13Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
-     * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
-     * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+     * Test {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchEntriesGrouping, org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData)}\r
      */\r
     @Test\r
     public void testWithMatchEntryWithDstCidrMaskAndSrcArbitraryBitMask() {\r
@@ -924,8 +931,11 @@ public class MatchConvertorImplV13Test {
         builder.setMatchEntry(entries);\r
         final Match match = builder.build();\r
 \r
+        final VersionDatapathIdConvertorData datapathIdConvertorData = new VersionDatapathIdConvertorData(OFConstants.OFP_VERSION_1_3);\r
+        datapathIdConvertorData.setDatapathId(new BigInteger("42"));\r
+\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
-                .MatchBuilder salMatch = MatchConvertorImpl.fromOFMatchToSALMatch(match, new BigInteger("42"), OpenflowVersion.OF13);\r
+                .MatchBuilder salMatch = convert(match, datapathIdConvertorData);\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatch.build();\r
 \r
         final Ipv4MatchArbitraryBitMask ipv4MatchArbitraryBitMask = (Ipv4MatchArbitraryBitMask) builtMatch.getLayer3Match();\r
@@ -936,9 +946,7 @@ public class MatchConvertorImplV13Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
-     * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
-     * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+     * Test {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchEntriesGrouping, org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData)}\r
      */\r
     @Test\r
     public void testLayer4MatchUdp() {\r
@@ -972,8 +980,11 @@ public class MatchConvertorImplV13Test {
 \r
         builder.setMatchEntry(entries);\r
 \r
+        final VersionDatapathIdConvertorData datapathIdConvertorData = new VersionDatapathIdConvertorData(OFConstants.OFP_VERSION_1_3);\r
+        datapathIdConvertorData.setDatapathId(new BigInteger("42"));\r
+\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
-                .MatchBuilder builtMatch = MatchConvertorImpl.fromOFMatchToSALMatch(builder.build(), new BigInteger("42"), OpenflowVersion.OF13);\r
+                .MatchBuilder builtMatch = convert(builder.build(), datapathIdConvertorData);\r
 \r
         final UdpMatch udpMatch = (UdpMatch) builtMatch.getLayer4Match();\r
         Assert.assertEquals("Wrong udp src port", 11, udpMatch.getUdpSourcePort().getValue().intValue());\r
@@ -981,9 +992,7 @@ public class MatchConvertorImplV13Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
-     * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
-     * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+     * Test {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchEntriesGrouping, org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData)}\r
      */\r
     @Test\r
     public void testLayer4MatchSctp() {\r
@@ -1016,8 +1025,11 @@ public class MatchConvertorImplV13Test {
         entries.add(entriesBuilder.build());\r
         builder.setMatchEntry(entries);\r
 \r
+        final VersionDatapathIdConvertorData datapathIdConvertorData = new VersionDatapathIdConvertorData(OFConstants.OFP_VERSION_1_3);\r
+        datapathIdConvertorData.setDatapathId(new BigInteger("42"));\r
+\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
-                .MatchBuilder salMatchBuilder = MatchConvertorImpl.fromOFMatchToSALMatch(builder.build(), new BigInteger("42"), OpenflowVersion.OF13);\r
+                .MatchBuilder salMatchBuilder = convert(builder.build(), datapathIdConvertorData);\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatchBuilder.build();\r
 \r
         final SctpMatch udpMatch = (SctpMatch) builtMatch.getLayer4Match();\r
@@ -1026,9 +1038,7 @@ public class MatchConvertorImplV13Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
-     * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
-     * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+     * Test {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchEntriesGrouping, org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData)}\r
      */\r
     @Test\r
     public void testLayer3MatchIpv6() {\r
@@ -1113,8 +1123,11 @@ public class MatchConvertorImplV13Test {
         builder.setMatchEntry(entries);\r
         entries.add(entriesBuilder.build());\r
 \r
+        final VersionDatapathIdConvertorData datapathIdConvertorData = new VersionDatapathIdConvertorData(OFConstants.OFP_VERSION_1_3);\r
+        datapathIdConvertorData.setDatapathId(new BigInteger("42"));\r
+\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
-                .MatchBuilder salMatchBuilder = MatchConvertorImpl.fromOFMatchToSALMatch(builder.build(), new BigInteger("42"), OpenflowVersion.OF13);\r
+                .MatchBuilder salMatchBuilder = convert(builder.build(), datapathIdConvertorData);\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatchBuilder.build();\r
 \r
         final Ipv6Match ipv6Match = (Ipv6Match) builtMatch.getLayer3Match();\r
@@ -1131,9 +1144,7 @@ public class MatchConvertorImplV13Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
-     * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
-     * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+     * Test {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchEntriesGrouping, org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData)}\r
      */\r
     @Test\r
     public void testLayer3MatchIpv6ExtHeader2() {\r
@@ -1153,8 +1164,11 @@ public class MatchConvertorImplV13Test {
         entries.add(entriesBuilder.build());\r
         builder.setMatchEntry(entries);\r
 \r
+        final VersionDatapathIdConvertorData datapathIdConvertorData = new VersionDatapathIdConvertorData(OFConstants.OFP_VERSION_1_3);\r
+        datapathIdConvertorData.setDatapathId(new BigInteger("42"));\r
+\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
-                .MatchBuilder salMatchBuilder = MatchConvertorImpl.fromOFMatchToSALMatch(builder.build(), new BigInteger("42"), OpenflowVersion.OF13);\r
+                .MatchBuilder salMatchBuilder = convert(builder.build(), datapathIdConvertorData);\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatchBuilder.build();\r
 \r
         final Ipv6Match ipv6Match = (Ipv6Match) builtMatch.getLayer3Match();\r
@@ -1163,9 +1177,7 @@ public class MatchConvertorImplV13Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
-     * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
-     * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+     * Test {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchEntriesGrouping, org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData)}\r
      */\r
     @Test\r
     public void testLayer3MatchArp() {\r
@@ -1228,8 +1240,11 @@ public class MatchConvertorImplV13Test {
         entries.add(entriesBuilder.build());\r
         builder.setMatchEntry(entries);\r
 \r
+        final VersionDatapathIdConvertorData datapathIdConvertorData = new VersionDatapathIdConvertorData(OFConstants.OFP_VERSION_1_3);\r
+        datapathIdConvertorData.setDatapathId(new BigInteger("42"));\r
+\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
-                .MatchBuilder salMatchBuilder = MatchConvertorImpl.fromOFMatchToSALMatch(builder.build(), new BigInteger("42"), OpenflowVersion.OF13);\r
+                .MatchBuilder salMatchBuilder = convert(builder.build(), datapathIdConvertorData);\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatchBuilder.build();\r
 \r
         final ArpMatch arpMatch = (ArpMatch) builtMatch.getLayer3Match();\r
@@ -1241,9 +1256,7 @@ public class MatchConvertorImplV13Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
-     * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
-     * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+     * Test {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchEntriesGrouping, org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData)}\r
      */\r
     @Test\r
     public void testLayer3MatchArpWithMasks() {\r
@@ -1300,8 +1313,11 @@ public class MatchConvertorImplV13Test {
 \r
         builder.setMatchEntry(entries);\r
 \r
+        final VersionDatapathIdConvertorData datapathIdConvertorData = new VersionDatapathIdConvertorData(OFConstants.OFP_VERSION_1_3);\r
+        datapathIdConvertorData.setDatapathId(new BigInteger("42"));\r
+\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
-                .MatchBuilder salMatchBuilder = MatchConvertorImpl.fromOFMatchToSALMatch(builder.build(), new BigInteger("42"), OpenflowVersion.OF13);\r
+                .MatchBuilder salMatchBuilder = convert(builder.build(), datapathIdConvertorData);\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatchBuilder.build();\r
 \r
         final ArpMatch arpMatch = (ArpMatch) builtMatch.getLayer3Match();\r
@@ -1314,9 +1330,7 @@ public class MatchConvertorImplV13Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
-     * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
-     * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+     * Test {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchEntriesGrouping, org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData)}\r
      */\r
     @Test\r
     public void testWithMatchEntryWithIpv6ArbitraryMasks() {\r
@@ -1355,9 +1369,12 @@ public class MatchConvertorImplV13Test {
         builder.setMatchEntry(entries);\r
         final Match match = builder.build();\r
 \r
+        final VersionDatapathIdConvertorData datapathIdConvertorData = new VersionDatapathIdConvertorData(OFConstants.OFP_VERSION_1_3);\r
+        datapathIdConvertorData.setDatapathId(new BigInteger("42"));\r
+\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
-                .MatchBuilder salMatch = MatchConvertorImpl.fromOFMatchToSALMatch(match, new BigInteger("42"), OpenflowVersion.OF13);\r
-        final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatch.build();\r
+                .MatchBuilder salMatchBuilder = convert(match, datapathIdConvertorData);\r
+        final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatchBuilder.build();\r
 \r
         final Ipv6MatchArbitraryBitMask ipv6MatchArbitraryBitMask = (Ipv6MatchArbitraryBitMask) builtMatch.getLayer3Match();\r
         Assert.assertEquals("Wrong ipv6 src address", "1001:1001:1001:1001:1001:1001:1001:1001",\r
@@ -1367,9 +1384,7 @@ public class MatchConvertorImplV13Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
-     * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
-     * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+     * Test {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchEntriesGrouping, org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData)}\r
      */\r
     @Test\r
     public void testWithMatchEntryWithIpv6SrcCidrlMaskAndDstArbitraryBitMask() {\r
@@ -1408,9 +1423,12 @@ public class MatchConvertorImplV13Test {
         builder.setMatchEntry(entries);\r
         final Match match = builder.build();\r
 \r
+        final VersionDatapathIdConvertorData datapathIdConvertorData = new VersionDatapathIdConvertorData(OFConstants.OFP_VERSION_1_3);\r
+        datapathIdConvertorData.setDatapathId(new BigInteger("42"));\r
+\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
-                .MatchBuilder salMatch = MatchConvertorImpl.fromOFMatchToSALMatch(match, new BigInteger("42"), OpenflowVersion.OF13);\r
-        final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatch.build();\r
+                .MatchBuilder salMatchBuilder = convert(match, datapathIdConvertorData);\r
+        final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatchBuilder.build();\r
 \r
         final Ipv6MatchArbitraryBitMask ipv6MatchArbitraryBitMask = (Ipv6MatchArbitraryBitMask) builtMatch.getLayer3Match();\r
         Assert.assertEquals("Wrong ipv6 src address", "1001:1001:1001:1001:1001:1001:1001:1001",\r
@@ -1420,9 +1438,7 @@ public class MatchConvertorImplV13Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
-     * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
-     * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+     * Test {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchEntriesGrouping, org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData)}\r
      */\r
     @Test\r
     public void testWithMatchEntryWithIpv6SrcArbitraryBitMaskAndDstCidrMask() {\r
@@ -1461,9 +1477,12 @@ public class MatchConvertorImplV13Test {
         builder.setMatchEntry(entries);\r
         final Match match = builder.build();\r
 \r
+        final VersionDatapathIdConvertorData datapathIdConvertorData = new VersionDatapathIdConvertorData(OFConstants.OFP_VERSION_1_3);\r
+        datapathIdConvertorData.setDatapathId(new BigInteger("42"));\r
+\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
-                .MatchBuilder salMatch = MatchConvertorImpl.fromOFMatchToSALMatch(match, new BigInteger("42"), OpenflowVersion.OF13);\r
-        final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatch.build();\r
+                .MatchBuilder salMatchBuilder = convert(match, datapathIdConvertorData);\r
+        final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatchBuilder.build();\r
 \r
         final Ipv6MatchArbitraryBitMask ipv6MatchArbitraryBitMask = (Ipv6MatchArbitraryBitMask) builtMatch.getLayer3Match();\r
         Assert.assertEquals("Wrong ipv6 src address", "1001:1001:1001:1001:1001:1001:1001:1001",\r
@@ -1474,11 +1493,8 @@ public class MatchConvertorImplV13Test {
 \r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
-     * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
-     * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+     * Test {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchEntriesGrouping, org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData)}\r
      */\r
-\r
     @Test\r
     public void testWithMatchEntryWithIpv6DstArbitraryBitMaskAndSrcCidrMask() {\r
         final MatchBuilder builder = new MatchBuilder();\r
@@ -1516,9 +1532,12 @@ public class MatchConvertorImplV13Test {
         builder.setMatchEntry(entries);\r
         final Match match = builder.build();\r
 \r
+        final VersionDatapathIdConvertorData datapathIdConvertorData = new VersionDatapathIdConvertorData(OFConstants.OFP_VERSION_1_3);\r
+        datapathIdConvertorData.setDatapathId(new BigInteger("42"));\r
+\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
-                .MatchBuilder salMatch = MatchConvertorImpl.fromOFMatchToSALMatch(match, new BigInteger("42"), OpenflowVersion.OF13);\r
-        final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatch.build();\r
+                .MatchBuilder salMatchBuilder = convert(match, datapathIdConvertorData);\r
+        final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatchBuilder.build();\r
 \r
         final Ipv6MatchArbitraryBitMask ipv6MatchArbitraryBitMask = (Ipv6MatchArbitraryBitMask) builtMatch.getLayer3Match();\r
         Assert.assertEquals("Wrong ipv6 src address", "2002:2002:2002:2002:2002:2002:2002:2002",\r
@@ -1529,11 +1548,8 @@ public class MatchConvertorImplV13Test {
 \r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#fromOFMatchToSALMatch(\r
-     * org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.grouping.Match, java.math.BigInteger,\r
-     * org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion)}\r
+     * Test {@link org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchResponseConvertor#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchEntriesGrouping, org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.VersionDatapathIdConvertorData)}\r
      */\r
-\r
     @Test\r
     public void testWithMatchEntryWithIpv6DstCidrMaskAndSrcArbitraryBitMask() {\r
         final MatchBuilder builder = new MatchBuilder();\r
@@ -1571,9 +1587,12 @@ public class MatchConvertorImplV13Test {
         builder.setMatchEntry(entries);\r
         final Match match = builder.build();\r
 \r
+        final VersionDatapathIdConvertorData datapathIdConvertorData = new VersionDatapathIdConvertorData(OFConstants.OFP_VERSION_1_3);\r
+        datapathIdConvertorData.setDatapathId(new BigInteger("42"));\r
+\r
         final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
-                .MatchBuilder salMatch = MatchConvertorImpl.fromOFMatchToSALMatch(match, new BigInteger("42"), OpenflowVersion.OF13);\r
-        final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatch.build();\r
+                .MatchBuilder salMatchBuilder = convert(match, datapathIdConvertorData);\r
+        final org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match builtMatch = salMatchBuilder.build();\r
 \r
         final Ipv6MatchArbitraryBitMask ipv6MatchArbitraryBitMask = (Ipv6MatchArbitraryBitMask) builtMatch.getLayer3Match();\r
         Assert.assertEquals("Wrong ipv6 src address", "2002:2002:2002:2002:2002:2002:2002:2002",\r
@@ -1582,5 +1601,12 @@ public class MatchConvertorImplV13Test {
                 ipv6MatchArbitraryBitMask.getIpv6DestinationAddressNoMask().getValue());\r
     }\r
 \r
+    private org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
+            .MatchBuilder convert(Match match, VersionDatapathIdConvertorData data) {\r
+        final Optional<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow\r
+                .MatchBuilder> salMatchOptional = ConvertorManager.getInstance().convert(match, data);\r
 \r
+        return salMatchOptional\r
+                .orElse(new org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.MatchBuilder());\r
+    }\r
 }\r