You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2007/11/29 01:26:46 UTC
svn commit: r599222 - in /tapestry/tapestry5/trunk/tapestry-upload/src:
main/java/org/apache/tapestry/upload/services/MultipartDecoderImpl.java
test/java/org/apache/tapestry/upload/services/MultipartDecoderImplTest.java
Author: hlship
Date: Wed Nov 28 16:26:45 2007
New Revision: 599222
URL: http://svn.apache.org/viewvc?rev=599222&view=rev
Log:
TAPESTRY-1723: tapestry-upload does not use character encoding
Modified:
tapestry/tapestry5/trunk/tapestry-upload/src/main/java/org/apache/tapestry/upload/services/MultipartDecoderImpl.java
tapestry/tapestry5/trunk/tapestry-upload/src/test/java/org/apache/tapestry/upload/services/MultipartDecoderImplTest.java
Modified: tapestry/tapestry5/trunk/tapestry-upload/src/main/java/org/apache/tapestry/upload/services/MultipartDecoderImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-upload/src/main/java/org/apache/tapestry/upload/services/MultipartDecoderImpl.java?rev=599222&r1=599221&r2=599222&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-upload/src/main/java/org/apache/tapestry/upload/services/MultipartDecoderImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-upload/src/main/java/org/apache/tapestry/upload/services/MultipartDecoderImpl.java Wed Nov 28 16:26:45 2007
@@ -24,6 +24,7 @@
import javax.servlet.http.HttpServletRequest;
import java.io.File;
+import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Map;
@@ -110,7 +111,17 @@
{
if (item.isFormField())
{
- wrapper.addParameter(item.getFieldName(), item.getString());
+ String fieldValue;
+ try
+ {
+ fieldValue = item.getString(request.getCharacterEncoding());
+ }
+ catch (UnsupportedEncodingException e)
+ {
+ // TODO maybe log exception with level warn
+ fieldValue = item.getString();
+ }
+ wrapper.addParameter(item.getFieldName(), fieldValue);
}
else
{
Modified: tapestry/tapestry5/trunk/tapestry-upload/src/test/java/org/apache/tapestry/upload/services/MultipartDecoderImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-upload/src/test/java/org/apache/tapestry/upload/services/MultipartDecoderImplTest.java?rev=599222&r1=599221&r2=599222&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-upload/src/test/java/org/apache/tapestry/upload/services/MultipartDecoderImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-upload/src/test/java/org/apache/tapestry/upload/services/MultipartDecoderImplTest.java Wed Nov 28 16:26:45 2007
@@ -74,6 +74,10 @@
public void processFileItemsCreatesWrappedRequestAndSetsNonFileParameters() throws Exception
{
HttpServletRequest request = mockHttpServletRequest();
+
+ train_getCharacterEncoding(request, "UTF-8");
+ train_getCharacterEncoding(request, "UTF-8");
+
MultipartDecoderImpl decoder = new MultipartDecoderImpl("/tmp", 888, -1, -1);
List<FileItem> fileItems = Arrays.asList(createValueItem("one", "first"), createValueItem("two", "second"));
replay();
@@ -169,4 +173,8 @@
return item;
}
+ protected final void train_getCharacterEncoding(HttpServletRequest request, String encoding)
+ {
+ expect(request.getCharacterEncoding()).andReturn(encoding);
+ }
}