BUG-2771: Converting String.split() to Guava Splitter 74/39774/2
authorShuva Kar <shuva.jyoti.kar@ericsson.com>
Thu, 2 Jun 2016 14:39:57 +0000 (20:09 +0530)
committerShuva Jyoti Kar <shuva.jyoti.kar@ericsson.com>
Thu, 2 Jun 2016 17:35:49 +0000 (17:35 +0000)
for Inventory Utils

Change-Id: I70eaaebae0a9ad879aba5fa3313d01450af6194d
Signed-off-by: Shuva Kar <shuva.jyoti.kar@ericsson.com>
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/IpConversionUtil.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/PacketOutConvertor.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/PacketOutConvertorTest.java

index 9a09033db747031aff64dae8db29d6b554e9086f..fbf9e8cdf4d022cb52ca60a5f703d0ba9a500420 100644 (file)
@@ -15,6 +15,9 @@ import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Iterator;
+import java.util.List;
+
+import com.google.common.collect.Lists;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IetfInetUtil;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Prefix;
@@ -224,7 +227,11 @@ public final class IpConversionUtil {
          * the input is validated via regexps in Ipv6Prefix()
          */
 
-        String [] address =  (ipv6Address.getValue()).split("%");
+       Iterable<String> splittedV6Address = Splitter.on("%")
+                .trimResults()
+                .omitEmptyStrings()
+                .split(ipv6Address.getValue());
+        List<String> partsV6Address = Lists.newArrayList(splittedV6Address.iterator());
 
         int colonp;
         char ch;
@@ -234,7 +241,7 @@ public final class IpConversionUtil {
 
         int val;
 
-        char[] src = address[0].toCharArray();
+        char[] src = partsV6Address.get(0).toCharArray();
 
         byte[] dst = new byte[INADDR6SZ];
 
@@ -307,7 +314,7 @@ public final class IpConversionUtil {
 
                 Preconditions.checkArgument(j != (INADDR6SZ - INADDR4SZ - 1), "Invalid v4 in v6 mapping");
 
-                InetAddress _inet_form = InetAddresses.forString(address[0].substring(curtok, src_length));
+                InetAddress _inet_form = InetAddresses.forString(partsV6Address.get(0).substring(curtok, src_length));
 
                 Preconditions.checkArgument(_inet_form instanceof Inet4Address);
                 System.arraycopy(_inet_form.getAddress(), 0, dst, j, INADDR4SZ);
@@ -372,13 +379,16 @@ public final class IpConversionUtil {
 
         int mask = 128;
 
-        String [] address = null;
+        Iterable<String> splittedV6Prefix = Splitter.on("/")
+                .trimResults()
+                .omitEmptyStrings()
+                .split(ipv6Prefix.getValue());
+        List<String> partsV6Prefix = Lists.newArrayList(splittedV6Prefix.iterator());
 
         boolean valid = true;
 
-        address =  (ipv6Prefix.getValue()).split("/");
         try {
-            mask = Integer.parseInt(address[1]);
+            mask = Integer.parseInt(partsV6Prefix.get(1));
             if (mask > 128) {
                 valid = false;
             }
@@ -397,7 +407,7 @@ public final class IpConversionUtil {
 
         int val;
 
-        char[] src = address[0].toCharArray();
+        char[] src = partsV6Prefix.get(0).toCharArray();
 
         byte[] dst = new byte[INADDR6SZ + 1];
 
@@ -485,7 +495,7 @@ public final class IpConversionUtil {
 
                 Preconditions.checkArgument(j != (INADDR6SZ - INADDR4SZ - 1), "Invalid v4 in v6 mapping");
 
-                InetAddress _inet_form = InetAddresses.forString(address[0].substring(curtok, src_length));
+                InetAddress _inet_form = InetAddresses.forString(partsV6Prefix.get(0).substring(curtok, src_length));
 
                 Preconditions.checkArgument(_inet_form instanceof Inet4Address);
                 System.arraycopy(_inet_form.getAddress(), 0, dst, j, INADDR4SZ);
@@ -645,6 +655,7 @@ public final class IpConversionUtil {
             String maskInBits;
             // converting byte array to bits
             maskInBits = new BigInteger(1, byteMask).toString(2);
+
             ArrayList<String> stringMaskArrayList = new ArrayList<String>(Arrays.asList(maskInBits.split("(?!^)")));
             for (String string:stringMaskArrayList) {
                 integerMaskArrayList.add(Integer.parseInt(string));
index 1558524eccd6c03fbbf19fb8a828be4b8332e64e..bc002d1409e58e85ce9f4d7d7fdecef3f8dc0a59 100644 (file)
@@ -14,6 +14,7 @@ import java.util.List;
 import org.opendaylight.controller.sal.common.util.Arguments;
 import org.opendaylight.openflowplugin.api.OFConstants;
 import org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion;
+import org.opendaylight.openflowplugin.openflow.md.util.InventoryDataServiceUtil;
 import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorRef;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnectorKey;
@@ -123,8 +124,8 @@ public final class PacketOutConvertor {
         InstanceIdentifier.IdentifiableItem<?, ?> item = Arguments.checkInstanceOf(pathArgument,
                 InstanceIdentifier.IdentifiableItem.class);
         NodeConnectorKey key = Arguments.checkInstanceOf(item.getKey(), NodeConnectorKey.class);
-        String[] split = key.getId().getValue().split(":");
-        Long port = OpenflowPortsUtil.getPortFromLogicalName(OpenflowVersion.get(ofVersion), split[split.length - 1]);
+        Long port =  InventoryDataServiceUtil.portNumberfromNodeConnectorId(
+                OpenflowVersion.get(ofVersion), key.getId());
         return new PortNumber(port);
     }
 }
index ad4bf7eb3a0f981946da2152be11bf6f4c239770..9f0409efb8472e0e5c8df51d0d55763f6f1155bc 100644 (file)
@@ -17,6 +17,7 @@ import org.junit.Test;
 import org.opendaylight.openflowjava.protocol.api.util.EncodeConstants;\r
 import org.opendaylight.openflowplugin.api.OFConstants;\r
 import org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion;\r
+import org.opendaylight.openflowplugin.openflow.md.util.InventoryDataServiceUtil;\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.rev100924.Uri;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.OutputActionCaseBuilder;\r
@@ -215,9 +216,8 @@ public class PacketOutConvertorTest {
      */\r
     private static PortNumber getPortNumber(final NodeConnectorKey nConKey,\r
                                             final Short ofVersion) {\r
-        String[] split = nConKey.getId().getValue().split(":");\r
-        Long port = OpenflowPortsUtil.getPortFromLogicalName(\r
-                OpenflowVersion.get(ofVersion), split[split.length - 1]);\r
+        Long port = InventoryDataServiceUtil.portNumberfromNodeConnectorId(\r
+                OpenflowVersion.get(ofVersion), nConKey.getId());\r
         return new PortNumber(port);\r
     }\r
 \r