@Override public Closure createClosure(MetaHolder metaHolder, Method method, Object o, Object... args) { try { Object closureObj; method.setAccessible(true); if (isCompileWeaving()) { closureObj = invokeAjcMethod(metaHolder.getAjcMethod(), o, metaHolder, args); } else { closureObj = method.invoke(o, args); // creates instance of an anonymous class } return createClosure(method.getName(), closureObj); } catch (InvocationTargetException e) { throw Throwables.propagate(e.getCause()); } catch (Exception e) { throw Throwables.propagate(e); } }
/** * Invokes the method. * * @return result of execution */ private Object execute(Object o, Method m, Object... args) throws CommandActionExecutionException { Object result = null; try { m.setAccessible(true); // suppress Java language access if (isCompileWeaving() && metaHolder.getAjcMethod() != null) { result = invokeAjcMethod(metaHolder.getAjcMethod(), o, metaHolder, args); } else { result = m.invoke(o, args); } } catch (IllegalAccessException e) { propagateCause(e); } catch (InvocationTargetException e) { propagateCause(e); } return result; }
private MetaHolder createCopy(MetaHolder source, ExecutionType executionType, Object[] args) { return MetaHolder.builder() .obj(source.getObj()) .method(source.getMethod()) .executionType(executionType) .ajcMethod(source.getAjcMethod()) .fallbackExecutionType(source.getFallbackExecutionType()) .extendedParentFallback(source.isExtendedParentFallback()) .extendedFallback(source.isExtendedFallback()) .args(args) .observable(source.isObservable()) .observableExecutionMode(source.getObservableExecutionMode()) .defaultCollapserKey(source.getDefaultCollapserKey()) .defaultCommandKey(source.getDefaultCommandKey()) .defaultGroupKey(source.getDefaultGroupKey()) .defaultThreadPoolKey(source.getDefaultThreadPoolKey()) .defaultProperties(source.getDefaultProperties().orNull()) .hystrixCollapser(source.getHystrixCollapser()) .hystrixCommand(source.getHystrixCommand()).build(); }
private MetaHolder createCopy(MetaHolder source, ExecutionType executionType) { return MetaHolder.builder() .obj(source.getObj()) .method(source.getMethod()) .ajcMethod(source.getAjcMethod()) .fallbackExecutionType(source.getFallbackExecutionType()) .extendedFallback(source.isExtendedFallback()) .extendedParentFallback(source.isExtendedParentFallback()) .executionType(executionType) .args(source.getArgs()) .observable(source.isObservable()) .observableExecutionMode(source.getObservableExecutionMode()) .defaultCollapserKey(source.getDefaultCollapserKey()) .defaultCommandKey(source.getDefaultCommandKey()) .defaultGroupKey(source.getDefaultGroupKey()) .defaultThreadPoolKey(source.getDefaultThreadPoolKey()) .defaultProperties(source.getDefaultProperties().orNull()) .hystrixCollapser(source.getHystrixCollapser()) .hystrixCommand(source.getHystrixCommand()).build(); }
@Override public Closure createClosure(MetaHolder metaHolder, Method method, Object o, Object... args) { try { Object closureObj; method.setAccessible(true); if (isCompileWeaving()) { closureObj = invokeAjcMethod(metaHolder.getAjcMethod(), o, metaHolder, args); } else { closureObj = method.invoke(o, args); // creates instance of an anonymous class } return createClosure(method.getName(), closureObj); } catch (InvocationTargetException e) { throw Throwables.propagate(e.getCause()); } catch (Exception e) { throw Throwables.propagate(e); } }
/** * Invokes the method. * * @return result of execution */ private Object execute(Object o, Method m, Object... args) throws CommandActionExecutionException { Object result = null; try { m.setAccessible(true); // suppress Java language access if (isCompileWeaving() && metaHolder.getAjcMethod() != null) { result = invokeAjcMethod(metaHolder.getAjcMethod(), o, metaHolder, args); } else { result = m.invoke(o, args); } } catch (IllegalAccessException e) { propagateCause(e); } catch (InvocationTargetException e) { propagateCause(e); } return result; }
private MetaHolder createCopy(MetaHolder source, ExecutionType executionType, Object[] args) { return MetaHolder.builder() .obj(source.getObj()) .method(source.getMethod()) .executionType(executionType) .ajcMethod(source.getAjcMethod()) .fallbackExecutionType(source.getFallbackExecutionType()) .extendedParentFallback(source.isExtendedParentFallback()) .extendedFallback(source.isExtendedFallback()) .args(args) .observable(source.isObservable()) .observableExecutionMode(source.getObservableExecutionMode()) .defaultCollapserKey(source.getDefaultCollapserKey()) .defaultCommandKey(source.getDefaultCommandKey()) .defaultGroupKey(source.getDefaultGroupKey()) .defaultThreadPoolKey(source.getDefaultThreadPoolKey()) .defaultProperties(source.getDefaultProperties().orNull()) .hystrixCollapser(source.getHystrixCollapser()) .hystrixCommand(source.getHystrixCommand()).build(); }
private MetaHolder createCopy(MetaHolder source, ExecutionType executionType) { return MetaHolder.builder() .obj(source.getObj()) .method(source.getMethod()) .ajcMethod(source.getAjcMethod()) .fallbackExecutionType(source.getFallbackExecutionType()) .extendedFallback(source.isExtendedFallback()) .extendedParentFallback(source.isExtendedParentFallback()) .executionType(executionType) .args(source.getArgs()) .observable(source.isObservable()) .observableExecutionMode(source.getObservableExecutionMode()) .defaultCollapserKey(source.getDefaultCollapserKey()) .defaultCommandKey(source.getDefaultCommandKey()) .defaultGroupKey(source.getDefaultGroupKey()) .defaultThreadPoolKey(source.getDefaultThreadPoolKey()) .defaultProperties(source.getDefaultProperties().orNull()) .hystrixCollapser(source.getHystrixCollapser()) .hystrixCommand(source.getHystrixCommand()).build(); }