diff options
author | Marek Gradzki <mgradzki@cisco.com> | 2016-09-27 14:24:06 +0200 |
---|---|---|
committer | Marek Gradzki <mgradzki@cisco.com> | 2016-09-27 14:24:06 +0200 |
commit | 2becd5cf520d677f06fdca533ef745f70a277ff3 (patch) | |
tree | 00e189b5335d10eb90f024b12e4c61e2b0b3e7b0 /vpp-common/vpp-translate-utils/src/main/java/io/fd/honeycomb/translate/v3po/util/JvppReplyConsumer.java | |
parent | 294c3c042b442c9e5a533c9deb53c49f6671a7d7 (diff) |
HONEYCOMB-206: change package name to match groupId
Change-Id: I74f769c09e86f08b1753e685a134d20e801bd7da
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Diffstat (limited to 'vpp-common/vpp-translate-utils/src/main/java/io/fd/honeycomb/translate/v3po/util/JvppReplyConsumer.java')
-rw-r--r-- | vpp-common/vpp-translate-utils/src/main/java/io/fd/honeycomb/translate/v3po/util/JvppReplyConsumer.java | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/vpp-common/vpp-translate-utils/src/main/java/io/fd/honeycomb/translate/v3po/util/JvppReplyConsumer.java b/vpp-common/vpp-translate-utils/src/main/java/io/fd/honeycomb/translate/v3po/util/JvppReplyConsumer.java deleted file mode 100644 index bf62ecd61..000000000 --- a/vpp-common/vpp-translate-utils/src/main/java/io/fd/honeycomb/translate/v3po/util/JvppReplyConsumer.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright (c) 2016 Cisco and/or its affiliates. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package io.fd.honeycomb.translate.v3po.util; - -import static com.google.common.base.Preconditions.checkArgument; - -import java.util.concurrent.ExecutionException; -import java.util.concurrent.Future; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; -import javax.annotation.Nonnegative; -import javax.annotation.Nonnull; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -import org.openvpp.jvpp.VppBaseCallException; -import org.openvpp.jvpp.dto.JVppReply; - -/** - * Trait providing logic for consuming reply's to jvpp api calls - */ -public interface JvppReplyConsumer { - - int DEFAULT_TIMEOUT_IN_SECONDS = 5; - - default <REP extends JVppReply<?>> REP getReplyForWrite(@Nonnull Future<REP> future, - @Nonnull final InstanceIdentifier<?> replyType) - throws VppBaseCallException, WriteTimeoutException { - return getReplyForWrite(future, replyType, DEFAULT_TIMEOUT_IN_SECONDS); - } - - default <REP extends JVppReply<?>> REP getReplyForWrite(@Nonnull Future<REP> future, - @Nonnull final InstanceIdentifier<?> replyType, - @Nonnegative final int timeoutInSeconds) - throws VppBaseCallException, WriteTimeoutException { - try { - return getReply(future, timeoutInSeconds); - } catch (TimeoutException e) { - throw new WriteTimeoutException(replyType, e); - } - } - - default <REP extends JVppReply<?>> REP getReplyForRead(@Nonnull Future<REP> future, - @Nonnull final InstanceIdentifier<?> replyType) - throws VppBaseCallException, ReadTimeoutException { - return getReplyForRead(future, replyType, DEFAULT_TIMEOUT_IN_SECONDS); - } - - default <REP extends JVppReply<?>> REP getReplyForRead(@Nonnull Future<REP> future, - @Nonnull final InstanceIdentifier<?> replyType, - @Nonnegative final int timeoutInSeconds) - throws VppBaseCallException, ReadTimeoutException { - try { - return getReply(future, timeoutInSeconds); - } catch (TimeoutException e) { - throw new ReadTimeoutException(replyType, e); - } - } - - default <REP extends JVppReply<?>> REP getReply(@Nonnull Future<REP> future) - throws TimeoutException, VppBaseCallException { - return getReply(future, DEFAULT_TIMEOUT_IN_SECONDS); - } - - default <REP extends JVppReply<?>> REP getReply(@Nonnull Future<REP> future, - @Nonnegative final int timeoutInSeconds) - throws TimeoutException, VppBaseCallException { - try { - checkArgument(timeoutInSeconds > 0, "Timeout cannot be < 0"); - return future.get(timeoutInSeconds, TimeUnit.SECONDS); - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - throw new IllegalStateException("Interrupted", e); - } catch (ExecutionException e) { - // Execution exception could generally contains any exception - // when using exceptions instead of return codes just rethrow it for processing on corresponding place - if (e instanceof ExecutionException && (e.getCause() instanceof VppBaseCallException)) { - throw (VppBaseCallException) (e.getCause()); - } - throw new IllegalStateException(e); - } - } -} |