diff options
Diffstat (limited to 'lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/MapResolverCustomizer.java')
-rwxr-xr-x | lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/MapResolverCustomizer.java | 32 |
1 files changed, 10 insertions, 22 deletions
diff --git a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/MapResolverCustomizer.java b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/MapResolverCustomizer.java index 1458a2d56..faff2e2e1 100755 --- a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/MapResolverCustomizer.java +++ b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/MapResolverCustomizer.java @@ -19,11 +19,11 @@ package io.fd.honeycomb.lisp.translate.read; import static io.fd.honeycomb.translate.util.read.cache.EntityDumpExecutor.NO_PARAMS; import com.google.common.base.Optional; -import io.fd.honeycomb.lisp.translate.read.dump.check.MapResolverDumpCheck; import io.fd.honeycomb.lisp.translate.read.dump.executor.MapResolversDumpExecutor; import io.fd.honeycomb.translate.read.ReadContext; import io.fd.honeycomb.translate.read.ReadFailedException; import io.fd.honeycomb.translate.spi.read.ListReaderCustomizer; +import io.fd.honeycomb.translate.util.RWUtils; import io.fd.honeycomb.translate.util.read.cache.DumpCacheManager; import io.fd.honeycomb.translate.util.read.cache.exceptions.execution.DumpExecutionFailedException; import io.fd.honeycomb.translate.vpp.util.AddressTranslator; @@ -57,7 +57,6 @@ public class MapResolverCustomizer extends FutureJVppCustomizer super(futureJvpp); this.dumpManager = new DumpCacheManager.DumpCacheManagerBuilder<LispMapResolverDetailsReplyDump, Void>() .withExecutor(new MapResolversDumpExecutor((futureJvpp))) - .withNonEmptyPredicate(new MapResolverDumpCheck()) .build(); } @@ -78,7 +77,7 @@ public class MapResolverCustomizer extends FutureJVppCustomizer throw new ReadFailedException(id, e); } - if (!dumpOptional.isPresent()) { + if (!dumpOptional.isPresent() || dumpOptional.get().lispMapResolverDetails.isEmpty()) { LOG.warn("No data dumped"); return; } @@ -86,25 +85,15 @@ public class MapResolverCustomizer extends FutureJVppCustomizer final MapResolverKey key = id.firstKeyOf(MapResolver.class); //revert searched key to match vpp's reversed order ip's final IpAddress address = reverseAddress(key.getIpAddress()); - final LispMapResolverDetailsReplyDump dump = dumpOptional.get(); - - //cannot use RWUtils.singleItemCollector(),there is some problem with generic params binding - java.util.Optional<LispMapResolverDetails> mapResolverOptional = - dump.lispMapResolverDetails.stream() + final LispMapResolverDetails mapResolverDetails = + dumpOptional.get().lispMapResolverDetails.stream() .filter(a -> address .equals(arrayToIpAddress(byteToBoolean(a.isIpv6), a.ipAddress))) - .findFirst(); - - if (mapResolverOptional.isPresent()) { - LispMapResolverDetails details = mapResolverOptional.get(); - - builder.setKey(key); - builder.setIpAddress( - arrayToIpAddress(byteToBoolean(details.isIpv6), details.ipAddress)); - } else { - LOG.warn("No data found with matching key"); - } + .collect(RWUtils.singleItemCollector()); + builder.setKey(key); + builder.setIpAddress( + arrayToIpAddress(byteToBoolean(mapResolverDetails.isIpv6), mapResolverDetails.ipAddress)); } @Override @@ -112,15 +101,14 @@ public class MapResolverCustomizer extends FutureJVppCustomizer throws ReadFailedException { LOG.debug("Dumping MapResolver..."); - Optional<LispMapResolverDetailsReplyDump> dumpOptional = null; + Optional<LispMapResolverDetailsReplyDump> dumpOptional; try { dumpOptional = dumpManager.getDump(MAP_RESOLVERS_CACHE_ID, context.getModificationCache(), NO_PARAMS); } catch (DumpExecutionFailedException e) { throw new ReadFailedException(id, e); } - if (!dumpOptional.isPresent()) { - LOG.warn("No data dumped"); + if (!dumpOptional.isPresent() || dumpOptional.get().lispMapResolverDetails.isEmpty()) { return Collections.emptyList(); } |