protected void processWindowsBeforeRender( final HstContainerConfig requestContainerConfig, final HstComponentWindow rootWindow, final HstComponentWindow [] sortedComponentWindows, final Map<HstComponentWindow, HstRequest> requestMap, final Map<HstComponentWindow, HstResponse> responseMap) throws ContainerException { for (int i = 0; i < sortedComponentWindows.length; i++) { HstComponentWindow window = sortedComponentWindows[i]; HstRequest request = requestMap.get(window); HstResponse response = responseMap.get(window); getComponentInvoker().invokeBeforeRender(requestContainerConfig, request, response); if (window.getResponseState().getRedirectLocation() != null) { break; } if (rootWindow.getResponseState().getForwardPathInfo() != null) { break; } } }
protected boolean processWindowsPrepareBeforeRender( final HstContainerConfig requestContainerConfig, final HstComponentWindow rootWindow, final HstComponentWindow rootRenderingWindow, final HstComponentWindow[] sortedComponentWindows, final Map<HstComponentWindow, HstRequest> requestMap, final Map<HstComponentWindow, HstResponse> responseMap) throws ContainerException { boolean redirectedOrForwarded = false; for (HstComponentWindow window : sortedComponentWindows) { HstRequest request = requestMap.get(window); HstResponse response = responseMap.get(window); if (window.isVisible() && !isAsync(window, request)) { getComponentInvoker().invokePrepareBeforeRender(requestContainerConfig, request, response); } if (window.getResponseState().getRedirectLocation() != null) { redirectedOrForwarded = true; break; } if (rootWindow.getResponseState().getForwardPathInfo() != null) { redirectedOrForwarded = true; break; } } return redirectedOrForwarded; }
if (window.getResponseState().getRedirectLocation() != null) { break;
if (!requestContext.isPortletContext()) { for (HstComponentWindow window : sortedComponentWindows) { if (window.getResponseState().getRedirectLocation() != null) { redirectLocation = window.getResponseState().getRedirectLocation(); break; if (rootWindow.getResponseState().getRedirectLocation() != null) { redirectLocation = rootWindow.getResponseState().getRedirectLocation();
if (pageErrors != null) { PageErrorHandler.Status handled = handleComponentExceptions(pageErrors, context.getRequestContainerConfig(), window, request, response); String location = responseState.getRedirectLocation(); if (handled == PageErrorHandler.Status.HANDLED_TO_STOP && location == null) { return; if (responseState.getRedirectLocation() == null) { try { responseState.flush(); String location = responseState.getRedirectLocation(); log.warn("Unexpected exception during redirect to " + responseState.getRedirectLocation(), e);
if (window.getResponseState().getRedirectLocation() != null) { redirectLocation = window.getResponseState().getRedirectLocation(); break; if (rootWindow.getResponseState().getRedirectLocation() != null) { redirectLocation = rootWindow.getResponseState().getRedirectLocation();
if (pageErrors != null) { PageErrorHandler.Status handled = handleComponentExceptions(pageErrors, context.getRequestContainerConfig(), window, request, response); String location = responseState.getRedirectLocation(); if (handled == PageErrorHandler.Status.HANDLED_TO_STOP && location == null) { context.invokeNext(); if (responseState.getRedirectLocation() == null) { try { responseState.flush(); String location = responseState.getRedirectLocation(); String location = responseState.getRedirectLocation(); if (!(location.startsWith("http:") || location.startsWith("https:"))) { if (!location.startsWith("/")) { log.warn("Unexpected exception during redirect to " + responseState.getRedirectLocation(), e);