From: Robert Varga Date: Mon, 22 Feb 2016 14:00:52 +0000 (+0100) Subject: Unify prefix splitting X-Git-Tag: release/boron~200 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=cbd110c50d2b0670272aa2ecb954daaeb9258ae7;p=mdsal.git Unify prefix splitting Instead of duplicating code, create a static utility method to perform the string split. Change-Id: I3c25b1cff00fa61e037dc94fb9951fd998567455 Signed-off-by: Robert Varga --- diff --git a/model/ietf/ietf-type-util/src/main/java/org/opendaylight/mdsal/model/ietf/util/AbstractIetfInetUtil.java b/model/ietf/ietf-type-util/src/main/java/org/opendaylight/mdsal/model/ietf/util/AbstractIetfInetUtil.java index b008d1ac78..e8a112aeac 100644 --- a/model/ietf/ietf-type-util/src/main/java/org/opendaylight/mdsal/model/ietf/util/AbstractIetfInetUtil.java +++ b/model/ietf/ietf-type-util/src/main/java/org/opendaylight/mdsal/model/ietf/util/AbstractIetfInetUtil.java @@ -166,10 +166,7 @@ public abstract class AbstractIetfInetUtil { } @Nonnull public final Entry splitIpv4Prefix(@Nonnull final P4 prefix) { - final String str = ipv4PrefixString(prefix); - final int slash = str.lastIndexOf('/'); - final A4 addr = address4Factory.newInstance(str.substring(0, slash)); - return new SimpleImmutableEntry<>(addr, Integer.valueOf(str.substring(slash + 1))); + return splitPrefix(address4Factory, ipv4PrefixString(prefix)); } /** @@ -272,16 +269,19 @@ public abstract class AbstractIetfInetUtil { } @Nonnull public final Entry splitIpv6Prefix(@Nonnull final P6 prefix) { - final String str = ipv6PrefixString(prefix); - final int slash = str.lastIndexOf('/'); - final A6 addr = address6Factory.newInstance(str.substring(0, slash)); - return new SimpleImmutableEntry<>(addr, Integer.valueOf(str.substring(slash + 1))); + return splitPrefix(address6Factory, ipv6PrefixString(prefix)); } private static T prefixToAddress(final StringValueObjectFactory factory, final String str) { return factory.newInstance(str.substring(0, str.lastIndexOf('/'))); } + private static Entry splitPrefix(final StringValueObjectFactory factory, final String str) { + final int slash = str.lastIndexOf('/'); + return new SimpleImmutableEntry<>(factory.newInstance(str.substring(0, slash)), + Integer.valueOf(str.substring(slash + 1))); + } + private static void appendIpv4String(final StringBuilder sb, final byte[] bytes) { Preconditions.checkArgument(bytes.length == 4, "IPv4 address length is 4 bytes");