org.jasig.springframework.web.portlet.upload
Class CommonsPortlet2MultipartResolver

java.lang.Object
  extended by org.springframework.web.multipart.commons.CommonsFileUploadSupport
      extended by org.springframework.web.portlet.multipart.CommonsPortletMultipartResolver
          extended by org.jasig.springframework.web.portlet.upload.CommonsPortlet2MultipartResolver
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.web.portlet.context.PortletContextAware, org.springframework.web.portlet.multipart.PortletMultipartResolver

public class CommonsPortlet2MultipartResolver
extends org.springframework.web.portlet.multipart.CommonsPortletMultipartResolver

Since DispatcherPortlet does not permit multipart request resolving in a resource request phase and tinkering DispatcherPortlet is a fragile task, typical usage of this resolver should look like this:

  1. Define it in web application context:
       <bean id="portletMultipartResolver" class="org.springframework.web.multipart.commons.CommonsPortlet2MultipartResolver">
         <property name="maxUploadSize" value="5242880"/>
       </bean>
  2. Autowire multipart resolver instance in a portlet controller:
     @Autowired 
     private CommonsPortlet2MultipartResolver multipartResolver;
     
  3. Use it:
     if (this.multipartResolver.isMultipart(request)) {
        MultipartRequest multipartRequest = (MultipartRequest) this.multipartResolver.resolveMultipart(request);
        //... do something with multipart request
     }
     

Author:
Arvīds Grabovskis

Nested Class Summary
 
Nested classes/interfaces inherited from class org.springframework.web.multipart.commons.CommonsFileUploadSupport
org.springframework.web.multipart.commons.CommonsFileUploadSupport.MultipartParsingResult
 
Field Summary
 
Fields inherited from class org.springframework.web.multipart.commons.CommonsFileUploadSupport
logger
 
Constructor Summary
CommonsPortlet2MultipartResolver()
           
 
Method Summary
 void cleanupMultipart(MultipartResourceRequest request)
           
protected  String determineEncoding(javax.portlet.ResourceRequest request)
           
 boolean isMultipart(javax.portlet.ResourceRequest request)
           
protected  org.apache.commons.fileupload.FileUpload newFileUpload(org.apache.commons.fileupload.FileItemFactory fileItemFactory)
           
protected  org.springframework.web.multipart.commons.CommonsFileUploadSupport.MultipartParsingResult parseRequest(javax.portlet.ResourceRequest request)
           
 MultipartResourceRequest resolveMultipart(javax.portlet.ResourceRequest request)
           
 void setResolveLazily(boolean resolveLazily)
           
 
Methods inherited from class org.springframework.web.portlet.multipart.CommonsPortletMultipartResolver
cleanupMultipart, determineEncoding, isMultipart, parseRequest, resolveMultipart, setPortletContext
 
Methods inherited from class org.springframework.web.multipart.commons.CommonsFileUploadSupport
cleanupFileItems, getDefaultEncoding, getFileItemFactory, getFileUpload, isUploadTempDirSpecified, newFileItemFactory, parseFileItems, prepareFileUpload, setDefaultEncoding, setMaxInMemorySize, setMaxUploadSize, setUploadTempDir
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CommonsPortlet2MultipartResolver

public CommonsPortlet2MultipartResolver()
Method Detail

setResolveLazily

public void setResolveLazily(boolean resolveLazily)
Overrides:
setResolveLazily in class org.springframework.web.portlet.multipart.CommonsPortletMultipartResolver

isMultipart

public boolean isMultipart(javax.portlet.ResourceRequest request)

resolveMultipart

public MultipartResourceRequest resolveMultipart(javax.portlet.ResourceRequest request)
                                          throws org.springframework.web.multipart.MultipartException
Throws:
org.springframework.web.multipart.MultipartException

parseRequest

protected org.springframework.web.multipart.commons.CommonsFileUploadSupport.MultipartParsingResult parseRequest(javax.portlet.ResourceRequest request)
                                                                                                          throws org.springframework.web.multipart.MultipartException
Throws:
org.springframework.web.multipart.MultipartException

determineEncoding

protected String determineEncoding(javax.portlet.ResourceRequest request)

cleanupMultipart

public void cleanupMultipart(MultipartResourceRequest request)

newFileUpload

protected org.apache.commons.fileupload.FileUpload newFileUpload(org.apache.commons.fileupload.FileItemFactory fileItemFactory)
Overrides:
newFileUpload in class org.springframework.web.portlet.multipart.CommonsPortletMultipartResolver


Copyright © 2013 Jasig. All Rights Reserved.