You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by ni...@apache.org on 2008/12/16 22:53:05 UTC
svn commit: r727179 - in /struts/struts1/branches/STRUTS_1_3_BRANCH:
apps/examples/src/main/java/org/apache/struts/webapp/upload/
apps/examples/src/main/webapp/ apps/examples/src/main/webapp/WEB-INF/upload/
apps/examples/src/main/webapp/upload/ core/sr...
Author: niallp
Date: Tue Dec 16 13:53:05 2008
New Revision: 727179
URL: http://svn.apache.org/viewvc?rev=727179&view=rev
Log:
Fix (and test) for STR-3173 NullPointerException in org.apache.struts.util.RequestUtils.rationalizeMultipleFileProperty - reported by Xavier Poinsard
Added:
struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/upload/upload2.jsp (contents, props changed)
- copied, changed from r727129, struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/upload/upload.jsp
Modified:
struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/java/org/apache/struts/webapp/upload/UploadAction.java
struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/WEB-INF/upload/struts-config.xml
struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/welcome.jsp
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/util/RequestUtils.java
Modified: struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/java/org/apache/struts/webapp/upload/UploadAction.java
URL: http://svn.apache.org/viewvc/struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/java/org/apache/struts/webapp/upload/UploadAction.java?rev=727179&r1=727178&r2=727179&view=diff
==============================================================================
--- struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/java/org/apache/struts/webapp/upload/UploadAction.java (original)
+++ struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/java/org/apache/struts/webapp/upload/UploadAction.java Tue Dec 16 13:53:05 2008
@@ -79,6 +79,11 @@
//retrieve the file representation
FormFile file = theForm.getTheFile();
+ // Following is to test fix for STR-3173
+ if (file == null) {
+ file = (FormFile)form.getMultipartRequestHandler().getFileElements().get("otherFile");
+ }
+
//retrieve the file name
String fileName= file.getFileName();
Modified: struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/WEB-INF/upload/struts-config.xml
URL: http://svn.apache.org/viewvc/struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/WEB-INF/upload/struts-config.xml?rev=727179&r1=727178&r2=727179&view=diff
==============================================================================
--- struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/WEB-INF/upload/struts-config.xml (original)
+++ struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/WEB-INF/upload/struts-config.xml Tue Dec 16 13:53:05 2008
@@ -38,6 +38,20 @@
<forward name="display" path="/display.jsp"/>
</action>
+
+ <!-- Upload Actions to test Bug# STR-3173 -->
+ <action path="/upload2" forward="/upload2.jsp"/>
+
+ <action path="/upload-submit2"
+ type="org.apache.struts.webapp.upload.UploadAction"
+ name="uploadForm"
+ scope="request"
+ validate="true"
+ input="input">
+ <forward name="input" path="/upload2.jsp"/>
+ <forward name="display" path="/display.jsp"/>
+ </action>
+
</action-mappings>
<!-- This is where you set the maximum file size for your file uploads.
Copied: struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/upload/upload2.jsp (from r727129, struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/upload/upload.jsp)
URL: http://svn.apache.org/viewvc/struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/upload/upload2.jsp?p2=struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/upload/upload2.jsp&p1=struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/upload/upload.jsp&r1=727129&r2=727179&rev=727179&view=diff
==============================================================================
--- struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/upload/upload.jsp (original)
+++ struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/upload/upload2.jsp Tue Dec 16 13:53:05 2008
@@ -23,6 +23,7 @@
<title>File Upload Example</title>
</head>
<body>
+<h2>Test for STRUTS-3173</h2>
<logic:messagesPresent>
<ul>
<html:messages id="error">
@@ -35,11 +36,11 @@
The most important part is to declare your form's enctype to be "multipart/form-data",
and to have a form:file element that maps to your ActionForm's FormFile property
-->
- <html:form action="upload-submit.do?queryParam=Successful" enctype="multipart/form-data">
+ <html:form action="upload-submit2.do?queryParam=Successful" enctype="multipart/form-data">
<p>Please enter some text, just to demonstrate the handling of text elements as opposed to file elements: <br />
<html:text property="theText" errorStyle="background-color: yellow"/></p>
<p>Please select the file that you would like to upload: <br />
- <html:file property="theFile" errorStyle="background-color: yellow" /></p>
+ <input type="file" name="otherFile" /></p>
<p>If you would rather write this file to another file, please check here: <br />
<html:checkbox property="writeFile" /></p>
<p>If you checked the box to write to a file, please specify the file path here: <br />
Propchange: struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/upload/upload2.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/upload/upload2.jsp
------------------------------------------------------------------------------
svn:keywords = author date id
Propchange: struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/upload/upload2.jsp
------------------------------------------------------------------------------
svn:mergeinfo =
Modified: struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/welcome.jsp
URL: http://svn.apache.org/viewvc/struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/welcome.jsp?rev=727179&r1=727178&r2=727179&view=diff
==============================================================================
--- struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/welcome.jsp (original)
+++ struts/struts1/branches/STRUTS_1_3_BRANCH/apps/examples/src/main/webapp/welcome.jsp Tue Dec 16 13:53:05 2008
@@ -37,6 +37,7 @@
<li><html:link module="/exercise" action="/welcome">Taglib Test Pages</html:link></li>
<li><html:link module="/upload" action="/upload">Upload examples</html:link></li>
+ <li><html:link module="/upload" action="/upload2">Upload Test for STR-3173</html:link></li>
<li><html:link module="/validator" action="/welcome">Validator and Localization examples</html:link></li>
Modified: struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/util/RequestUtils.java
URL: http://svn.apache.org/viewvc/struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/util/RequestUtils.java?rev=727179&r1=727178&r2=727179&view=diff
==============================================================================
--- struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/util/RequestUtils.java (original)
+++ struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/util/RequestUtils.java Tue Dec 16 13:53:05 2008
@@ -503,6 +503,10 @@
try {
Class propertyType = PropertyUtils.getPropertyType(bean, name);
+ if (propertyType == null) {
+ return parameterValue;
+ }
+
if (List.class.isAssignableFrom(propertyType)) {
ArrayList list = new ArrayList(1);
list.add(formFileValue);