myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Marinschek" <martin.marinsc...@gmail.com>
Subject Re: svn commit: r599022 - in /myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces: custom/fileupload/ webapp/filter/
Date Wed, 28 Nov 2007 15:32:15 GMT
sure, done - sorry.

regards,

Martin

On 11/28/07, Matthias Wessendorf <matzew@apache.org> wrote:
> can you add the license headers?
> :-)
>
> On Nov 28, 2007 4:14 PM,  <mmarinschek@apache.org> wrote:
> > Author: mmarinschek
> > Date: Wed Nov 28 07:14:17 2007
> > New Revision: 599022
> >
> > URL: http://svn.apache.org/viewvc?rev=599022&view=rev
> > Log:
> > fix for https://issues.apache.org/jira/browse/TOMAHAWK-6 (TOMAHAWK-6):
> Thanks to Alexander Jesse for helping me fixing this and testing the fix
> >
> > Added:
> >
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/DiskStorageStrategy.java
> >
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/StorageStrategy.java
> > Modified:
> >
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/HtmlFileUploadRenderer.java
> >
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/HtmlInputFileUpload.java
> >
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/UploadedFile.java
> >
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/UploadedFileDefaultFileImpl.java
> >
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/UploadedFileDefaultMemoryImpl.java
> >
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/webapp/filter/MultipartRequestWrapper.java
> >
> > Added:
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/DiskStorageStrategy.java
> > URL:
> http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/DiskStorageStrategy.java?rev=599022&view=auto
> >
> ==============================================================================
> > ---
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/DiskStorageStrategy.java
> (added)
> > +++
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/DiskStorageStrategy.java
> Wed Nov 28 07:14:17 2007
> > @@ -0,0 +1,9 @@
> > +package org.apache.myfaces.custom.fileupload;
> > +
> > +import java.io.File;
> > +
> > +public abstract class DiskStorageStrategy extends StorageStrategy {
> > +
> > +  public abstract File getTempFile();
> > +
> > +}
> >
> > Modified:
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/HtmlFileUploadRenderer.java
> > URL:
> http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/HtmlFileUploadRenderer.java?rev=599022&r1=599021&r2=599022&view=diff
> >
> ==============================================================================
> > ---
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/HtmlFileUploadRenderer.java
> (original)
> > +++
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/HtmlFileUploadRenderer.java
> Wed Nov 28 07:14:17 2007
> > @@ -31,6 +31,7 @@
> >
> >  import javax.faces.component.UIComponent;
> >  import javax.faces.context.FacesContext;
> > +import javax.faces.FacesException;
> >  import javax.faces.context.ResponseWriter;
> >  import javax.faces.context.ExternalContext;
> >  import javax.faces.convert.ConverterException;
> > @@ -126,7 +127,7 @@
> >
> ((HtmlInputFileUpload)uiComponent).setSubmittedValue(upFile);
> >                      ((HtmlInputFileUpload)uiComponent).setValid(true);
> >                  }catch(IOException ioe){
> > -                    log.error(ioe);
> > +                    throw new FacesException("Exception while processing
> file upload for file-input : " + uiComponent.getClientId(facesContext),ioe);
> >                  }
> >              }
> >              return;
> > @@ -165,7 +166,7 @@
> >
> ((HtmlInputFileUpload)uiComponent).setSubmittedValue(upFile);
> >
> ((HtmlInputFileUpload)uiComponent).setValid(true);
> >                      }catch(IOException ioe){
> > -                        log.error(ioe);
> > +                      throw new FacesException("Exception while
> processing file upload for file-input : " +
> uiComponent.getClientId(facesContext),ioe);
> >                      }
> >                  }
> >              }
> >
> > Modified:
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/HtmlInputFileUpload.java
> > URL:
> http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/HtmlInputFileUpload.java?rev=599022&r1=599021&r2=599022&view=diff
> >
> ==============================================================================
> > ---
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/HtmlInputFileUpload.java
> (original)
> > +++
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/HtmlInputFileUpload.java
> Wed Nov 28 07:14:17 2007
> > @@ -20,8 +20,10 @@
> >
> >  import org.apache.myfaces.component.UserRoleAware;
> >  import org.apache.myfaces.component.UserRoleUtils;
> > +import org.apache.myfaces.shared_tomahawk.util.MessageUtils;
> >  import org.apache.myfaces.shared_tomahawk.util._ComponentUtils;
> >
> > +import javax.faces.application.FacesMessage;
> >  import javax.faces.component.html.HtmlInputText;
> >  import javax.faces.context.FacesContext;
> >  import javax.faces.el.ValueBinding;
> > @@ -34,6 +36,9 @@
> >          extends HtmlInputText
> >          implements UserRoleAware
> >  {
> > +    private static final String SIZE_LIMIT_EXCEEDED =
> "sizeLimitExceeded";
> > +    private static final String FILEUPLOAD_MAX_SIZE =
> "org.apache.myfaces.custom.fileupload.maxSize";
> > +    private static final String FILEUPLOAD_EXCEPTION =
> "org.apache.myfaces.custom.fileupload.exception";
> >      public static final String COMPONENT_TYPE =
> "org.apache.myfaces.HtmlInputFileUpload";
> >      public static final String DEFAULT_RENDERER_TYPE =
> "org.apache.myfaces.FileUpload";
> >      public static final String SIZE_LIMIT_MESSAGE_ID =
> "org.apache.myfaces.FileUpload.SIZE_LIMIT";
> > @@ -113,22 +118,29 @@
> >          return super.isRendered();
> >      }
> >
> > -//    protected void validateValue(FacesContext context, Object
> convertedValue)
> > -//    {
> > -//        super.validateValue(context, convertedValue);
> > -//        if (isValid())
> > -//        {
> > -//            UploadedFile file = (UploadedFile) convertedValue;
> > -//            if(file != null && file.getSize() > getMaxlength())
> > -//            {
> > -//                MessageUtils.addMessage(FacesMessage.SEVERITY_ERROR,
> > -//                        SIZE_LIMIT_MESSAGE_ID, new Object[] { getId(),
> > -//                                new Integer(getMaxlength()) },
> > -//                        getClientId(context), context);
> > -//                setValid(false);
> > -//            }
> > -//        }
> > -//    }
> > +    protected void validateValue(FacesContext context, Object
> convertedValue)
> > +    {
> > +        super.validateValue(context, convertedValue);
> > +
> > +        if (isValid())
> > +        {
> > +              String exception =
> > +                (String)
> context.getExternalContext().getRequestMap().get(FILEUPLOAD_EXCEPTION);
> > +
> > +              if(exception != null &&
> exception.equals(SIZE_LIMIT_EXCEEDED)) {
> > +                Integer maxSize =
> > +                  (Integer)
> context.getExternalContext().getRequestMap().get(FILEUPLOAD_MAX_SIZE);
> > +                MessageUtils.addMessage(FacesMessage.SEVERITY_ERROR,
> > +                            SIZE_LIMIT_MESSAGE_ID, new Object[] {
> getId(),
> > +                                    maxSize},
> > +                            getClientId(context), context);
> > +                    setValid(false);
> > +             }
> > +             else {
> > +               throw new IllegalStateException("other exceptions not
> handled yet.");
> > +             }
> > +         }
> > +     }
> >
> >      public Object saveState(FacesContext context)
> >      {
> >
> > Added:
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/StorageStrategy.java
> > URL:
> http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/StorageStrategy.java?rev=599022&view=auto
> >
> ==============================================================================
> > ---
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/StorageStrategy.java
> (added)
> > +++
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/StorageStrategy.java
> Wed Nov 28 07:14:17 2007
> > @@ -0,0 +1,6 @@
> > +package org.apache.myfaces.custom.fileupload;
> > +
> > +public abstract class StorageStrategy {
> > +
> > +  public abstract void deleteFileContents();
> > +}
> >
> > Modified:
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/UploadedFile.java
> > URL:
> http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/UploadedFile.java?rev=599022&r1=599021&r2=599022&view=diff
> >
> ==============================================================================
> > ---
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/UploadedFile.java
> (original)
> > +++
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/UploadedFile.java
> Wed Nov 28 07:14:17 2007
> > @@ -50,21 +50,28 @@
> >
> >
> >      /**
> > -     * @return Returns the _contentType.
> > +     * @return Returns the contentType.
> >       */
> >      String getContentType();
> >
> >
> >
> >      /**
> > -     * @return Returns the _name.
> > +     * @return Returns the name.
> >       */
> >      String getName();
> >
> >
> >      /**
> > -     * Answer the size of this file.
> > +     * Returns the size of this file.
> >       * @return long
> >       */
> >      long getSize();
> > +
> > +    /**Allows to get more information/interact more with the file,
> depending
> > +     * on where it is stored
> > +     *
> > +     * @return StorageStrategy the storage strategy of this file,
> > +     */
> > +    StorageStrategy getStorageStrategy();
> >  }
> >
> > Modified:
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/UploadedFileDefaultFileImpl.java
> > URL:
> http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/UploadedFileDefaultFileImpl.java?rev=599022&r1=599021&r2=599022&view=diff
> >
> ==============================================================================
> > ---
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/UploadedFileDefaultFileImpl.java
> (original)
> > +++
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/UploadedFileDefaultFileImpl.java
> Wed Nov 28 07:14:17 2007
> > @@ -18,9 +18,11 @@
> >   */
> >  package org.apache.myfaces.custom.fileupload;
> >
> > +import org.apache.commons.fileupload.DefaultFileItem;
> >  import org.apache.commons.fileupload.FileItem;
> >
> >  import java.io.ByteArrayInputStream;
> > +import java.io.File;
> >  import java.io.IOException;
> >  import java.io.InputStream;
> >
> > @@ -32,20 +34,24 @@
> >  public class UploadedFileDefaultFileImpl extends
> UploadedFileDefaultImplBase
> >  {
> >    private static final long serialVersionUID = -6401426361519246443L;
> > -  private transient FileItem fileItem = null;
> > +  private transient DefaultFileItem fileItem = null;
> > +  private StorageStrategy storageStrategy;
> >
> > -    /*
> > -    TODO/manolito: Do we need an empty constructor?!
> > -    public UploadedFileDefaultFileImpl()
> > -    {
> > -    }
> > -    */
> > -
> > -
> > -    public UploadedFileDefaultFileImpl(FileItem fileItem) throws
> IOException
> > +    public UploadedFileDefaultFileImpl(final FileItem fileItem) throws
> IOException
> >      {
> >          super(fileItem.getName(), fileItem.getContentType());
> > -       this.fileItem = fileItem;
> > +       this.fileItem = (DefaultFileItem) fileItem;
> > +      storageStrategy = new DiskStorageStrategy() {
> > +
> > +        public File getTempFile() {
> > +          return
> UploadedFileDefaultFileImpl.this.fileItem.getStoreLocation();
> > +        }
> > +
> > +        public void deleteFileContents() {
> > +          UploadedFileDefaultFileImpl.this.fileItem.delete();
> > +        }
> > +
> > +      };
> >      }
> >
> >
> > @@ -83,5 +89,10 @@
> >      public long getSize()
> >      {
> >         return fileItem != null ? fileItem.getSize() : 0;
> > +    }
> > +
> > +
> > +    public StorageStrategy getStorageStrategy() {
> > +      return storageStrategy;
> >      }
> >  }
> >
> > Modified:
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/UploadedFileDefaultMemoryImpl.java
> > URL:
> http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/UploadedFileDefaultMemoryImpl.java?rev=599022&r1=599021&r2=599022&view=diff
> >
> ==============================================================================
> > ---
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/UploadedFileDefaultMemoryImpl.java
> (original)
> > +++
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/fileupload/UploadedFileDefaultMemoryImpl.java
> Wed Nov 28 07:14:17 2007
> > @@ -33,22 +33,23 @@
> >  {
> >      private static final long serialVersionUID = -6006333070975059090L;
> >      private byte[] bytes;
> > +    private StorageStrategy storageStrategy;
> >
> >
> > -    public UploadedFileDefaultMemoryImpl(FileItem fileItem) throws
> IOException
> > +    public UploadedFileDefaultMemoryImpl(final FileItem fileItem) throws
> IOException
> >      {
> >          super(fileItem.getName(), fileItem.getContentType());
> >          int sizeInBytes = (int)fileItem.getSize();
> >         bytes = new byte[sizeInBytes];
> >         fileItem.getInputStream().read(bytes);
> > +      this.storageStrategy = new StorageStrategy() {
> >
> > -        /*
> > -        TODO/manolito: what was the reason for this if?
> > -       if (bytes.length != 0) {
> > -               _name = fileItem.getName();
> > -               _contentType = fileItem.getContentType();
> > -       }
> > -        */
> > +        public void deleteFileContents() {
> > +          fileItem.delete();
> > +          bytes = null;
> > +        }
> > +
> > +      };
> >      }
> >
> >
> > @@ -84,4 +85,11 @@
> >                 return 0;
> >         return bytes.length;
> >      }
> > +
> > +
> > +    public StorageStrategy getStorageStrategy() {
> > +      return storageStrategy;
> > +    }
> > +
> > +
> >  }
> >
> > Modified:
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/webapp/filter/MultipartRequestWrapper.java
> > URL:
> http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/webapp/filter/MultipartRequestWrapper.java?rev=599022&r1=599021&r2=599022&view=diff
> >
> ==============================================================================
> > ---
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/webapp/filter/MultipartRequestWrapper.java
> (original)
> > +++
> myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/webapp/filter/MultipartRequestWrapper.java
> Wed Nov 28 07:14:17 2007
> > @@ -85,11 +85,11 @@
> >              requestParameters = fileUpload.parseRequest(request);
> >          } catch (FileUploadBase.SizeLimitExceededException e) {
> >
> > -            // TODO: find a way to notify the user about the fact that
> the uploaded file exceeded size limit
> > -
> > -            if(log.isInfoEnabled())
> > -                log.info("user tried to upload a file that exceeded
> file-size limitations.",e);
> > -
> > +            request.setAttribute(
> > +
> "org.apache.myfaces.custom.fileupload.exception","sizeLimitExceeded");
> > +
> request.setAttribute("org.apache.myfaces.custom.fileupload.maxSize",
> > +                new Integer(maxSize));
> > +
> >              requestParameters = Collections.EMPTY_LIST;
> >
> >          }catch(FileUploadException fue){
> >
> >
> >
>
>
>
> --
> Matthias Wessendorf
>
> further stuff:
> blog: http://matthiaswessendorf.wordpress.com/
> sessions: http://www.slideshare.net/mwessendorf
> mail: matzew-at-apache-dot-org
>


-- 

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces

Mime
View raw message