Index: ActionValveImpl.java =================================================================== retrieving revision 1.5 diff -u -r1.5 ActionValveImpl.java --- ActionValveImpl.java 17 Mar 2004 01:50:13 -0000 1.5 +++ ActionValveImpl.java 2 Apr 2004 09:45:54 -0000 @@ -18,6 +18,7 @@ import java.io.IOException; import javax.portlet.PortletException; +import javax.servlet.http.HttpServletResponse; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -56,6 +57,7 @@ public void invoke(RequestContext request, ValveContext context) throws PipelineException { PortletContainer container; + boolean responseCommitted = false; try { // TODO: deprecate this when valves are components @@ -63,10 +65,14 @@ PortletWindow actionWindow = request.getActionWindow(); if (actionWindow != null) { + HttpServletResponse response = request.getResponseForWindow(actionWindow); container.processPortletAction( actionWindow, request.getRequestForWindow(actionWindow), - request.getResponseForWindow(actionWindow)); + response); + // Pluto will redirect the client after PortletAction processing + // so there is no use to continue the pipeline + responseCommitted = response.isCommitted(); } else { @@ -91,8 +97,13 @@ } finally { - // Pass control to the next Valve in the Pipeline - context.invokeNext(request); + // Check if an action was processed and if its response has been committed + // (Pluto will redirect the client after PorletAction processing) + if ( responseCommitted ) + log.info("Action processed and response committed (pipeline processing stopped)"); + else + // Pass control to the next Valve in the Pipeline + context.invokeNext(request); } }