webwork/src/main/webwork/multipart MultiPartRequestWrapper.java,1.8,1.9
[email protected] Sat, 27 Dec 2003 15:16:39 -0800
| Newsgroups | gmane.comp.java.open-symphony.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/opensymphony/webwork/src/main/webwork/multipart
In directory sc8-pr-cvs1:/tmp/cvs-serv9364/src/main/webwork/multipart
Modified Files:
MultiPartRequestWrapper.java
Log Message:
Add a new 'internal' value for multipart parser: uses internal classes
Index: MultiPartRequestWrapper.java
===================================================================
RCS file: /cvsroot/opensymphony/webwork/src/main/webwork/multipart/MultiPartRequestWrapper.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- MultiPartRequestWrapper.java 1 Nov 2003 18:29:35 -0000 1.8
+++ MultiPartRequestWrapper.java 27 Dec 2003 23:16:36 -0000 1.9
@@ -1,129 +1,132 @@
-/*
- * WebWork, Web Application Framework
- *
- * Distributable under Apache license.
- * See terms of license at opensource.org
- */
-package webwork.multipart;
-
-import webwork.config.Configuration;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Vector;
-
-import org.apache.commons.logging.LogFactory;
-
-/**
- * <code>MultiPartRequestWrapper</code> will parse a multipart request and
- * provide a wrapper around the request. The parse it uses depends on
- * the "webwork.multipart.parser" setting. The present choices are
- * "pell" for Jason Pell and "cos" for Jason Hunter.
- *
- * @author Matt Baldree
- * $Date$
- * @version $Revision$
- */
-public class MultiPartRequestWrapper extends HttpServletRequestWrapper
-{
- MultiPartRequest multi;
-
- public MultiPartRequestWrapper(HttpServletRequest request, String saveDir, Integer maxSize)
- throws IOException
- {
- super(request);
- if (request instanceof MultiPartRequest) {
- multi = (MultiPartRequest)request;
- } else {
- String parser = Configuration.getString("webwork.multipart.parser");
- if ("cos".equals(parser)) {
- multi = new CosMultiPartRequest(request, saveDir, maxSize.intValue());
- } else
- if ("pell".equals(parser)) {
- multi = new PellMultiPartRequest(request, saveDir, maxSize.intValue());
- } else {
- throw new IOException("Not multipart parse specified in webwork.properties.");
- }
- }
- }
-
- public Enumeration getParameterNames()
- {
- return mergeParams(super.getParameterNames(), multi.getParameterNames());
- }
-
- public String getParameter(String name)
- {
- // Look in the original request first
- String superValue = super.getParameter(name);
- return (superValue != null ? superValue : multi.getParameter(name));
- }
-
- public String[] getParameterValues(String name)
- {
- // Look in the original request first
- String[] superValue = super.getParameterValues(name);
- return (superValue != null ? superValue : multi.getParameterValues(name));
- }
-
- public Map getParameterMap()
- {
- Map map = new HashMap();
- Enumeration enum = getParameterNames();
- while (enum.hasMoreElements()) {
- String name = (String) enum.nextElement();
- map.put(name, this.getParameterValues(name));
- }
- return map;
- }
-
- // Methods only in MultipartRequest
- public Enumeration getFileNames()
- {
- return multi.getFileNames();
- }
-
- public String getFilesystemName(String name)
- {
- return multi.getFilesystemName(name);
- }
-
- public String getContentType(String name)
- {
- return multi.getContentType(name);
- }
-
- public File getFile(String name)
- {
- return multi.getFile(name);
- }
-
- //private
- protected Enumeration mergeParams(Enumeration params1, Enumeration params2) {
- Vector temp = new Vector();
- while(params1.hasMoreElements())
- temp.add(params1.nextElement());
- while(params2.hasMoreElements())
- temp.add(params2.nextElement());
- return temp.elements();
- }
-
- public InputStream getMemoryFileContents(String name) {
- // since this is only implemented for the PellMultiPartRequest
- // check if we have an instance of it if not log an error
- // and return null
- if ( multi instanceof PellMultiPartRequest ){
- return ((PellMultiPartRequest)multi).getMemoryFileContents(name);
- }
- else{
- LogFactory.getLog(MultiPartRequestWrapper.class).error("File uploading using memory is currently implemented only for the PellMultiPartRequest");
- return null;
- }
- }
-}
+/*
+ * WebWork, Web Application Framework
+ *
+ * Distributable under Apache license.
+ * See terms of license at opensource.org
+ */
+package webwork.multipart;
+
+import webwork.config.Configuration;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Vector;
+
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * <code>MultiPartRequestWrapper</code> will parse a multipart request and
+ * provide a wrapper around the request. The parse it uses depends on
+ * the "webwork.multipart.parser" setting. The present choices are
+ * "pell" for Jason Pell and "cos" for Jason Hunter.
+ *
+ * @author Matt Baldree
+ * $Date$
+ * @version $Revision$
+ */
+public class MultiPartRequestWrapper extends HttpServletRequestWrapper
+{
+ MultiPartRequest multi;
+
+ public MultiPartRequestWrapper(HttpServletRequest request, String saveDir, Integer maxSize)
+ throws IOException
+ {
+ super(request);
+ if (request instanceof MultiPartRequest) {
+ multi = (MultiPartRequest)request;
+ } else {
+ String parser = Configuration.getString("webwork.multipart.parser");
+ if ("cos".equals(parser)) {
+ multi = new CosMultiPartRequest(request, saveDir, maxSize.intValue());
+ } else
+ if ("pell".equals(parser)) {
+ multi = new PellMultiPartRequest(request, saveDir, maxSize.intValue());
+ } else
+ if("internal".equals(parser)) {
+ multi = new WebworkMultiPartRequest(request, saveDir, maxSize.intValue());
+ } else {
+ throw new IOException("Not multipart parse specified in webwork.properties.");
+ }
+ }
+ }
+
+ public Enumeration getParameterNames()
+ {
+ return mergeParams(super.getParameterNames(), multi.getParameterNames());
+ }
+
+ public String getParameter(String name)
+ {
+ // Look in the original request first
+ String superValue = super.getParameter(name);
+ return (superValue != null ? superValue : multi.getParameter(name));
+ }
+
+ public String[] getParameterValues(String name)
+ {
+ // Look in the original request first
+ String[] superValue = super.getParameterValues(name);
+ return (superValue != null ? superValue : multi.getParameterValues(name));
+ }
+
+ public Map getParameterMap()
+ {
+ Map map = new HashMap();
+ Enumeration enum = getParameterNames();
+ while (enum.hasMoreElements()) {
+ String name = (String) enum.nextElement();
+ map.put(name, this.getParameterValues(name));
+ }
+ return map;
+ }
+
+ // Methods only in MultipartRequest
+ public Enumeration getFileNames()
+ {
+ return multi.getFileNames();
+ }
+
+ public String getFilesystemName(String name)
+ {
+ return multi.getFilesystemName(name);
+ }
+
+ public String getContentType(String name)
+ {
+ return multi.getContentType(name);
+ }
+
+ public File getFile(String name)
+ {
+ return multi.getFile(name);
+ }
+
+ //private
+ protected Enumeration mergeParams(Enumeration params1, Enumeration params2) {
+ Vector temp = new Vector();
+ while(params1.hasMoreElements())
+ temp.add(params1.nextElement());
+ while(params2.hasMoreElements())
+ temp.add(params2.nextElement());
+ return temp.elements();
+ }
+
+ public InputStream getMemoryFileContents(String name) {
+ // since this is only implemented for the PellMultiPartRequest
+ // check if we have an instance of it if not log an error
+ // and return null
+ if ( multi instanceof PellMultiPartRequest ){
+ return ((PellMultiPartRequest)multi).getMemoryFileContents(name);
+ }
+ else{
+ LogFactory.getLog(MultiPartRequestWrapper.class).error("File uploading using memory is currently implemented only for the PellMultiPartRequest");
+ return null;
+ }
+ }
+}
-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills. Sign up for IBM's
Free Linux Tutorials. Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click