- private DOMRpcException mapException(final ExecutionException e) {
- final Throwable cause = e.getCause();
- if (cause instanceof DOMRpcException) {
- return (DOMRpcException) cause;
- }
- return new RemoteDOMRpcException("Exception during invoking RPC", e);
- }
-
- private final class FutureUpdater extends OnComplete<Object> {
-
- @Override
- public void onComplete(final Throwable error, final Object reply) throws Throwable {
- if (error != null) {
- RemoteDOMRpcFuture.this.setException(error);
- } else if (reply instanceof RpcResponse) {
- final RpcResponse rpcReply = (RpcResponse) reply;
- final NormalizedNode<?, ?> result;
- if (rpcReply.getResultNormalizedNode() == null) {
- result = null;
- LOG.debug("Received response for invoke rpc: result is null");
- } else {
- result = NormalizedNodeSerializer.deSerialize(rpcReply.getResultNormalizedNode());
- LOG.debug("Received response for invoke rpc: result is {}", result);
- }
- RemoteDOMRpcFuture.this.set(new DefaultDOMRpcResult(result));
- }
- RemoteDOMRpcFuture.this.setException(new IllegalStateException("Incorrect reply type " + reply
- + "from Akka"));
- }
+ @Override
+ DOMRpcException wrapCause(final Throwable cause) {
+ return new RemoteDOMRpcException("Exception during invoking RPC", cause);