Author: rich
Date: Sun Mar 6 22:18:39 2005
New Revision: 156399
URL: http://svn.apache.org/viewcvs?view=rev&rev=156399
Log:
Fix for http://issues.apache.org/jira/browse/BEEHIVE-392 :
PageFlowRequestWrapper.get() needs to handle MultipartRequestWrapper
This fix was contributed by Carlin Rogers.
tests: netui drt/bvt (WinXP)
BB: self (linux)
Modified:
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowRequestWrapper.java
Modified:
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java?view=diff&r1=156398&r2=156399
==============================================================================
---
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java
(original)
+++
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/InternalUtils.java
Sun Mar 6 22:18:39 2005
@@ -35,6 +35,7 @@
import org.apache.struts.config.ControllerConfig;
import org.apache.struts.config.FormBeanConfig;
import org.apache.struts.config.ModuleConfig;
+import org.apache.struts.upload.MultipartRequestWrapper;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
@@ -1073,5 +1074,19 @@
public static boolean ignoreIncludeServletPath( ServletRequest request )
{
return request.getAttribute( IGNORE_INCLUDE_SERVLET_PATH_ATTR ) !=
null;
+ }
+
+ /**
+ * If the given request is a MultipartRequestWrapper (Struts class that
doesn't extend
+ * HttpServletRequestWrapper), return the wrapped request; otherwise,
return the given request.
+ */
+ public static ServletRequest unwrapMultipart( ServletRequest request )
+ {
+ if ( request instanceof MultipartRequestWrapper )
+ {
+ request = ( ( MultipartRequestWrapper ) request ).getRequest();
+ }
+
+ return request;
}
}
Modified:
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowRequestWrapper.java
URL:
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowRequestWrapper.java?view=diff&r1=156398&r2=156399
==============================================================================
---
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowRequestWrapper.java
(original)
+++
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/PageFlowRequestWrapper.java
Sun Mar 6 22:18:39 2005
@@ -47,12 +47,15 @@
public static PageFlowRequestWrapper get( ServletRequest servletRequest )
{
+ servletRequest = InternalUtils.unwrapMultipart( servletRequest );
assert servletRequest instanceof PageFlowRequestWrapper :
servletRequest.getClass().getName();
return ( PageFlowRequestWrapper ) servletRequest;
}
public static PageFlowRequestWrapper unwrap( ServletRequest servletRequest
)
{
+ servletRequest = InternalUtils.unwrapMultipart( servletRequest );
+
while ( ! ( servletRequest instanceof PageFlowRequestWrapper ) )
{
assert servletRequest instanceof ServletRequestWrapper :
servletRequest.getClass().getName();