Constants introduced
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / util / MatchDeserializer.java
index 6fa17a2e946198c05d7c8cdc95ee5809aff6c16e..989af29398137eb97a6c4850a1dd353af1e6afa9 100644 (file)
@@ -123,13 +123,8 @@ import com.google.common.base.Joiner;
  * @author michal.polkorab\r
  */\r
 public abstract class MatchDeserializer {\r
+\r
     private static final Logger LOGGER = LoggerFactory.getLogger(MatchDeserializer.class);\r
-    private static final byte SIZE_OF_LONG_IN_BYTES = Long.SIZE / Byte.SIZE;\r
-    private static final byte SIZE_OF_INT_IN_BYTES = Integer.SIZE / Byte.SIZE;\r
-    private static final byte SIZE_OF_SHORT_IN_BYTES = Short.SIZE / Byte.SIZE;\r
-    private static final byte SIZE_OF_BYTE_IN_BYTES = Byte.SIZE / Byte.SIZE;\r
-    private static final byte SIZE_OF_IPV6_ADDRESS_IN_BYTES = (8 * Short.SIZE) / Byte.SIZE;\r
-    \r
     \r
     /**\r
      * Creates match\r
@@ -151,7 +146,7 @@ public abstract class MatchDeserializer {
             default:\r
                 break;\r
             }\r
-            builder.setMatchEntries(createMatchEntries(in, length - 2 * (Short.SIZE / Byte.SIZE)));\r
+            builder.setMatchEntries(createMatchEntries(in, length - 2 * (EncodeConstants.SIZE_OF_SHORT_IN_BYTES)));\r
             int paddingRemainder = length % EncodeConstants.PADDING;\r
             if (paddingRemainder != 0) {\r
                 in.skipBytes(EncodeConstants.PADDING - paddingRemainder);\r
@@ -207,7 +202,8 @@ public abstract class MatchDeserializer {
             matchEntriesBuilder.setHasMask(hasMask);\r
             int matchField =  fieldAndMask >> 1;\r
             int matchEntryLength = in.readUnsignedByte();\r
-            currLength += SIZE_OF_SHORT_IN_BYTES + (2 * SIZE_OF_BYTE_IN_BYTES) + matchEntryLength;\r
+            currLength += EncodeConstants.SIZE_OF_SHORT_IN_BYTES +\r
+                    (2 * EncodeConstants.SIZE_OF_BYTE_IN_BYTES) + matchEntryLength;\r
             \r
             switch(matchField) {\r
             case 0: \r
@@ -226,21 +222,21 @@ public abstract class MatchDeserializer {
                 matchEntriesBuilder.setOxmMatchField(Metadata.class);\r
                 addMetadataAugmentation(matchEntriesBuilder, in);\r
                 if (hasMask) {\r
-                    addMaskAugmentation(matchEntriesBuilder, in, SIZE_OF_LONG_IN_BYTES);\r
+                    addMaskAugmentation(matchEntriesBuilder, in, EncodeConstants.SIZE_OF_LONG_IN_BYTES);\r
                 }\r
                 break;\r
             case 3:\r
                 matchEntriesBuilder.setOxmMatchField(EthDst.class);\r
                 addMacAddressAugmentation(matchEntriesBuilder, in);\r
                 if (hasMask) {\r
-                    addMaskAugmentation(matchEntriesBuilder, in, SIZE_OF_LONG_IN_BYTES);\r
+                    addMaskAugmentation(matchEntriesBuilder, in, EncodeConstants.SIZE_OF_LONG_IN_BYTES);\r
                 }\r
                 break;\r
             case 4:\r
                 matchEntriesBuilder.setOxmMatchField(EthSrc.class);\r
                 addMacAddressAugmentation(matchEntriesBuilder, in);\r
                 if (hasMask) {\r
-                    addMaskAugmentation(matchEntriesBuilder, in, SIZE_OF_LONG_IN_BYTES);\r
+                    addMaskAugmentation(matchEntriesBuilder, in, EncodeConstants.SIZE_OF_LONG_IN_BYTES);\r
                 }\r
                 break;\r
             case 5:\r
@@ -257,7 +253,7 @@ public abstract class MatchDeserializer {
                 vlanVidBuilder.setVlanVid(vidEntryValue >> 1);\r
                 matchEntriesBuilder.addAugmentation(VlanVidMatchEntry.class, vlanVidBuilder.build());\r
                 if (hasMask) {\r
-                    addMaskAugmentation(matchEntriesBuilder, in, SIZE_OF_SHORT_IN_BYTES);\r
+                    addMaskAugmentation(matchEntriesBuilder, in, EncodeConstants.SIZE_OF_SHORT_IN_BYTES);\r
                 }\r
                 break;\r
             case 7:\r
@@ -286,20 +282,18 @@ public abstract class MatchDeserializer {
                 break;\r
             case 11:\r
                 matchEntriesBuilder.setOxmMatchField(Ipv4Src.class);\r
-                // TODO - ipv4address - check format with tests\r
                 LOGGER.warn("IPV4address(ipv4src): received but possible wrong deserialization");\r
                 addIpv4AddressAugmentation(matchEntriesBuilder, in);\r
                 if (hasMask) {\r
-                    addMaskAugmentation(matchEntriesBuilder, in, SIZE_OF_INT_IN_BYTES);\r
+                    addMaskAugmentation(matchEntriesBuilder, in, EncodeConstants.SIZE_OF_INT_IN_BYTES);\r
                 }\r
                 break;\r
             case 12:\r
                 matchEntriesBuilder.setOxmMatchField(Ipv4Dst.class);\r
-                // TODO - ipv4address - check format with tests\r
                 LOGGER.warn("IPV4address(ipv4dst): received but possible wrong deserialization");\r
                 addIpv4AddressAugmentation(matchEntriesBuilder, in);\r
                 if (hasMask) {\r
-                    addMaskAugmentation(matchEntriesBuilder, in, SIZE_OF_INT_IN_BYTES);\r
+                    addMaskAugmentation(matchEntriesBuilder, in, EncodeConstants.SIZE_OF_INT_IN_BYTES);\r
                 }\r
                 break;\r
             case 13:\r
@@ -346,34 +340,32 @@ public abstract class MatchDeserializer {
                 break;\r
             case 22:\r
                 matchEntriesBuilder.setOxmMatchField(ArpSpa.class);\r
-                // TODO - ipv4address - check format with tests\r
                 LOGGER.warn("IPV4address(arpspa): received but possible wrong deserialization");\r
                 addIpv4AddressAugmentation(matchEntriesBuilder, in);\r
                 if (hasMask) {\r
-                    addMaskAugmentation(matchEntriesBuilder, in, SIZE_OF_INT_IN_BYTES);\r
+                    addMaskAugmentation(matchEntriesBuilder, in, EncodeConstants.SIZE_OF_INT_IN_BYTES);\r
                 }\r
                 break;\r
             case 23:\r
                 matchEntriesBuilder.setOxmMatchField(ArpTpa.class);\r
-                // TODO - ipv4address - check format with tests\r
                 LOGGER.warn("IPV4address(arptpa): received but possible wrong deserialization");\r
                 addIpv4AddressAugmentation(matchEntriesBuilder, in);\r
                 if (hasMask) {\r
-                    addMaskAugmentation(matchEntriesBuilder, in, SIZE_OF_INT_IN_BYTES);\r
+                    addMaskAugmentation(matchEntriesBuilder, in, EncodeConstants.SIZE_OF_INT_IN_BYTES);\r
                 }\r
                 break;\r
             case 24:\r
                 matchEntriesBuilder.setOxmMatchField(ArpSha.class);\r
                 addMacAddressAugmentation(matchEntriesBuilder, in);\r
                 if (hasMask) {\r
-                    addMaskAugmentation(matchEntriesBuilder, in, SIZE_OF_LONG_IN_BYTES);\r
+                    addMaskAugmentation(matchEntriesBuilder, in, EncodeConstants.SIZE_OF_LONG_IN_BYTES);\r
                 }\r
                 break;\r
             case 25:\r
                 matchEntriesBuilder.setOxmMatchField(ArpTha.class);\r
                 addMacAddressAugmentation(matchEntriesBuilder, in);\r
                 if (hasMask) {\r
-                    addMaskAugmentation(matchEntriesBuilder, in, SIZE_OF_LONG_IN_BYTES);\r
+                    addMaskAugmentation(matchEntriesBuilder, in, EncodeConstants.SIZE_OF_LONG_IN_BYTES);\r
                 }\r
                 break;\r
             case 26:\r
@@ -382,7 +374,7 @@ public abstract class MatchDeserializer {
                 LOGGER.warn("IPV6address(Ipv6Src): received but possible wrong deserialization");\r
                 addIpv6AddressAugmentation(matchEntriesBuilder, in);\r
                 if (hasMask) {\r
-                    addMaskAugmentation(matchEntriesBuilder, in, SIZE_OF_IPV6_ADDRESS_IN_BYTES);\r
+                    addMaskAugmentation(matchEntriesBuilder, in, EncodeConstants.SIZE_OF_IPV6_ADDRESS_IN_BYTES);\r
                 }\r
                 break;\r
             case 27:\r
@@ -391,7 +383,7 @@ public abstract class MatchDeserializer {
                 LOGGER.warn("IPV6address(Ipv6Dst): received but possible wrong deserialization");\r
                 addIpv6AddressAugmentation(matchEntriesBuilder, in);\r
                 if (hasMask) {\r
-                    addMaskAugmentation(matchEntriesBuilder, in, SIZE_OF_IPV6_ADDRESS_IN_BYTES);\r
+                    addMaskAugmentation(matchEntriesBuilder, in, EncodeConstants.SIZE_OF_IPV6_ADDRESS_IN_BYTES);\r
                 }\r
                 break;\r
             case 28:\r
@@ -400,7 +392,7 @@ public abstract class MatchDeserializer {
                 ipv6FlabelBuilder.setIpv6Flabel(new Ipv6FlowLabel(in.readUnsignedInt()));\r
                 matchEntriesBuilder.addAugmentation(Ipv6FlabelMatchEntry.class, ipv6FlabelBuilder.build());\r
                 if (hasMask) {\r
-                    addMaskAugmentation(matchEntriesBuilder, in, SIZE_OF_INT_IN_BYTES);\r
+                    addMaskAugmentation(matchEntriesBuilder, in, EncodeConstants.SIZE_OF_INT_IN_BYTES);\r
                 }\r
                 break;\r
             case 29:\r
@@ -457,14 +449,14 @@ public abstract class MatchDeserializer {
                 isidBuilder.setIsid(in.readUnsignedInt());\r
                 matchEntriesBuilder.addAugmentation(IsidMatchEntry.class, isidBuilder.build());\r
                 if (hasMask) {\r
-                    addMaskAugmentation(matchEntriesBuilder, in, SIZE_OF_INT_IN_BYTES);\r
+                    addMaskAugmentation(matchEntriesBuilder, in, EncodeConstants.SIZE_OF_INT_IN_BYTES);\r
                 }\r
                 break;\r
             case 38:\r
                 matchEntriesBuilder.setOxmMatchField(TunnelId.class);\r
                 addMetadataAugmentation(matchEntriesBuilder, in);\r
                 if (hasMask) {\r
-                    addMaskAugmentation(matchEntriesBuilder, in, SIZE_OF_LONG_IN_BYTES);\r
+                    addMaskAugmentation(matchEntriesBuilder, in, EncodeConstants.SIZE_OF_LONG_IN_BYTES);\r
                 }\r
                 break;\r
             case 39:\r
@@ -483,7 +475,7 @@ public abstract class MatchDeserializer {
                 pseudoBuilder.setPseudoField(new PseudoField(AUTH, DEST, ESP, FRAG, HOP, NONEXT, ROUTER, UNREP, UNSEQ));\r
                 matchEntriesBuilder.addAugmentation(PseudoFieldMatchEntry.class, pseudoBuilder.build());\r
                 if (hasMask) {\r
-                    addMaskAugmentation(matchEntriesBuilder, in, SIZE_OF_SHORT_IN_BYTES);\r
+                    addMaskAugmentation(matchEntriesBuilder, in, EncodeConstants.SIZE_OF_SHORT_IN_BYTES);\r
                 }\r
                 break;\r
             default: \r
@@ -509,10 +501,9 @@ public abstract class MatchDeserializer {
     }\r
 \r
     private static void addIpv6AddressAugmentation(MatchEntriesBuilder builder, ByteBuf in) {\r
-        final byte GROUPS_IN_IPV6_ADDRESS = 8;\r
         Ipv6AddressMatchEntryBuilder ipv6AddressBuilder = new Ipv6AddressMatchEntryBuilder();\r
         List<String> groups = new ArrayList<>();\r
-        for (int i = 0; i < GROUPS_IN_IPV6_ADDRESS; i++) {\r
+        for (int i = 0; i < EncodeConstants.GROUPS_IN_IPV6_ADDRESS; i++) {\r
             groups.add(String.format("X", in.readUnsignedShort()));\r
         }\r
         Joiner joiner = Joiner.on(":");\r
@@ -529,10 +520,9 @@ public abstract class MatchDeserializer {
     }\r
 \r
     private static void addIpv4AddressAugmentation(MatchEntriesBuilder builder, ByteBuf in) {\r
-        final byte GROUPS_IN_IPV4_ADDRESS = 4;\r
         Ipv4AddressMatchEntryBuilder ipv4AddressBuilder = new Ipv4AddressMatchEntryBuilder();\r
         List<String> groups = new ArrayList<>();\r
-        for (int i = 0; i < GROUPS_IN_IPV4_ADDRESS; i++) {\r
+        for (int i = 0; i < EncodeConstants.GROUPS_IN_IPV4_ADDRESS; i++) {\r
             groups.add(Short.toString(in.readUnsignedByte()));\r
         }\r
         Joiner joiner = Joiner.on(".");\r
@@ -541,9 +531,8 @@ public abstract class MatchDeserializer {
     }\r
 \r
     private static void addMacAddressAugmentation(MatchEntriesBuilder builder, ByteBuf in) {\r
-        final int MAC_ADDRESS_LENGTH = 6;\r
         MacAddressMatchEntryBuilder macAddress = new MacAddressMatchEntryBuilder();\r
-        byte[] address = new byte[MAC_ADDRESS_LENGTH];\r
+        byte[] address = new byte[EncodeConstants.MAC_ADDRESS_LENGTH];\r
         in.readBytes(address);\r
         macAddress.setMacAddress(new MacAddress(ByteBufUtils.macAddressToString(address)));\r
         builder.addAugmentation(MacAddressMatchEntry.class, macAddress.build());\r