@Override protected void found(final Class<ActEventListener> target, final App app) { final EventBus bus = app.eventBus(); ParameterizedType ptype = null; Type superType = target.getGenericSuperclass(); while (ptype == null) { if (superType instanceof ParameterizedType) { ptype = (ParameterizedType) superType; } else { if (Object.class == superType) { logger.warn("Event listener registration failed: cannot find generic information for %s", target.getName()); return; } superType = ((Class) superType).getGenericSuperclass(); } } Type[] ca = ptype.getActualTypeArguments(); for (Type t : ca) { if (t instanceof Class) { final Class tc = (Class) t; if (ActEvent.class.isAssignableFrom(tc)) { app.eventBus().bind(AppEventId.DEPENDENCY_INJECTOR_LOADED, new AppEventListenerBase() { @Override public void on(EventObject event) throws Exception { ActEventListener listener = (ActEventListener) app.newInstance(target); bus.bind(tc, listener); } }); return; } } } }
@Before public void prepare() { config = mock(AppConfig.class); when(config.secret()).thenReturn("secret"); crypto = new AppCrypto(config); app = mock(App.class); when(app.config()).thenReturn(config); when(app.crypto()).thenReturn(crypto); when(app.sign(anyString())).thenCallRealMethod(); when(app.encrypt(anyString())).thenCallRealMethod(); when(app.decrypt(anyString())).thenCallRealMethod(); resolver = new SessionManager.CookieResolver(app); session = new H.Session(); session.put("foo", "bar"); flash = new H.Flash(); flash.put("foo", "bar"); }
public StringValueResolverManager(App app) { super(app); registerPredefinedResolvers(); registerBuiltInResolvers(app.config()); }