|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.struts.upload.CommonsMultipartRequestHandler
public class CommonsMultipartRequestHandler
This class implements the MultipartRequestHandler
interface by providing a wrapper around the Jakarta Commons FileUpload
library.
Field Summary | |
---|---|
static long |
DEFAULT_SIZE_MAX
The default value for the maximum allowable size, in bytes, of an uploaded file. |
static int |
DEFAULT_SIZE_THRESHOLD
The default value for the threshold which determines whether an uploaded file will be written to disk or cached in memory. |
protected static org.apache.commons.logging.Log |
log
Commons Logging instance. |
Fields inherited from interface org.apache.struts.upload.MultipartRequestHandler |
---|
ATTRIBUTE_MAX_LENGTH_EXCEEDED |
Constructor Summary | |
---|---|
CommonsMultipartRequestHandler()
|
Method Summary | |
---|---|
protected void |
addFileParameter(org.apache.commons.fileupload.FileItem item)
Adds a file parameter to the set of file parameters for this request and also to the list of all parameters. |
protected void |
addTextParameter(javax.servlet.http.HttpServletRequest request,
org.apache.commons.fileupload.FileItem item)
Adds a regular text parameter to the set of text parameters for this request and also to the list of all parameters. |
protected long |
convertSizeToBytes(java.lang.String sizeString,
long defaultSize)
Converts a size value from a string representation to its numeric value. |
void |
finish()
Cleans up at the end of a request. |
java.util.Hashtable |
getAllElements()
Returns a hash table containing both text and file request parameters. |
java.util.Hashtable |
getFileElements()
Returns a hash table containing the file (that is, non-text) request parameters. |
ActionMapping |
getMapping()
Retrieves the action mapping with which this handler is associated. |
protected java.lang.String |
getRepositoryPath(ModuleConfig mc)
Returns the path to the temporary directory to be used for uploaded files which are written to disk. |
ActionServlet |
getServlet()
Retrieves the servlet with which this handler is associated. |
protected long |
getSizeMax(ModuleConfig mc)
Returns the maximum allowable size, in bytes, of an uploaded file. |
protected long |
getSizeThreshold(ModuleConfig mc)
Returns the size threshold which determines whether an uploaded file will be written to disk or cached in memory. |
java.util.Hashtable |
getTextElements()
Returns a hash table containing the text (that is, non-file) request parameters. |
void |
handleRequest(javax.servlet.http.HttpServletRequest request)
Parses the input stream and partitions the parsed items into a set of form fields and a set of file items. |
void |
rollback()
Cleans up when a problem occurs during request processing. |
void |
setMapping(ActionMapping mapping)
Sets the action mapping with which this handler is associated. |
void |
setServlet(ActionServlet servlet)
Sets the servlet with which this handler is associated. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final long DEFAULT_SIZE_MAX
The default value for the maximum allowable size, in bytes, of an uploaded file. The value is equivalent to 250MB.
public static final int DEFAULT_SIZE_THRESHOLD
The default value for the threshold which determines whether an uploaded file will be written to disk or cached in memory. The value is equivalent to 250KB.
protected static org.apache.commons.logging.Log log
Commons Logging instance.
Constructor Detail |
---|
public CommonsMultipartRequestHandler()
Method Detail |
---|
public ActionServlet getServlet()
Retrieves the servlet with which this handler is associated.
getServlet
in interface MultipartRequestHandler
public void setServlet(ActionServlet servlet)
Sets the servlet with which this handler is associated.
setServlet
in interface MultipartRequestHandler
servlet
- The associated servlet.public ActionMapping getMapping()
Retrieves the action mapping with which this handler is associated.
getMapping
in interface MultipartRequestHandler
public void setMapping(ActionMapping mapping)
Sets the action mapping with which this handler is associated.
setMapping
in interface MultipartRequestHandler
mapping
- The associated action mapping.public void handleRequest(javax.servlet.http.HttpServletRequest request) throws javax.servlet.ServletException
Parses the input stream and partitions the parsed items into a set
of form fields and a set of file items. In the process, the parsed
items are translated from Commons FileUpload FileItem
instances to Struts FormFile
instances.
handleRequest
in interface MultipartRequestHandler
request
- The multipart request to be processed.
javax.servlet.ServletException
- if an unrecoverable error occurs.public java.util.Hashtable getTextElements()
Returns a hash table containing the text (that is, non-file) request parameters.
getTextElements
in interface MultipartRequestHandler
public java.util.Hashtable getFileElements()
Returns a hash table containing the file (that is, non-text) request parameters.
getFileElements
in interface MultipartRequestHandler
FormFile
public java.util.Hashtable getAllElements()
Returns a hash table containing both text and file request parameters.
getAllElements
in interface MultipartRequestHandler
public void rollback()
Cleans up when a problem occurs during request processing.
rollback
in interface MultipartRequestHandler
public void finish()
Cleans up at the end of a request.
finish
in interface MultipartRequestHandler
protected long getSizeMax(ModuleConfig mc)
Returns the maximum allowable size, in bytes, of an uploaded file. The value is obtained from the current module's controller configuration.
mc
- The current module's configuration.
protected long getSizeThreshold(ModuleConfig mc)
Returns the size threshold which determines whether an uploaded file will be written to disk or cached in memory.
mc
- The current module's configuration.
protected long convertSizeToBytes(java.lang.String sizeString, long defaultSize)
Converts a size value from a string representation to its numeric value. The string must be of the form nnnm, where nnn is an arbitrary decimal value, and m is a multiplier. The multiplier must be one of 'K', 'M' and 'G', representing kilobytes, megabytes and gigabytes respectively.
If the size value cannot be converted, for example due to invalid syntax, the supplied default is returned instead.
sizeString
- The string representation of the size to be
converted.defaultSize
- The value to be returned if the string is invalid.
protected java.lang.String getRepositoryPath(ModuleConfig mc)
Returns the path to the temporary directory to be used for uploaded files which are written to disk. The directory used is determined from the first of the following to be non-empty.
tempDir
servlet init
param, or the tempDir
attribute of the <controller>
element in the Struts config file.javax.servlet.context.tempdir
servlet context attribute.java.io.tmpdir
system property.
mc
- The module config instance for which the path should be
determined.
protected void addTextParameter(javax.servlet.http.HttpServletRequest request, org.apache.commons.fileupload.FileItem item)
Adds a regular text parameter to the set of text parameters for this request and also to the list of all parameters. Handles the case of multiple values for the same parameter by using an array for the parameter value.
request
- The request in which the parameter was specified.item
- The file item for the parameter to add.protected void addFileParameter(org.apache.commons.fileupload.FileItem item)
Adds a file parameter to the set of file parameters for this request and also to the list of all parameters.
item
- The file item for the parameter to add.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |