[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