@Override public boolean checkHook() { return request.getAttribute(InternalConstants.SUPPRESS_CORE_STYLESHEETS) != null; } };
private void attributes(Request request, MarkupWriter writer) { List<String> attributeNames = request.getAttributeNames(); if (attributeNames.isEmpty()) { return; } section(writer, "Attributes"); writer.element("dl"); for (String name : attributeNames) { dt(writer, name, String.valueOf(request.getAttribute(name))); } writer.end(); // dl }
@Override protected boolean isEnabled(StreamableResource resource) { return request.getAttribute(TapestryConstants.DISABLE_JAVASCRIPT_MINIMIZATION) == null; }
@Override protected boolean isEnabled(StreamableResource resource) { return request.getAttribute(TapestryConstants.DISABLE_JAVASCRIPT_MINIMIZATION) == null; }
public Object getAttribute(String name) { return request.getAttribute(name); }
protected final void train_getAttribute(Request request, String attibuteName, Object value) { expect(request.getAttribute(attibuteName)).andReturn(value); }
public boolean dispatch(Request request, Response response) throws IOException { ComponentEventRequestParameters parameters = linkEncoder.decodeComponentEventRequest(request); if (parameters == null) return false; // Inside this pipeline, may find that the component id does not exist (this check only occurs in production // mode) ... componentRequestHandler.handleComponentEvent(parameters); // ... in which case, this attribute is set. if (request.getAttribute(InternalConstants.REFERENCED_COMPONENT_NOT_FOUND) != null) { return false; } return true; } }
private void invokeQueuedRenderer() throws IOException { while (true) { IOOperation responseRenderer = (IOOperation) request.getAttribute(TapestryConstants.RESPONSE_RENDERER); if (responseRenderer == null) { break; } // There's a particular case where an operation puts a different operation into the attribute; // we'll handle that on the next pass. request.setAttribute(TapestryConstants.RESPONSE_RENDERER, null); tracker.perform("Executing deferred response renderer.", responseRenderer); } } }
public void reportException(Throwable exception) { rootException = exception; rootURL = baseURLSource.getBaseURL(request.isSecure()); // Capture this now ... before the gears are shifted around to make ExceptionReport the active page. failurePage = (request.getAttribute(InternalConstants.ACTIVE_PAGE_LOADED) == null) ? null : requestGlobals.getActivePageName(); }
public boolean dispatch(Request request, final Response response) throws IOException { // If a component event request arrives (in production) // with an invalid component id, then we want it to be a 404 // See TAP5-1481 and TAP5-2388 if (request.getAttribute(InternalConstants.REFERENCED_COMPONENT_NOT_FOUND) != null) { // This needs to be cleared out because the container may submit a request back into the filter // for the 404 page and some containers reuse the existing HttpServletRequest. See TAP5-2388. request.setAttribute(InternalConstants.REFERENCED_COMPONENT_NOT_FOUND, null); return false; } PageRenderRequestParameters parameters = linkEncoder.decodePageRenderRequest(request); if (parameters == null) return false; componentRequestHandler.handlePageRender(parameters); return true; } }
public Void perform() throws IOException { // This is a complex area as we are trying to keep public and private services properly // separated, and trying to keep stateless and stateful (i.e., perthread scope) services // separated. So we inform the stateful queue service what it needs to do here ... String pageName = (String) request.getAttribute(InternalConstants.PAGE_NAME_ATTRIBUTE_NAME); if (pageName == null) { throw new IllegalStateException("The active page name has not been specified."); } MarkupWriter writer = factory.newPartialMarkupWriter(pageName); // ... and here, the pipeline eventually reaches the PRQ to let it render the root render command. partialMarkupRenderer.renderMarkup(writer, reply); PrintWriter pw = response.getPrintWriter(contentType.toString()); reply.print(pw, compactJSON); pw.close(); return null; } });
public void handle(PageRenderRequestParameters parameters) throws IOException { Page page = cache.get(parameters.getLogicalPageName()); if (request.getAttribute(InternalConstants.BYPASS_ACTIVATION) == null) { if (pageActivator.activatePage(page.getRootElement().getComponentResources(), parameters.getActivationContext(), resultProcessor)) { return; } if (!parameters.isLoopback()) { page.pageReset(); } } pageResponseRenderer.renderPageResponse(page); } }
expect(request.getAttribute(InternalConstants.REFERENCED_COMPONENT_NOT_FOUND)).andStubReturn(null);
@Test public void different_active_and_containing_pages() throws Exception { ComponentRequestHandler handler = mockComponentRequestHandler(); Request request = mockRequest(); Response response = mockResponse(); ComponentClassResolver resolver = mockComponentClassResolver(); LocalizationSetter ls = mockLocalizationSetter(); MetaDataLocator metaDataLocator = neverWhitelistProtected(); ComponentEventRequestParameters expectedParameters = new ComponentEventRequestParameters( "activepage", "mypage", "", "eventname", new EmptyEventContext(), new EmptyEventContext()); train_getPath(request, "/activepage:eventname"); expect(ls.isSupportedLocaleName("activepage:eventname")).andReturn(false); train_isPageName(resolver, "activepage", true); train_canonicalizePageName(resolver, "activepage", "activepage"); train_getParameter(request, InternalConstants.PAGE_CONTEXT_NAME, null); train_getParameter(request, InternalConstants.CONTAINER_PAGE_NAME, "mypage"); expect(request.getAttribute(InternalConstants.REFERENCED_COMPONENT_NOT_FOUND)).andStubReturn(null); train_canonicalizePageName(resolver, "mypage", "mypage"); train_for_request_locale(request, ls); handler.handleComponentEvent(expectedParameters); replay(); Dispatcher dispatcher = new ComponentEventDispatcher(handler, new ComponentEventLinkEncoderImpl(resolver, contextPathEncoder, ls, response, null, null, null, true, null, "", metaDataLocator, null)); assertTrue(dispatcher.dispatch(request, response)); verify(); }
@Test public void page_activation_context_in_request() throws Exception { ComponentRequestHandler handler = mockComponentRequestHandler(); Request request = mockRequest(); Response response = mockResponse(); ComponentClassResolver resolver = mockComponentClassResolver(); LocalizationSetter ls = mockLocalizationSetter(); MetaDataLocator metaDataLocator = neverWhitelistProtected(); ComponentEventRequestParameters expectedParameters = new ComponentEventRequestParameters( "mypage", "mypage", "", "eventname", new URLEventContext(contextValueEncoder, new String[] {"alpha", "beta"}), new EmptyEventContext()); train_getPath(request, "/mypage:eventname"); expect(ls.isSupportedLocaleName("mypage:eventname")).andReturn(false); train_isPageName(resolver, "mypage", true); train_canonicalizePageName(resolver, "mypage", "mypage"); train_getParameter(request, InternalConstants.PAGE_CONTEXT_NAME, "alpha/beta"); train_getParameter(request, InternalConstants.CONTAINER_PAGE_NAME, null); expect(request.getAttribute(InternalConstants.REFERENCED_COMPONENT_NOT_FOUND)).andStubReturn(null); train_for_request_locale(request, ls); handler.handleComponentEvent(expectedParameters); replay(); Dispatcher dispatcher = new ComponentEventDispatcher(handler, new ComponentEventLinkEncoderImpl(resolver, contextPathEncoder, ls, response, null, null, null, true, null, "", metaDataLocator, null)); assertTrue(dispatcher.dispatch(request, response)); verify(); }
private void test(String requestPath, String localeName, String containerPageName, String nestedComponentId, String eventType, String... eventContext) throws IOException { ComponentRequestHandler handler = mockComponentRequestHandler(); Request request = mockRequest(); Response response = mockResponse(); ComponentClassResolver resolver = mockComponentClassResolver(); LocalizationSetter localizationSetter = mockLocalizationSetter(); MetaDataLocator metaDataLocator = neverWhitelistProtected(); ComponentEventRequestParameters expectedParameters = new ComponentEventRequestParameters( containerPageName, containerPageName, nestedComponentId, eventType, new EmptyEventContext(), new URLEventContext(contextValueEncoder, eventContext)); train_getPath(request, requestPath); expect(localizationSetter.isSupportedLocaleName(localeName)).andReturn(false); train_isPageName(resolver, containerPageName, true); train_canonicalizePageName(resolver, containerPageName, containerPageName); train_getParameter(request, InternalConstants.PAGE_CONTEXT_NAME, null); train_getParameter(request, InternalConstants.CONTAINER_PAGE_NAME, null); expect(request.getAttribute(InternalConstants.REFERENCED_COMPONENT_NOT_FOUND)).andStubReturn(null); handler.handleComponentEvent(expectedParameters); train_for_request_locale(request, localizationSetter); replay(); Dispatcher dispatcher = new ComponentEventDispatcher(handler, new ComponentEventLinkEncoderImpl(resolver, contextPathEncoder, localizationSetter, response, null, null, null, true, null, "", metaDataLocator, null)); assertTrue(dispatcher.dispatch(request, response)); verify(); }