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;
* 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;
int val;
- char[] src = address[0].toCharArray();
+ char[] src = partsV6Address.get(0).toCharArray();
byte[] dst = new byte[INADDR6SZ];
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);
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;
}
int val;
- char[] src = address[0].toCharArray();
+ char[] src = partsV6Prefix.get(0).toCharArray();
byte[] dst = new byte[INADDR6SZ + 1];
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);
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));
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;
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);
}
}
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
*/\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