/** * Create intermediate of direct future. */ protected Future<?> createStepFuture(IComponentStep<?> step) { Future<?> ret; try { Method method = step.getClass().getMethod("execute", new Class[]{IInternalAccess.class}); Class<?> clazz = method.getReturnType(); // ret = FutureFunctionality.getDelegationFuture(clazz, new FutureFunctionality(getLogger())); // Must not be fetched before properties are available! ret = FutureFunctionality.getDelegationFuture(clazz, new FutureFunctionality(new IResultCommand<Logger, Void>() { public Logger execute(Void args) { return getLogger(); } })); } catch(Exception e) { throw new RuntimeException(e); } return ret; }
/** * Create intermediate of direct future. */ protected <T> Future<T> createStepFuture(IComponentStep<T> step) { Future<T> ret; try { Method method = step.getClass().getMethod("execute", new Class[]{IInternalAccess.class}); Class<?> clazz = method.getReturnType(); // ret = FutureFunctionality.getDelegationFuture(clazz, new FutureFunctionality(getLogger())); // Must not be fetched before properties are available! ret = (Future<T>)FutureFunctionality.getDelegationFuture(clazz, new FutureFunctionality(new IResultCommand<Logger, Void>() { public Logger execute(Void args) { return getComponent().getLogger(); } })); } catch(Exception e) { throw new RuntimeException(e); } return ret; }
Future<Object> ret = (Future<Object>)FutureFunctionality.getDelegationFuture(method.getReturnType(), new FutureFunctionality(agent.getLogger())); FutureFunctionality func = new FutureFunctionality((Logger)null)
final IServiceIdentifier sid, final IExternalAccess ea, final ITargetResolver tr, final int maxretries, final int cnt) final Future<Object> ret = (Future<Object>)FutureFunctionality.getDelegationFuture(sic.getMethod().getReturnType(), new FutureFunctionality((Logger)null));
final Future<T> ret = m!=null ? (Future<T>)FutureFunctionality.getDelegationFuture(m.getReturnType(), new FutureFunctionality((Logger)null)) : new Future<T>();