Class MultipartServletWebRequestImpl
- java.lang.Object
-
- org.apache.wicket.request.Request
-
- org.apache.wicket.request.http.WebRequest
-
- org.apache.wicket.protocol.http.servlet.ServletWebRequest
-
- org.apache.wicket.protocol.http.servlet.MultipartServletWebRequest
-
- org.apache.wicket.protocol.http.servlet.MultipartServletWebRequestImpl
-
- All Implemented Interfaces:
IMultipartWebRequest
public class MultipartServletWebRequestImpl extends MultipartServletWebRequest
Servlet specific WebRequest subclass for multipart content uploads.- Author:
- Jonathan Locke, Eelco Hillenius, Cameron Braid, Ate Douma, Igor Vaynberg (ivaynberg)
-
-
Constructor Summary
Constructors Constructor Description MultipartServletWebRequestImpl(javax.servlet.http.HttpServletRequest request, java.lang.String filterPrefix, org.apache.wicket.util.lang.Bytes maxSize, java.lang.String upload)Constructor.MultipartServletWebRequestImpl(javax.servlet.http.HttpServletRequest request, java.lang.String filterPrefix, org.apache.wicket.util.lang.Bytes maxSize, java.lang.String upload, org.apache.commons.fileupload.FileItemFactory factory)Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidclearUploadInfo(javax.servlet.http.HttpServletRequest req, java.lang.String upload)Clears theUploadInfoobject from session if one exists.protected java.util.Map<java.lang.String,java.util.List<org.apache.wicket.util.string.StringValue>>generatePostParameters()java.util.List<org.apache.commons.fileupload.FileItem>getFile(java.lang.String fieldName)Gets the file that was uploaded using the given field name.java.util.Map<java.lang.String,java.util.List<org.apache.commons.fileupload.FileItem>>getFiles()static UploadInfogetUploadInfo(javax.servlet.http.HttpServletRequest req, java.lang.String upload)RetrievesUploadInfofrom session, null if not found.protected org.apache.commons.fileupload.FileUploadBasenewFileUpload(java.lang.String encoding)Factory method for creating new instances of FileUploadBaseMultipartServletWebRequestnewMultipartWebRequest(org.apache.wicket.util.lang.Bytes maxSize, java.lang.String upload)Creates multipart web request from this request.MultipartServletWebRequestnewMultipartWebRequest(org.apache.wicket.util.lang.Bytes maxSize, java.lang.String upload, org.apache.commons.fileupload.FileItemFactory factory)Creates multipart web request from this request.protected voidonUploadCompleted()Upload completed callbackprotected voidonUploadStarted(int totalBytes)Upload start callbackprotected voidonUploadUpdate(int bytesUploaded, int total)Upload status update callbackvoidparseFileParts()Parses the multipart body of the request.static voidsetUploadInfo(javax.servlet.http.HttpServletRequest req, java.lang.String upload, UploadInfo uploadInfo)Sets theUploadInfoobject into session.protected booleanwantUploadProgressUpdates()Subclasses that want to receive upload notifications should return true.-
Methods inherited from class org.apache.wicket.protocol.http.servlet.MultipartServletWebRequest
cloneWithUrl, getFileMaxSize, getMaxSize, setFileMaxSize, setMaxSize
-
Methods inherited from class org.apache.wicket.protocol.http.servlet.ServletWebRequest
getCharset, getClientUrl, getContainerRequest, getContextPath, getCookies, getDateHeader, getFilterPath, getFilterPrefix, getHeader, getHeaders, getLocale, getPostParameters, getPrefixToContextPath, getUrl, shouldPreserveClientUrl
-
Methods inherited from class org.apache.wicket.request.http.WebRequest
getCookie, getIfModifiedSinceHeader, isAjax
-
-
-
-
Constructor Detail
-
MultipartServletWebRequestImpl
public MultipartServletWebRequestImpl(javax.servlet.http.HttpServletRequest request, java.lang.String filterPrefix, org.apache.wicket.util.lang.Bytes maxSize, java.lang.String upload) throws org.apache.commons.fileupload.FileUploadExceptionConstructor. This constructor will useDiskFileItemFactoryto store uploads.- Parameters:
request- the servlet requestfilterPrefix- prefix to wicket filter mappingmaxSize- the maximum size allowed for this requestupload- upload identifier forUploadInfo- Throws:
org.apache.commons.fileupload.FileUploadException- Thrown if something goes wrong with upload
-
MultipartServletWebRequestImpl
public MultipartServletWebRequestImpl(javax.servlet.http.HttpServletRequest request, java.lang.String filterPrefix, org.apache.wicket.util.lang.Bytes maxSize, java.lang.String upload, org.apache.commons.fileupload.FileItemFactory factory) throws org.apache.commons.fileupload.FileUploadExceptionConstructor- Parameters:
request- the servlet requestfilterPrefix- prefix to wicket filter mappingmaxSize- the maximum size allowed for this requestupload- upload identifier forUploadInfofactory-DiskFileItemFactoryto use when creating file items used to represent uploaded files- Throws:
org.apache.commons.fileupload.FileUploadException- Thrown if something goes wrong with upload
-
-
Method Detail
-
parseFileParts
public void parseFileParts() throws org.apache.commons.fileupload.FileUploadExceptionDescription copied from class:MultipartServletWebRequestParses the multipart body of the request.- Specified by:
parseFilePartsin classMultipartServletWebRequest- Throws:
org.apache.commons.fileupload.FileUploadException
-
newFileUpload
protected org.apache.commons.fileupload.FileUploadBase newFileUpload(java.lang.String encoding)
Factory method for creating new instances of FileUploadBase- Parameters:
encoding- The encoding to use while reading the data- Returns:
- A new instance of FileUploadBase
-
getFiles
public java.util.Map<java.lang.String,java.util.List<org.apache.commons.fileupload.FileItem>> getFiles()
- Returns:
- Returns the files.
-
getFile
public java.util.List<org.apache.commons.fileupload.FileItem> getFile(java.lang.String fieldName)
Gets the file that was uploaded using the given field name.- Parameters:
fieldName- the field name that was used for the upload- Returns:
- the upload with the given field name
-
generatePostParameters
protected java.util.Map<java.lang.String,java.util.List<org.apache.wicket.util.string.StringValue>> generatePostParameters()
- Overrides:
generatePostParametersin classServletWebRequest
-
wantUploadProgressUpdates
protected boolean wantUploadProgressUpdates()
Subclasses that want to receive upload notifications should return true. By default it takes the value fromApplicationSettings.isUploadProgressUpdatesEnabled().- Returns:
- true if upload status update event should be invoked
-
onUploadStarted
protected void onUploadStarted(int totalBytes)
Upload start callback- Parameters:
totalBytes-
-
onUploadUpdate
protected void onUploadUpdate(int bytesUploaded, int total)Upload status update callback- Parameters:
bytesUploaded-total-
-
onUploadCompleted
protected void onUploadCompleted()
Upload completed callback
-
newMultipartWebRequest
public MultipartServletWebRequest newMultipartWebRequest(org.apache.wicket.util.lang.Bytes maxSize, java.lang.String upload) throws org.apache.commons.fileupload.FileUploadException
Description copied from class:ServletWebRequestCreates multipart web request from this request.- Overrides:
newMultipartWebRequestin classServletWebRequest- Parameters:
maxSize- max allowed size of requestupload- upload identifier forUploadInfo- Returns:
- multipart request
- Throws:
org.apache.commons.fileupload.FileUploadException
-
newMultipartWebRequest
public MultipartServletWebRequest newMultipartWebRequest(org.apache.wicket.util.lang.Bytes maxSize, java.lang.String upload, org.apache.commons.fileupload.FileItemFactory factory) throws org.apache.commons.fileupload.FileUploadException
Description copied from class:ServletWebRequestCreates multipart web request from this request.- Overrides:
newMultipartWebRequestin classServletWebRequest- Parameters:
maxSize- max allowed size of requestupload- upload identifier forUploadInfo- Returns:
- multipart request
- Throws:
org.apache.commons.fileupload.FileUploadException
-
getUploadInfo
public static UploadInfo getUploadInfo(javax.servlet.http.HttpServletRequest req, java.lang.String upload)
RetrievesUploadInfofrom session, null if not found.- Parameters:
req- http servlet request, not nullupload- upload identifier- Returns:
UploadInfoobject from session, or null if not found
-
setUploadInfo
public static void setUploadInfo(javax.servlet.http.HttpServletRequest req, java.lang.String upload, UploadInfo uploadInfo)Sets theUploadInfoobject into session.- Parameters:
req- http servlet request, not nullupload- upload identifieruploadInfo-UploadInfoobject to be put into session, not null
-
clearUploadInfo
public static void clearUploadInfo(javax.servlet.http.HttpServletRequest req, java.lang.String upload)Clears theUploadInfoobject from session if one exists.- Parameters:
req- http servlet request, not nullupload- upload identifier
-
-