public void afterPropertiesSet() throws Exception { RequestProcessor requestProcessor = new RequestProcessor(getDeploymentConfiguration()); requestProcessor.storeRequestProcessorOnServletContext(servletContext, requestProcessorAttribute); }
/** * Registers resources and providers provided by the Application. The * methods adds new providers and resources and DOES NOT removes the already * registered. * * @param application - application to register * @param servletContext - current servlet context * @param requestProcessorAttribute - attribute on which the request * processor is stored. It's useful, when there are multiple rest * servlets in the system and each one has a request processor. */ public static void registerApplication(Application application, ServletContext servletContext, String requestProcessorAttribute) { RequestProcessor requestProcessor = RequestProcessor.getRequestProcessor(servletContext, requestProcessorAttribute); requestProcessor.getConfiguration().addApplication(application, false); }
@Override protected void service(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException { getRequestProcessor().handleRequest(httpServletRequest, httpServletResponse); }
public RequestProcessor(DeploymentConfiguration configuration) { this.configuration = configuration; registerDefaultApplication(); registerRootResources(); }
boolean isReleaseResourcesCalled = false; try { ServerMessageContext msgContext = createMessageContext(request, response); RuntimeContextTLS.setRuntimeContext(msgContext); logger.trace("Set message context and starting request handlers chain: {}", msgContext); //$NON-NLS-1$ isReleaseResourcesCalled = true; try { releaseResources(msgContext); } catch (Exception e) { logger.trace("Caught exception when releasing resource object", e); ServerMessageContext msgContext = null; try { logException(t, request); msgContext = createMessageContext(request, response); RuntimeContextTLS.setRuntimeContext(msgContext); msgContext.setResponseEntity(t); isReleaseResourcesCalled = true; try { releaseResources(originalContext); } catch (Exception e2) { logger.trace("Caught exception when releasing resource object", e2); isReleaseResourcesCalled = true; try { releaseResources(originalContext); } catch (Exception e2) {
protected void storeRequestProcessorOnServletContext(RequestProcessor requestProcessor) { requestProcessor.storeRequestProcessorOnServletContext(getServletContext(), requestProcessorAttribute); }
RequestProcessor requestProcessor = new RequestProcessor(deploymentConfiguration); logger.trace("Creating request processor {} for servlet {}", requestProcessor, this); //$NON-NLS-1$
@Override public void destroy() { getRequestProcessor().getConfiguration().getProvidersRegistry().removeAllProviders(); getRequestProcessor().getConfiguration().getResourceRegistry().removeAllResources(); for (ObjectFactory<?> of : getRequestProcessor().getConfiguration() .getApplicationObjectFactories()) { of.releaseAll(null); } /* * Be sure to call super.destroy() */ super.destroy(); } }
protected RequestProcessor getRequestProcessor() { return RequestProcessor.getRequestProcessor(getServletContext(), requestProcessorAttribute); }
.getMessage("processingRequestTo", requestMethod, requestString, request.getContentType(), request.getHeader("Accept"))); //$NON-NLS-1$ $NON-NLS-2$ handleRequestWithoutFaultBarrier(request, response); } catch (Throwable t) {
if (requestProcessor.getConfiguration().getServletConfig() == null) { requestProcessor.getConfiguration().setServletConfig(getServletConfig()); if (requestProcessor.getConfiguration().getServletContext() == null) { requestProcessor.getConfiguration().setServletContext(getServletContext());
@Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { RequestProcessor requestProcessor = getRequestProcessor(); if (requestProcessor == null) { throw new ServletException(Messages .getMessage("adminServletRequestProcessorInitBeforeAdmin")); //$NON-NLS-1$ } ResourceRegistry registry = requestProcessor.getConfiguration().getResourceRegistry(); String[] parameterValues = request.getParameterValues(DOCUMENT_TYPE); if (parameterValues == null || parameterValues.length == 0) { buildAdminHome(response); return; } if (parameterValues[0].equals(DOCUMENT_TYPE_REGISTRY)) { buildRegistryDocument(request, response, registry); } else if (parameterValues[0].equals(DOCUMENT_TYPE_RESOURCE)) { buildResourcesDocument(request, response, registry); } else { buildAdminHome(response); return; } }