[jboss-cvs] jboss-seam/src/ui/org/jboss/seam/ui ...
Shane Bryzak
Shane_Bryzak at symantec.com
Sat Feb 10 02:48:21 EST 2007
User: sbryzak2
Date: 07/02/10 02:48:21
Modified: src/ui/org/jboss/seam/ui FileUpload.java
Log:
unwrap tomahawk multipart requests
Revision Changes Path
1.8 +23 -1 jboss-seam/src/ui/org/jboss/seam/ui/FileUpload.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: FileUpload.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/ui/org/jboss/seam/ui/FileUpload.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- FileUpload.java 10 Feb 2007 07:32:42 -0000 1.7
+++ FileUpload.java 10 Feb 2007 07:48:21 -0000 1.8
@@ -2,6 +2,7 @@
import java.io.IOException;
import java.io.InputStream;
+import java.lang.reflect.Field;
import javax.faces.component.UIComponentBase;
import javax.faces.context.FacesContext;
@@ -21,6 +22,8 @@
public static final String COMPONENT_TYPE = "org.jboss.seam.ui.FileUpload";
public static final String COMPONENT_FAMILY = "org.jboss.seam.ui.FileUpload";
+ private static final String TOMAHAWK_WRAPPER_CLASS = "org.apache.myfaces.webapp.filter.MultipartRequestWrapper";
+
private String accept;
private String required;
private String disabled;
@@ -40,6 +43,25 @@
request = ((HttpServletRequestWrapper) request).getRequest();
}
+ if (!(request instanceof MultipartRequest) &&
+ request.getClass().getName().equals(TOMAHAWK_WRAPPER_CLASS))
+ {
+ Field f = null;
+ try
+ {
+ f = request.getClass().getDeclaredField("request");
+ f.setAccessible(true);
+ request = f.get(request);
+ }
+ catch (Exception ex) {
+ // too bad
+ }
+ finally
+ {
+ if (f != null) f.setAccessible(false);
+ }
+ }
+
if (request instanceof MultipartRequest)
{
MultipartRequest req = (MultipartRequest) request;
More information about the jboss-cvs-commits
mailing list