private void doCommonBinding(PortletRequest request, PortletResponse response, FilterChain chain) throws IOException, PortletModeException { manager.bind(RequestScoped.class, PortletRequest.class, request); manager.bind(RequestScoped.class, PortletResponse.class, response); manager.bind(RequestScoped.class, FilterChain.class, chain); }
@Override public void init(FilterConfig filterConfig) throws ServletException { try { log.log(Level.FINE, "initializing {0}", WarpFilter.class.getSimpleName()); ManagerBuilder builder = ManagerBuilder.from().extension(Class.forName(DEFAULT_EXTENSION_CLASS)); manager = builder.create(); manager.start(); manager.bind(ApplicationScoped.class, Manager.class, manager); delegator = new RequestDelegator(); } catch (Exception e) { throw new ServletException("Could not init " + WarpFilter.class.getSimpleName(), e); } }
@Override public void doFilter(ResourceRequest request, ResourceResponse response, FilterChain chain) throws IOException, PortletException { getManager(request); if (manager != null) { manager.bind(RequestScoped.class, ResourceRequest.class, request); manager.bind(RequestScoped.class, ResourceResponse.class, response); doCommonBinding(request, response, chain); manager.fire(new ExecutePortalWarpResourceRequest()); } else { chain.doFilter(request, response); } }
@Override public void doFilter(ActionRequest request, ActionResponse response, FilterChain chain) throws IOException, PortletException { getManager(request); if (manager != null) { manager.bind(RequestScoped.class, ActionRequest.class, request); manager.bind(RequestScoped.class, ActionResponse.class, response); doCommonBinding(request, response, chain); manager.fire(new ExecutePortalWarpActionRequest()); } else { chain.doFilter(request, response); } }
@Override public void doFilter(EventRequest request, EventResponse response, FilterChain chain) throws IOException, PortletException { getManager(request); if (manager != null) { manager.bind(RequestScoped.class, EventRequest.class, request); manager.bind(RequestScoped.class, EventResponse.class, response); doCommonBinding(request, response, chain); manager.fire(new ExecutePortalWarpEventRequest()); } else { chain.doFilter(request, response); } }
@Override public void doFilter(RenderRequest request, RenderResponse response, FilterChain chain) throws IOException, PortletException { getManager(request); if (manager != null) { manager.bind(RequestScoped.class, RenderRequest.class, request); manager.bind(RequestScoped.class, RenderResponse.class, response); doCommonBinding(request, response, chain); manager.fire(new ExecutePortalWarpRenderRequest()); } else { chain.doFilter(request, response); } }
@Test public void shouldHandleLifeCycleEvents() throws Exception { Manager manager = getManager(); manager.bind(ApplicationScoped.class, TestResult.class, TestResult.passed()); EventTestRunnerAdaptor adaptor = new EventTestRunnerAdaptor(manager);
@Test public void shouldHandleLifeCycleEvents() throws Exception { Manager manager = getManager(); manager.bind(ApplicationScoped.class, TestResult.class, TestResult.passed()); EventTestRunnerAdaptor adaptor = new EventTestRunnerAdaptor(manager);