From 6c02ae5ce070dfeeeaae878dc5436c601d305886 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 7 Jan 2020 12:25:33 +0100 Subject: [PATCH] Add utility methods to strip zone from Ipv{4,6}Address Most callers really want to operate of Ipv4AddressNoZone, as a zone does not make sense. Some amount of translation may be needed when dealing with models which we have no control over, hence ensuring no zone is present needs to be done quickly. This adds ipv4AddressNoZoneFor(Ipv4Address), which does an efficient check (for the case where the source is already a NoZone) and strips the zone. Change-Id: Ieada4625637d0216983b515324bb5d33f5d33a99 JIRA: MDSAL-510 Signed-off-by: Robert Varga --- .../model/ietf/util/AbstractIetfInetUtil.java | 30 +++++++++++++++++++ .../types/rev130715/IetfInetUtilTest.java | 27 ++++++++++++++++- 2 files changed, 56 insertions(+), 1 deletion(-) 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 3cf35e19bd..24e35c3d8a 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 @@ -37,10 +37,14 @@ public abstract class AbstractIetfInetUtil address6Factory; private final StringValueObjectFactory address6NoZoneFactory; private final StringValueObjectFactory prefix6Factory; + private final Class addr4nzClass; + private final Class addr6nzClass; protected AbstractIetfInetUtil(final Class addr4Class, final Class addr4nzClass, final Class prefix4Class, final Class addr6Class, final Class addr6nzClass, final Class prefix6Class) { + this.addr4nzClass = requireNonNull(addr4nzClass); + this.addr6nzClass = requireNonNull(addr6nzClass); this.address4Factory = StringValueObjectFactory.create(addr4Class, "0.0.0.0"); this.address4NoZoneFactory = StringValueObjectFactory.create(addr4nzClass, "0.0.0.0"); this.prefix4Factory = StringValueObjectFactory.create(prefix4Class, "0.0.0.0/0"); @@ -292,6 +296,19 @@ public abstract class AbstractIetfInetUtil