From: Robert Varga Date: Mon, 22 Feb 2016 14:00:52 +0000 (+0100) Subject: Unify prefix splitting X-Git-Tag: release/beryllium-sr1~26 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=d4bb8b4b2d5d6c43458a825d2456ce648b5e1089;hp=b15a0c31aefcd04c1ebf7509ecb69ac770cbb044;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 (cherry picked from commit cbd110c50d2b0670272aa2ecb954daaeb9258ae7) --- 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 3590a7a693..4c79def9d3 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 @@ -167,10 +167,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)); } /** @@ -273,16 +270,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");