From fb6666efe7b6009528e98702efc66e9118011174 Mon Sep 17 00:00:00 2001 From: Jan Srnicek Date: Thu, 6 Oct 2016 08:54:02 +0200 Subject: HONEYCOMB-236 - Unified read/write exceptions Change-Id: Idde761d0c0c2c4d96555ef94dbdaa87fad889493 Signed-off-by: Jan Srnicek --- .../read/dump/executor/SubtableDumpExecutor.java | 35 +++++++--------------- 1 file changed, 10 insertions(+), 25 deletions(-) (limited to 'lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/dump/executor/SubtableDumpExecutor.java') diff --git a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/dump/executor/SubtableDumpExecutor.java b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/dump/executor/SubtableDumpExecutor.java index 722cbb182..e83b30327 100644 --- a/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/dump/executor/SubtableDumpExecutor.java +++ b/lisp/lisp2vpp/src/main/java/io/fd/honeycomb/lisp/translate/read/dump/executor/SubtableDumpExecutor.java @@ -19,19 +19,16 @@ package io.fd.honeycomb.lisp.translate.read.dump.executor; import static com.google.common.base.Preconditions.checkNotNull; import io.fd.honeycomb.lisp.translate.read.dump.executor.params.SubtableDumpParams; +import io.fd.honeycomb.translate.read.ReadFailedException; 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.util.read.cache.exceptions.execution.i.DumpCallFailedException; -import io.fd.honeycomb.translate.util.read.cache.exceptions.execution.i.DumpTimeoutException; import io.fd.honeycomb.translate.vpp.util.JvppReplyConsumer; -import java.util.concurrent.TimeoutException; -import javax.annotation.Nonnull; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.vni.table.BridgeDomainSubtable; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.vni.table.VrfSubtable; -import io.fd.vpp.jvpp.VppBaseCallException; import io.fd.vpp.jvpp.core.dto.LispEidTableMapDetailsReplyDump; import io.fd.vpp.jvpp.core.dto.LispEidTableMapDump; import io.fd.vpp.jvpp.core.future.FutureJVppCore; +import javax.annotation.Nonnull; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.vni.table.BridgeDomainSubtable; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.vni.table.VrfSubtable; +import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; /** * Dump executor for {@link VrfSubtable}/{@link BridgeDomainSubtable} @@ -39,30 +36,18 @@ import io.fd.vpp.jvpp.core.future.FutureJVppCore; public final class SubtableDumpExecutor extends AbstractJvppDumpExecutor implements EntityDumpExecutor, JvppReplyConsumer { - private SubtableDumpParams params; - private LispEidTableMapDump request; - public SubtableDumpExecutor(@Nonnull final FutureJVppCore vppApi) { super(vppApi); } @Override - public LispEidTableMapDetailsReplyDump executeDump(final SubtableDumpParams params) - throws DumpExecutionFailedException { - this.params = checkNotNull(params, "Cannot bind null params"); - + public LispEidTableMapDetailsReplyDump executeDump(final InstanceIdentifier identifier, + final SubtableDumpParams params) + throws ReadFailedException { LispEidTableMapDump request = new LispEidTableMapDump(); - request.isL2 = params.isL2(); + request.isL2 = checkNotNull(params, "Cannot bind null params").isL2(); - try { - return getReply(vppApi.lispEidTableMapDump(request).toCompletableFuture()); - } catch (TimeoutException e) { - throw DumpTimeoutException - .wrapTimeoutException("Dumping subtable with params " + params + " timed out", e); - } catch (VppBaseCallException e) { - throw DumpCallFailedException - .wrapFailedCallException("Dumping subtable with params " + params + " timed out", e); - } + return getReplyForRead(vppApi.lispEidTableMapDump(request).toCompletableFuture(), identifier); } } -- cgit 1.2.3-korg