@Override @SuppressWarnings("rawtypes") public final Object intercept(Object dao, Method method, Object[] args, MethodProxy proxy) throws Throwable { AbstractFacade facade = (AbstractFacade)dao; SessionMgr<?> mgr = facade.getManager(); if(mgr.isInvoking()) return proxy.invokeSuper(dao, args); Class<?> superClass = dao.getClass().getSuperclass(); CoupleKey<Class<?>, Method> key = new CoupleKey<Class<?>, Method>(superClass, method); checkTransAttrMap(key); TransAttr transAttr = TRANS_ATTR_MAP.get(key); return FacadeProxy.intercept(dao, method, args, proxy, mgr, transAttr.autoCommit, transAttr.transLevel); }
@Override public String doFilter(ActionExecutor executor) throws Exception { Action action = executor.getAction(); Method method = executor.getEntryMethod(); CoupleKey<Class<?>, Method> key = new CoupleKey<Class<?>, Method>(action.getClass(), method); checkDaoMap(executor, action, key); tryInject(action, key); return executor.invoke(); }
@Override public String doFilter(ActionExecutor executor) throws Exception { Action action = executor.getAction(); Method method = executor.getEntryMethod(); CoupleKey<Class<?>, Method> key = new CoupleKey<Class<?>, Method>(action.getClass(), method); checkSpringMap(executor, action, key); tryInject(action, key); return executor.invoke(); }
@Override public String doFilter(ActionExecutor executor) throws Exception { Action action = executor.getAction(); Method method = executor.getEntryMethod(); CoupleKey<Class<?>, Method> key = new CoupleKey<Class<?>, Method>(action.getClass(), method); checkGuiceMap(executor, action, key); tryInject(action, key); return executor.invoke(); }