List of usage examples for org.springframework.web.context.request RequestContextListener requestDestroyed
@Override public void requestDestroyed(ServletRequestEvent requestEvent)
From source file:br.com.caelum.vraptor.ioc.spring.SpringProviderRegisteringComponentsTest.java
@Override protected <T> T executeInsideRequest(final WhatToDo<T> execution) { Callable<T> task = new Callable<T>() { public T call() throws Exception { T result = null;/*from ww w . j a v a2s . c o m*/ HttpSessionMock session = new HttpSessionMock(context, "session" + ++counter); HttpServletRequestMock httpRequest = new HttpServletRequestMock(session, mock(MutableRequest.class, "request" + counter)); MutableResponse response = mock(MutableResponse.class, "response" + counter); RequestInfo request = new RequestInfo(context, null, httpRequest, response); VRaptorRequestHolder.setRequestForCurrentThread(request); RequestContextListener contextListener = new RequestContextListener(); contextListener.requestInitialized(new ServletRequestEvent(context, httpRequest)); result = execution.execute(request, counter); contextListener.requestDestroyed(new ServletRequestEvent(context, httpRequest)); VRaptorRequestHolder.resetRequestForCurrentThread(); return result; } }; Future<T> future = Executors.newSingleThreadExecutor().submit(task); try { return future.get(60, TimeUnit.SECONDS); } catch (Exception e) { throw new RuntimeException(e); } }
From source file:pt.webdetails.cns.notifications.sparkl.kettle.baserver.web.utils.HttpConnectionHelper.java
protected static Response invokePlatformEndpoint(final String endpointPath, final String httpMethod, final Map<String, String> queryParameters) { Response response = new Response(); // get servlet context and request dispatcher ServletContext servletContext = null; RequestDispatcher requestDispatcher = null; try {/* w ww . j a va 2 s.c om*/ Object context = PentahoSystem.getApplicationContext().getContext(); if (context instanceof ServletContext) { servletContext = (ServletContext) context; requestDispatcher = servletContext.getRequestDispatcher("/api" + endpointPath); } } catch (NoClassDefFoundError ex) { logger.error("Failed to get application servlet context", ex); return response; } if (requestDispatcher != null) { // create servlet request final InternalHttpServletRequest servletRequest = new InternalHttpServletRequest(httpMethod, "/pentaho", "/api", endpointPath); servletRequest.setAttribute("org.apache.catalina.core.DISPATCHER_TYPE", 2); // FORWARD = 2 for (Map.Entry<String, String> entry : queryParameters.entrySet()) { servletRequest.setParameter(entry.getKey(), entry.getValue()); } ServletRequestEvent servletRequestEvent = new ServletRequestEvent(servletContext, servletRequest); RequestContextListener requestContextListener = new RequestContextListener(); requestContextListener.requestInitialized(servletRequestEvent); // create servlet response ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); final InternalHttpServletResponse servletResponse = new InternalHttpServletResponse(outputStream); try { // used for calculating the response time long startTime = System.currentTimeMillis(); requestDispatcher.forward(servletRequest, servletResponse); // get response time long responseTime = System.currentTimeMillis() - startTime; response.setStatusCode(servletResponse.getStatus()); response.setResult(servletResponse.getContentAsString()); response.setResponseTime(responseTime); } catch (ServletException ex) { logger.error("Failed ", ex); return response; } catch (IOException ex) { logger.error("Failed ", ex); return response; } finally { requestContextListener.requestDestroyed(servletRequestEvent); } } return response; }
From source file:org.pentaho.di.baserver.utils.web.HttpConnectionHelper.java
protected Response invokePlatformEndpoint(final String endpointPath, final String httpMethod, final Map<String, String> queryParameters) { Response response = new Response(); // get servlet context and request dispatcher ServletContext servletContext = null; RequestDispatcher requestDispatcher = null; try {/*from ww w. j av a 2 s. com*/ Object context = getContext(); if (context instanceof ServletContext) { servletContext = (ServletContext) context; requestDispatcher = servletContext.getRequestDispatcher("/api" + endpointPath); } } catch (NoClassDefFoundError ex) { logger.error("Failed to get application servlet context", ex); return response; } if (requestDispatcher != null) { // create servlet request URL fullyQualifiedServerURL; try { fullyQualifiedServerURL = getUrl(); } catch (MalformedURLException e) { logger.error("FullyQualifiedServerURL is incorrect"); return response; } final InternalHttpServletRequest servletRequest = new InternalHttpServletRequest(httpMethod, fullyQualifiedServerURL, "/api", endpointPath); servletRequest.setAttribute("org.apache.catalina.core.DISPATCHER_TYPE", DispatcherType.FORWARD); //FORWARD = 2 try { insertParameters(httpMethod, queryParameters, servletRequest); } catch (UnsupportedEncodingException e) { logger.error("Can't encode parameters"); return response; } ServletRequestEvent servletRequestEvent = new ServletRequestEvent(servletContext, servletRequest); RequestContextListener requestContextListener = new RequestContextListener(); requestContextListener.requestInitialized(servletRequestEvent); // create servlet response ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); final InternalHttpServletResponse servletResponse = new InternalHttpServletResponse(outputStream); try { // used for calculating the response time long startTime = System.currentTimeMillis(); requestDispatcher.forward(servletRequest, servletResponse); // get response time long responseTime = System.currentTimeMillis() - startTime; response.setStatusCode(servletResponse.getStatus()); response.setResult(servletResponse.getContentAsString()); response.setResponseTime(responseTime); } catch (ServletException ex) { logger.error("Failed ", ex); return response; } catch (IOException ex) { logger.error("Failed ", ex); return response; } finally { requestContextListener.requestDestroyed(servletRequestEvent); } } return response; }