From a7147d16c31d9028c6b5dc557264433de0f11c91 Mon Sep 17 00:00:00 2001 From: Jan Srnicek Date: Fri, 23 Sep 2016 16:39:09 +0200 Subject: HONEYCOMB-145 - Utility Class Refactoring problematic mockito-all changed to mockito-core( https://github.com/mockito/mockito/issues/324) Translate Utils Splitted to multiple Trait Interfaces Ipv4Translator - Logic for translation of ipv4-based data Ipv6Translator - Logic for translation of ipv6-based data MacTranslator - Logic for translation of mac-based data AddressTranslator - Aggregation trait for Ipv4/Ipv6/Mac JvppReplyConsumer - Logic for extracting replies from jvpp calls ByteDataTranslator - any byte-based conversions Plus some existing utility classes changed to traits Change-Id: I342b625954223966802e65dca0fabf8456c89345 Signed-off-by: Jan Srnicek --- .../lisp/translate/write/AdjacencyCustomizer.java | 14 +++++---- .../lisp/translate/write/InterfaceCustomizer.java | 10 ++++--- .../lisp/translate/write/LispCustomizer.java | 10 ++++--- .../translate/write/LocalMappingCustomizer.java | 16 ++++++----- .../lisp/translate/write/LocatorSetCustomizer.java | 11 ++++---- .../translate/write/MapResolverCustomizer.java | 16 ++++++----- .../lisp/translate/write/PitrCfgCustomizer.java | 11 ++++---- .../translate/write/RemoteMappingCustomizer.java | 33 ++++++++++++---------- .../lisp/translate/write/VniTableCustomizer.java | 12 ++++---- 9 files changed, 75 insertions(+), 58 deletions(-) (limited to 'lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write') diff --git a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/AdjacencyCustomizer.java b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/AdjacencyCustomizer.java index 3eedf295d..dc0ea4062 100755 --- a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/AdjacencyCustomizer.java +++ b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/AdjacencyCustomizer.java @@ -20,12 +20,12 @@ package io.fd.honeycomb.lisp.translate.write; import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkState; import static io.fd.honeycomb.lisp.translate.read.dump.executor.params.MappingsDumpParams.EidType; -import static io.fd.honeycomb.lisp.translate.util.EidConverter.*; -import io.fd.honeycomb.lisp.translate.util.EidConverter; +import io.fd.honeycomb.lisp.translate.util.EidTranslator; import io.fd.honeycomb.translate.spi.write.ListWriterCustomizer; +import io.fd.honeycomb.translate.v3po.util.ByteDataTranslator; import io.fd.honeycomb.translate.v3po.util.FutureJVppCustomizer; -import io.fd.honeycomb.translate.v3po.util.TranslateUtils; +import io.fd.honeycomb.translate.v3po.util.JvppReplyConsumer; import io.fd.honeycomb.translate.write.WriteContext; import io.fd.honeycomb.translate.write.WriteFailedException; import java.util.concurrent.TimeoutException; @@ -39,7 +39,9 @@ import org.openvpp.jvpp.core.dto.LispAddDelAdjacency; import org.openvpp.jvpp.core.future.FutureJVppCore; -public class AdjacencyCustomizer extends FutureJVppCustomizer implements ListWriterCustomizer { +public class AdjacencyCustomizer extends FutureJVppCustomizer + implements ListWriterCustomizer, ByteDataTranslator, EidTranslator, + JvppReplyConsumer { public AdjacencyCustomizer(@Nonnull final FutureJVppCore futureJvpp) { super(futureJvpp); @@ -89,7 +91,7 @@ public class AdjacencyCustomizer extends FutureJVppCustomizer implements ListWri LispAddDelAdjacency request = new LispAddDelAdjacency(); - request.isAdd = TranslateUtils.booleanToByte(add); + request.isAdd = booleanToByte(add); request.seid = getEidAsByteArray(data.getLocalEid()); request.seidLen = getPrefixLength(data.getLocalEid()); request.deid = getEidAsByteArray(data.getRemoteEid()); @@ -97,6 +99,6 @@ public class AdjacencyCustomizer extends FutureJVppCustomizer implements ListWri request.eidType = (byte) localEidType.getValue(); request.vni = vni; - TranslateUtils.getReply(getFutureJVpp().lispAddDelAdjacency(request).toCompletableFuture()); + getReply(getFutureJVpp().lispAddDelAdjacency(request).toCompletableFuture()); } } diff --git a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/InterfaceCustomizer.java b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/InterfaceCustomizer.java index c26bbf377..841298f4e 100755 --- a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/InterfaceCustomizer.java +++ b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/InterfaceCustomizer.java @@ -21,9 +21,10 @@ import static com.google.common.base.Preconditions.checkState; import static java.nio.charset.StandardCharsets.UTF_8; import io.fd.honeycomb.translate.spi.write.ListWriterCustomizer; +import io.fd.honeycomb.translate.v3po.util.ByteDataTranslator; import io.fd.honeycomb.translate.v3po.util.FutureJVppCustomizer; +import io.fd.honeycomb.translate.v3po.util.JvppReplyConsumer; import io.fd.honeycomb.translate.v3po.util.NamingContext; -import io.fd.honeycomb.translate.v3po.util.TranslateUtils; import io.fd.honeycomb.translate.write.WriteContext; import io.fd.honeycomb.translate.write.WriteFailedException; import java.io.UnsupportedEncodingException; @@ -43,7 +44,8 @@ import org.openvpp.jvpp.core.future.FutureJVppCore; * * @see Interface */ -public class InterfaceCustomizer extends FutureJVppCustomizer implements ListWriterCustomizer { +public class InterfaceCustomizer extends FutureJVppCustomizer + implements ListWriterCustomizer, ByteDataTranslator, JvppReplyConsumer { private final NamingContext interfaceContext; @@ -109,12 +111,12 @@ public class InterfaceCustomizer extends FutureJVppCustomizer implements ListWri throws VppBaseCallException, TimeoutException, UnsupportedEncodingException { LispAddDelLocator request = new LispAddDelLocator(); - request.isAdd = TranslateUtils.booleanToByte(add); + request.isAdd = booleanToByte(add); request.priority = data.getPriority().byteValue(); request.weight = data.getWeight().byteValue(); request.swIfIndex = interfaceIndex; request.locatorSetName = locatorSetName.getBytes(UTF_8); - TranslateUtils.getReply(getFutureJVpp().lispAddDelLocator(request).toCompletableFuture()); + getReply(getFutureJVpp().lispAddDelLocator(request).toCompletableFuture()); } } diff --git a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/LispCustomizer.java b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/LispCustomizer.java index 05c162d0c..040938c20 100755 --- a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/LispCustomizer.java +++ b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/LispCustomizer.java @@ -18,8 +18,9 @@ package io.fd.honeycomb.lisp.translate.write; import com.google.common.base.Preconditions; import io.fd.honeycomb.translate.spi.write.WriterCustomizer; +import io.fd.honeycomb.translate.v3po.util.ByteDataTranslator; import io.fd.honeycomb.translate.v3po.util.FutureJVppCustomizer; -import io.fd.honeycomb.translate.v3po.util.TranslateUtils; +import io.fd.honeycomb.translate.v3po.util.JvppReplyConsumer; import io.fd.honeycomb.translate.write.WriteContext; import io.fd.honeycomb.translate.write.WriteFailedException; import java.util.concurrent.CompletionStage; @@ -36,7 +37,8 @@ import org.openvpp.jvpp.core.future.FutureJVppCore; /** * Handles updates of {@link Lisp} node. Takes care of LISP enable/disable */ -public class LispCustomizer extends FutureJVppCustomizer implements WriterCustomizer { +public class LispCustomizer extends FutureJVppCustomizer + implements WriterCustomizer, ByteDataTranslator, JvppReplyConsumer { public LispCustomizer(final FutureJVppCore vppApi) { super(vppApi); @@ -84,12 +86,12 @@ public class LispCustomizer extends FutureJVppCustomizer implements WriterCustom private void enableDisableLisp(final boolean enable) throws VppBaseCallException, TimeoutException { final CompletionStage lispEnableDisableReplyCompletionStage = getFutureJVpp().lispEnableDisable(getRequest(enable)); - TranslateUtils.getReply(lispEnableDisableReplyCompletionStage.toCompletableFuture()); + getReply(lispEnableDisableReplyCompletionStage.toCompletableFuture()); } private LispEnableDisable getRequest(final boolean enable) { final LispEnableDisable lispEnableDisable = new LispEnableDisable(); - lispEnableDisable.isEn = TranslateUtils.booleanToByte(enable); + lispEnableDisable.isEn = booleanToByte(enable); return lispEnableDisable; } } diff --git a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/LocalMappingCustomizer.java b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/LocalMappingCustomizer.java index eec4b8269..cdd1906ed 100755 --- a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/LocalMappingCustomizer.java +++ b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/LocalMappingCustomizer.java @@ -23,10 +23,11 @@ import static io.fd.honeycomb.lisp.translate.read.dump.executor.params.MappingsD import static java.nio.charset.StandardCharsets.UTF_8; import io.fd.honeycomb.lisp.context.util.EidMappingContext; -import io.fd.honeycomb.lisp.translate.util.EidConverter; +import io.fd.honeycomb.lisp.translate.util.EidTranslator; import io.fd.honeycomb.translate.spi.write.ListWriterCustomizer; +import io.fd.honeycomb.translate.v3po.util.ByteDataTranslator; import io.fd.honeycomb.translate.v3po.util.FutureJVppCustomizer; -import io.fd.honeycomb.translate.v3po.util.TranslateUtils; +import io.fd.honeycomb.translate.v3po.util.JvppReplyConsumer; import io.fd.honeycomb.translate.write.WriteContext; import io.fd.honeycomb.translate.write.WriteFailedException; import java.io.UnsupportedEncodingException; @@ -46,7 +47,8 @@ import org.openvpp.jvpp.core.future.FutureJVppCore; * Customizer that writes changes for {@link LocalMapping} */ public class LocalMappingCustomizer extends FutureJVppCustomizer - implements ListWriterCustomizer { + implements ListWriterCustomizer, ByteDataTranslator, EidTranslator, + JvppReplyConsumer { private final EidMappingContext localMappingsContext; @@ -118,9 +120,9 @@ public class LocalMappingCustomizer extends FutureJVppCustomizer LispAddDelLocalEid request = new LispAddDelLocalEid(); - request.isAdd = TranslateUtils.booleanToByte(add); - request.eid = EidConverter.getEidAsByteArray(data.getEid()); - request.eidType = (byte) EidConverter.getEidType(data.getEid()).getValue(); + request.isAdd = booleanToByte(add); + request.eid = getEidAsByteArray(data.getEid()); + request.eidType = (byte) getEidType(data.getEid()).getValue(); request.locatorSetName = data.getLocatorSet().getBytes(UTF_8); request.vni = vni; @@ -131,7 +133,7 @@ public class LocalMappingCustomizer extends FutureJVppCustomizer request.prefixLen = (byte) 128; } - TranslateUtils.getReply(getFutureJVpp().lispAddDelLocalEid(request).toCompletableFuture()); + getReply(getFutureJVpp().lispAddDelLocalEid(request).toCompletableFuture()); } } diff --git a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/LocatorSetCustomizer.java b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/LocatorSetCustomizer.java index a53388125..8e2acbf9a 100755 --- a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/LocatorSetCustomizer.java +++ b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/LocatorSetCustomizer.java @@ -18,7 +18,6 @@ package io.fd.honeycomb.lisp.translate.write; import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkState; -import static io.fd.honeycomb.translate.v3po.util.TranslateUtils.getReply; import static java.nio.charset.StandardCharsets.UTF_8; import com.google.common.base.Optional; @@ -30,9 +29,10 @@ import io.fd.honeycomb.translate.util.RWUtils; import io.fd.honeycomb.translate.util.read.cache.DumpCacheManager; import io.fd.honeycomb.translate.util.read.cache.EntityDumpExecutor; import io.fd.honeycomb.translate.util.read.cache.exceptions.execution.DumpExecutionFailedException; +import io.fd.honeycomb.translate.v3po.util.ByteDataTranslator; import io.fd.honeycomb.translate.v3po.util.FutureJVppCustomizer; +import io.fd.honeycomb.translate.v3po.util.JvppReplyConsumer; import io.fd.honeycomb.translate.v3po.util.NamingContext; -import io.fd.honeycomb.translate.v3po.util.TranslateUtils; import io.fd.honeycomb.translate.write.WriteContext; import io.fd.honeycomb.translate.write.WriteFailedException; import java.io.UnsupportedEncodingException; @@ -55,7 +55,8 @@ import org.openvpp.jvpp.core.future.FutureJVppCore; * @see LocatorSet */ public class LocatorSetCustomizer extends FutureJVppCustomizer - implements ListWriterCustomizer { + implements ListWriterCustomizer, ByteDataTranslator, + JvppReplyConsumer { private final NamingContext locatorSetContext; private final DumpCacheManager dumpManager; @@ -140,7 +141,7 @@ public class LocatorSetCustomizer extends FutureJVppCustomizer LispAddDelLocatorSet addDelSet = new LispAddDelLocatorSet(); - addDelSet.isAdd = TranslateUtils.booleanToByte(add); + addDelSet.isAdd = booleanToByte(add); addDelSet.locatorSetName = name.getBytes(UTF_8); @@ -158,7 +159,7 @@ public class LocatorSetCustomizer extends FutureJVppCustomizer if (reply.isPresent()) { return reply.get().lispLocatorSetDetails.stream() - .filter(a -> name.equals(TranslateUtils.toString(a.lsName))) + .filter(a -> name.equals(toString(a.lsName))) .collect(RWUtils.singleItemCollector()) .lsIndex; } else { diff --git a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/MapResolverCustomizer.java b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/MapResolverCustomizer.java index 02c9f4255..73b89c240 100755 --- a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/MapResolverCustomizer.java +++ b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/MapResolverCustomizer.java @@ -19,8 +19,9 @@ package io.fd.honeycomb.lisp.translate.write; import static com.google.common.base.Preconditions.checkNotNull; import io.fd.honeycomb.translate.spi.write.ListWriterCustomizer; +import io.fd.honeycomb.translate.v3po.util.AddressTranslator; import io.fd.honeycomb.translate.v3po.util.FutureJVppCustomizer; -import io.fd.honeycomb.translate.v3po.util.TranslateUtils; +import io.fd.honeycomb.translate.v3po.util.JvppReplyConsumer; import io.fd.honeycomb.translate.write.WriteContext; import io.fd.honeycomb.translate.write.WriteFailedException; import java.util.concurrent.TimeoutException; @@ -37,7 +38,8 @@ import org.openvpp.jvpp.core.future.FutureJVppCore; * Handles updates of {@link MapResolver} list */ public class MapResolverCustomizer extends FutureJVppCustomizer - implements ListWriterCustomizer { + implements ListWriterCustomizer, AddressTranslator, + JvppReplyConsumer { public MapResolverCustomizer(final FutureJVppCore vppApi) { super(vppApi); @@ -84,14 +86,14 @@ public class MapResolverCustomizer extends FutureJVppCustomizer TimeoutException { LispAddDelMapResolver request = new LispAddDelMapResolver(); - request.isAdd = TranslateUtils.booleanToByte(add); + request.isAdd = booleanToByte(add); - boolean ipv6 = TranslateUtils.isIpv6(data.getIpAddress()); + boolean ipv6 = isIpv6(data.getIpAddress()); - request.isIpv6 = TranslateUtils.booleanToByte(ipv6); - request.ipAddress = TranslateUtils.ipAddressToArray(ipv6, data.getIpAddress()); + request.isIpv6 = booleanToByte(ipv6); + request.ipAddress = ipAddressToArray(ipv6, data.getIpAddress()); - TranslateUtils.getReply(getFutureJVpp().lispAddDelMapResolver(request).toCompletableFuture()); + getReply(getFutureJVpp().lispAddDelMapResolver(request).toCompletableFuture()); } } diff --git a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/PitrCfgCustomizer.java b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/PitrCfgCustomizer.java index ab3be2add..d146de3cd 100755 --- a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/PitrCfgCustomizer.java +++ b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/PitrCfgCustomizer.java @@ -20,11 +20,11 @@ import static com.google.common.base.Preconditions.checkNotNull; import static java.nio.charset.StandardCharsets.UTF_8; import io.fd.honeycomb.translate.spi.write.WriterCustomizer; +import io.fd.honeycomb.translate.v3po.util.ByteDataTranslator; import io.fd.honeycomb.translate.v3po.util.FutureJVppCustomizer; -import io.fd.honeycomb.translate.v3po.util.TranslateUtils; +import io.fd.honeycomb.translate.v3po.util.JvppReplyConsumer; import io.fd.honeycomb.translate.write.WriteContext; import io.fd.honeycomb.translate.write.WriteFailedException; -import java.nio.charset.StandardCharsets; import java.util.concurrent.TimeoutException; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.pitr.cfg.grouping.PitrCfg; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; @@ -36,7 +36,8 @@ import org.openvpp.jvpp.core.future.FutureJVppCore; /** * Customizer for {@code PitrCfg} */ -public class PitrCfgCustomizer extends FutureJVppCustomizer implements WriterCustomizer { +public class PitrCfgCustomizer extends FutureJVppCustomizer + implements WriterCustomizer, JvppReplyConsumer, ByteDataTranslator { public PitrCfgCustomizer(FutureJVppCore futureJvpp) { super(futureJvpp); @@ -85,10 +86,10 @@ public class PitrCfgCustomizer extends FutureJVppCustomizer implements WriterCus throws VppBaseCallException, TimeoutException { LispPitrSetLocatorSet request = new LispPitrSetLocatorSet(); - request.isAdd = TranslateUtils.booleanToByte(add); + request.isAdd = booleanToByte(add); request.lsName = data.getLocatorSet().getBytes(UTF_8); - TranslateUtils.getReply(getFutureJVpp().lispPitrSetLocatorSet(request).toCompletableFuture()); + getReply(getFutureJVpp().lispPitrSetLocatorSet(request).toCompletableFuture()); } } diff --git a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/RemoteMappingCustomizer.java b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/RemoteMappingCustomizer.java index e8e37969e..dae8cd89f 100755 --- a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/RemoteMappingCustomizer.java +++ b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/RemoteMappingCustomizer.java @@ -25,10 +25,11 @@ import static io.fd.honeycomb.lisp.translate.write.RemoteMappingCustomizer.Locat import com.google.common.base.Preconditions; import io.fd.honeycomb.lisp.context.util.EidMappingContext; -import io.fd.honeycomb.lisp.translate.util.EidConverter; +import io.fd.honeycomb.lisp.translate.util.EidTranslator; import io.fd.honeycomb.translate.spi.write.ListWriterCustomizer; +import io.fd.honeycomb.translate.v3po.util.AddressTranslator; import io.fd.honeycomb.translate.v3po.util.FutureJVppCustomizer; -import io.fd.honeycomb.translate.v3po.util.TranslateUtils; +import io.fd.honeycomb.translate.v3po.util.JvppReplyConsumer; import io.fd.honeycomb.translate.write.WriteContext; import io.fd.honeycomb.translate.write.WriteFailedException; import java.io.ByteArrayOutputStream; @@ -60,7 +61,8 @@ import org.openvpp.jvpp.core.future.FutureJVppCore; * Customizer for {@link RemoteMapping} */ public class RemoteMappingCustomizer extends FutureJVppCustomizer - implements ListWriterCustomizer { + implements ListWriterCustomizer, EidTranslator, + AddressTranslator, JvppReplyConsumer { private final EidMappingContext remoteMappingContext; @@ -127,13 +129,13 @@ public class RemoteMappingCustomizer extends FutureJVppCustomizer LispAddDelRemoteMapping request = new LispAddDelRemoteMapping(); - request.isAdd = TranslateUtils.booleanToByte(add); + request.isAdd = booleanToByte(add); request.vni = vni; - request.eidType = (byte) EidConverter.getEidType(data.getEid()).getValue(); - request.eid = EidConverter.getEidAsByteArray(data.getEid()); + request.eidType = (byte) getEidType(data.getEid()).getValue(); + request.eid = getEidAsByteArray(data.getEid()); //this is not length of eid array,but prefix length(bad naming by vpp) - request.eidLen = EidConverter.getPrefixLength(data.getEid()); + request.eidLen = getPrefixLength(data.getEid()); if (LocatorListType.NEGATIVE .equals(resolveType(data.getLocatorList()))) { @@ -147,7 +149,7 @@ public class RemoteMappingCustomizer extends FutureJVppCustomizer request.rlocNum = Integer.valueOf(rlocs.getLocator().size()).byteValue(); } - TranslateUtils.getReply(getFutureJVpp().lispAddDelRemoteMapping(request).toCompletableFuture()); + getReply(getFutureJVpp().lispAddDelRemoteMapping(request).toCompletableFuture()); } private static LocatorListType resolveType(LocatorList locatorList) { @@ -176,7 +178,8 @@ public class RemoteMappingCustomizer extends FutureJVppCustomizer return ((PositiveMapping) locatorList).getRlocs(); } - private static byte[] locatorsToBinaryData(List locators) throws IOException { + //cant be static because of use of default methods from traits + private byte[] locatorsToBinaryData(List locators) throws IOException { checkNotNull(locators, "Cannot convert null list"); ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream(); @@ -189,8 +192,8 @@ public class RemoteMappingCustomizer extends FutureJVppCustomizer byte[] address; //first byte says that its v4/v6 - isIpv4 = !TranslateUtils.isIpv6(locator.getAddress()); - out.writeByte(TranslateUtils.booleanToByte(isIpv4)); + isIpv4 = !isIpv6(locator.getAddress()); + out.writeByte(booleanToByte(isIpv4)); //then writes priority out.write(locator.getPriority()); @@ -201,14 +204,14 @@ public class RemoteMappingCustomizer extends FutureJVppCustomizer if (isIpv4) { //vpp in this case needs address as 16 byte array,regardless if it is ivp4 or ipv6 address = Arrays.copyOf( - TranslateUtils - .ipv4AddressNoZoneToArray(new Ipv4AddressNoZone(locator.getAddress().getIpv4Address())), + + ipv4AddressNoZoneToArray(new Ipv4AddressNoZone(locator.getAddress().getIpv4Address())), 16); out.write(address); } else { - out.write(TranslateUtils - .ipv6AddressNoZoneToArray(new Ipv6AddressNoZone(locator.getAddress().getIpv6Address()))); + out.write( + ipv6AddressNoZoneToArray(new Ipv6AddressNoZone(locator.getAddress().getIpv6Address()))); } } diff --git a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/VniTableCustomizer.java b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/VniTableCustomizer.java index ad1d41de9..de7cf2c1d 100755 --- a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/VniTableCustomizer.java +++ b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/write/VniTableCustomizer.java @@ -19,8 +19,9 @@ package io.fd.honeycomb.lisp.translate.write; import static com.google.common.base.Preconditions.checkNotNull; import io.fd.honeycomb.translate.spi.write.ListWriterCustomizer; +import io.fd.honeycomb.translate.v3po.util.ByteDataTranslator; import io.fd.honeycomb.translate.v3po.util.FutureJVppCustomizer; -import io.fd.honeycomb.translate.v3po.util.TranslateUtils; +import io.fd.honeycomb.translate.v3po.util.JvppReplyConsumer; import io.fd.honeycomb.translate.write.WriteContext; import io.fd.honeycomb.translate.write.WriteFailedException; import java.util.concurrent.TimeoutException; @@ -28,8 +29,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.VniTableKey; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.openvpp.jvpp.VppBaseCallException; -import org.openvpp.jvpp.core.future.FutureJVppCore; import org.openvpp.jvpp.core.dto.LispEidTableAddDelMap; +import org.openvpp.jvpp.core.future.FutureJVppCore; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -37,7 +38,8 @@ import org.slf4j.LoggerFactory; /** * Customizer for {@code TableId} */ -public class VniTableCustomizer extends FutureJVppCustomizer implements ListWriterCustomizer { +public class VniTableCustomizer extends FutureJVppCustomizer + implements ListWriterCustomizer, ByteDataTranslator, JvppReplyConsumer { private static final Logger LOG = LoggerFactory.getLogger(VniTableCustomizer.class); @@ -90,11 +92,11 @@ public class VniTableCustomizer extends FutureJVppCustomizer implements ListWrit LispEidTableAddDelMap request = new LispEidTableAddDelMap(); - request.isAdd = TranslateUtils.booleanToByte(isAdd); + request.isAdd = booleanToByte(isAdd); request.vni = vni; request.dpTable = vrf; request.isL2 = 0; - TranslateUtils.getReply(getFutureJVpp().lispEidTableAddDelMap(request).toCompletableFuture()); + getReply(getFutureJVpp().lispEidTableAddDelMap(request).toCompletableFuture()); } } -- cgit 1.2.3-korg