org.apache.struts.upload
Class CommonsMultipartRequestHandler
java.lang.Object
org.apache.struts.upload.CommonsMultipartRequestHandler
- MultipartRequestHandler
public class CommonsMultipartRequestHandler
extends java.lang.Object
This class implements the MultipartRequestHandler
interface
by providing a wrapper around the Jakarta Commons FileUpload library.
$Rev: 54929 $ $Date: 2004-10-16 17:38:42 +0100 (Sat, 16 Oct 2004) $
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.
|
private Hashtable | elementsAll - The combined text and file request parameters.
|
private Hashtable | elementsFile - The file request parameters.
|
private Hashtable | elementsText - The text request parameters.
|
protected static Log | log - Commons Logging instance.
|
private ActionMapping | mapping - The action mapping with which this handler is associated.
|
private ActionServlet | servlet - The servlet with which this handler is associated.
|
protected void | addFileParameter(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(HttpServletRequest request, 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(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.
|
Hashtable | getAllElements() - Returns a hash table containing both text and file request parameters.
|
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 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.
|
Hashtable | getTextElements() - Returns a hash table containing the text (that is, non-file) request
parameters.
|
void | handleRequest(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.
|
DEFAULT_SIZE_MAX
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.
DEFAULT_SIZE_THRESHOLD
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.
elementsAll
private Hashtable elementsAll
The combined text and file request parameters.
elementsFile
private Hashtable elementsFile
The file request parameters.
elementsText
private Hashtable elementsText
The text request parameters.
log
protected static Log log
Commons Logging instance.
mapping
private ActionMapping mapping
The action mapping with which this handler is associated.
servlet
private ActionServlet servlet
The servlet with which this handler is associated.
addFileParameter
protected void addFileParameter(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.
addTextParameter
protected void addTextParameter(HttpServletRequest request,
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.
convertSizeToBytes
protected long convertSizeToBytes(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.
- The actual size in bytes.
getAllElements
public Hashtable getAllElements()
Returns a hash table containing both text and file request parameters.
- getAllElements in interface MultipartRequestHandler
- The text and file request parameters.
getFileElements
public Hashtable getFileElements()
Returns a hash table containing the file (that is, non-text) request
parameters.
- getFileElements in interface MultipartRequestHandler
- The file request parameters.
getRepositoryPath
protected 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.
- A temp dir explicitly defined either using the
tempDir
servlet init param, or the tempDir
attribute of the
<controller> element in the Struts config file. - The container-specified temp dir, obtained from the
javax.servlet.context.tempdir
servlet context
attribute. - The temp dir specified by the
java.io.tmpdir
system
property.
mc
- The module config instance for which the path should be
determined.
- The path to the directory to be used to store uploaded files.
getSizeMax
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.
- The maximum allowable file size, in bytes.
getSizeThreshold
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.
- The size threshold, in bytes.
getTextElements
public Hashtable getTextElements()
Returns a hash table containing the text (that is, non-file) request
parameters.
- getTextElements in interface MultipartRequestHandler
- The text request parameters.
handleRequest
public void handleRequest(HttpServletRequest request)
throws 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.
Copyright B) 2000-2007 - The Apache Software Foundation