01: /*
02: * Created on Apr 1, 2004
03: *
04: * To change the template for this generated file go to
05: * Window>Preferences>Java>Code Generation>Code and Comments
06: */
07: package za.org.coefficient.util.testing;
08:
09: import java.util.Collections;
10: import java.util.Enumeration;
11: import java.util.HashMap;
12: import java.util.Map;
13:
14: import javax.servlet.http.HttpServletRequest;
15:
16: import org.apache.commons.fileupload.FileUploadException;
17:
18: import za.org.coefficient.util.common.BaseMultipartRequest;
19: import za.org.coefficient.util.common.UploadedFile;
20:
21: /**
22: * <p>Project: coefficient</p>
23: * <p>Description: This is an implementation of the BaseMultipartRequest
24: * that is backed by a Map for the file upload data, and another
25: * for the normal request paramter data - this makes it useful
26: * for running unit tests.</p>
27: * <p>Copyright: Copyright (c) 2003</p>
28: * <p>Company: CSIR</p>
29: * @author tfogwill
30: * @version 1.0
31: */
32: public class TestingMultipartRequest extends BaseMultipartRequest {
33:
34: /**
35: * The file "upload" data
36: */
37: Map fileData;
38: /**
39: * The request
40: */
41: HttpServletRequest request;
42:
43: /**
44: * Default constructor
45: * @param request
46: */
47: private TestingMultipartRequest(TestingHttpServletRequest request)
48: throws FileUploadException {
49: //super(request);
50: this .request = request;
51: }
52:
53: /**
54: * Construct the request with a Map of file data
55: * @param fileData A map containg name/UploadedFile entries represeneting "uploaded" files
56: * @param requestParams A map containg name/stringvalue entries represeneting request parameters
57: * @throws FileUploadException
58: */
59: public TestingMultipartRequest(Map fileData, Map requestParams)
60: throws FileUploadException {
61: this (new TestingHttpServletRequest(new HashMap(),
62: requestParams, new HashMap()));
63: this .fileData = fileData;
64: }
65:
66: /**
67: * Returns an uploaded file.
68: * @param name the name of the parameter
69: * @return the file or null if it does not exists
70: */
71: public UploadedFile getFileParameter(String name)
72: throws FileUploadException {
73: return (UploadedFile) fileData.get(name);
74: }
75:
76: public String getParameter(String name) {
77: return request.getParameter(name);
78: }
79:
80: public Map getParameterMap() {
81: return Collections.unmodifiableMap(request.getParameterMap());
82: }
83:
84: public Enumeration getParameterNames() {
85: return request.getParameterNames();
86: }
87:
88: public String[] getParameterValues(String name) {
89: return request.getParameterValues(name);
90: }
91:
92: }
|