@Override public void fail(Throwable exn) { _next.fail(exn); }
@Override public void fail(HeadersAmp headers, Throwable exn) { _result.fail(exn); }
@Override public <T> void query(Headers headers, ResultChain<T> cb, long timeout, TimeUnit timeUnit, Object... args) { cb.fail(_exn); } }
@Override public boolean fail(ResultChain<?> result, Throwable exn) { result.fail(exn); return false; }
/** * Conditional completion depending on the stub type. * * The journal uses this to skip its own completion, leaving the processing * for the main stub. */ default boolean fail(ResultChain<?> result, Throwable exn) { result.fail(exn); return true; }
default void load(ID id, T entity, ResultChain<Boolean> result) { result.fail(new UnsupportedOperationException(getClass().getName())); }
@Override public void fail(Throwable exn) { _count = -1; delegate().fail(exn); }
@Override public void fail(Throwable exn) { delegate().fail(exn); }
@Override public void fail(Throwable exn) { if (_flow != null) { _flow.fail(exn); } if (_onFail != null) { _onFail.accept(exn); } delegate().fail(exn); } }
@Override public void fail(Throwable exn) { try { _exnHandler.accept(exn, delegate()); } catch (Throwable e) { delegate().fail(e); } } }
@Override public void fail(Throwable exn) { try { _exnHandler.accept(exn, delegate()); } catch (Throwable e) { delegate().fail(e); } } }
@Override public void fail(Throwable exn) { Throwable resultExn = (Throwable) _marshal.convert(exn); delegate().fail(resultExn); }
@Override public void query(HeadersAmp headers, ResultChain<?> result, StubAmp actor, Object []args) { result.fail(new ServiceExceptionMethodNotFound( L.l("'{0}' is an undefined method for {1}", this, actor))); }
@Override public void query(HeadersAmp headers, ResultChain<?> result, StubAmp actor, Object []args) { result.fail(new ServiceExceptionNotFound( L.l("{0} is an unknown service", _serviceRef))); }
@Override public void query(HeadersAmp headers, ResultChain<?> result, StubAmp actor, Object[] args) { try { MethodShim methodShim = findActiveMethodShim(); methodShim.query(headers, result, actor, args); } catch (Throwable exn) { result.fail(exn); } }
private void queryFail(StubAmp stub, MethodAmp method, ResultChain<?> result) { IllegalStateException exn = new IllegalStateException(L.l("'{0}.{1}()' invalid because the bean {2} is not loaded", stub.bean().getClass().getSimpleName(), method.name(), stub.bean())); result.fail(exn); } }
@Override public void query(HeadersAmp headers, ResultChain<?> result, StubAmp actor, Object[] args) { ServiceExceptionNotFound exn = new ServiceExceptionNotFound(errorMsg()); exn.fillInStackTrace(); result.fail(exn); //System.out.println("QR-A: " + exn + " " + queryRef); //queryRef.complete("OK"); }
protected final void sendReplyAsync(ResultChain<T> result) { _state = State.CLOSED; Throwable exn = fail(); if (exn != null) { result.fail(exn); } else { result.completeFuture(this, (T) getReply()); } }
@Override public void query(HeadersAmp headers, ResultChain<?> result, StubAmp stub) { Object bean = stub.bean(); try { Serializable id = (Serializable) _idGetter.invoke(bean); ((VaultDriver) _driver).delete(id, bean, Result.ignore()); result.ok(null); } catch (Throwable e) { result.fail(e); } } }
@Override public <T> ResultChain<T> ensure(StubAmpBean stub, ResultChain<T> result, Object[] args) { long id = _idGen.get(); _driver.put(id, _methodId, stub.name(), args); return ResultChain.then(result, x->{ onComplete(id); return x; }, (exn,r)->{ onComplete(id); r.fail(exn); }); }