diff options
author | Marek Gradzki <mgradzki@cisco.com> | 2017-11-20 15:27:44 +0100 |
---|---|---|
committer | Marek Gradzki <mgradzki@cisco.com> | 2017-11-20 17:12:59 +0100 |
commit | 868f11f4f4da49198b8102509fb0234578be25e8 (patch) | |
tree | bd77955fc9ad0e8268ce81390f28a5b4ed805c03 /vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv6Translator.java | |
parent | c3524b9d3b8579f1aa79bf8c123299a94f4dcc18 (diff) |
Refactor IP translators to use IetfInetUtil
Use efficient factory methods for ietf-inet-types DTOs
where possible.
Also cleans up some duplicated and unused code.
Change-Id: I58f4163edba0dcd30e5e044cf701788446d86a0f
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Diffstat (limited to 'vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv6Translator.java')
-rw-r--r-- | vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv6Translator.java | 27 |
1 files changed, 4 insertions, 23 deletions
diff --git a/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv6Translator.java b/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv6Translator.java index 6a71d6af2..6d939af07 100644 --- a/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv6Translator.java +++ b/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv6Translator.java @@ -21,10 +21,8 @@ import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkState; import com.google.common.net.InetAddresses; -import java.net.InetAddress; -import java.net.UnknownHostException; -import java.util.Arrays; import javax.annotation.Nonnull; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IetfInetUtil; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address; @@ -68,9 +66,8 @@ public interface Ipv6Translator extends ByteDataTranslator { /** * Converts byte array to {@link Ipv6Prefix} with specified prefixLength */ - default Ipv6Prefix arrayToIpv6Prefix(final byte[] address, int prefixLength) { - Ipv6AddressNoZone addressPart = arrayToIpv6AddressNoZone(address); - return new Ipv6Prefix(addressPart.getValue().concat("/").concat(String.valueOf(prefixLength))); + default Ipv6Prefix toIpv6Prefix(final byte[] address, int prefix) { + return IetfInetUtil.INSTANCE.ipv6PrefixFor(address, prefix); } /** @@ -82,12 +79,7 @@ public interface Ipv6Translator extends ByteDataTranslator { @Nonnull default Ipv6AddressNoZone arrayToIpv6AddressNoZone(@Nonnull byte[] ip) { checkArgument(ip.length == 16, "Illegal array length"); - - try { - return new Ipv6AddressNoZone(InetAddresses.toAddrString(InetAddress.getByAddress(ip))); - } catch (UnknownHostException e) { - throw new IllegalArgumentException("Unable to parse ipv6", e); - } + return new Ipv6AddressNoZone(IetfInetUtil.INSTANCE.ipv6AddressFor(ip)); } /** @@ -117,15 +109,4 @@ public interface Ipv6Translator extends ByteDataTranslator { System.arraycopy(ip, 0, result, 0, 4); return result; } - - default Ipv6Prefix toIpv6Prefix(final byte[] address, final int prefix) { - try { - return new Ipv6Prefix( - String.format("%s/%s", InetAddress.getByAddress(address).getHostAddress(), - String.valueOf(prefix))); - } catch (UnknownHostException e) { - throw new IllegalArgumentException( - "Cannot create prefix for address[" + Arrays.toString(address) + "],prefix[" + prefix + "]", e); - } - } } |