You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wink.apache.org by bl...@apache.org on 2009/10/01 04:57:22 UTC
svn commit: r820513 -
/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/StringProvider.java
Author: bluk
Date: Thu Oct 1 02:57:21 2009
New Revision: 820513
URL: http://svn.apache.org/viewvc?rev=820513&view=rev
Log:
Fix StringProvider getSize when different charset
String provider returning wrong length when
a particular character set is used.
Modified:
incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/StringProvider.java
Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/StringProvider.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/StringProvider.java?rev=820513&r1=820512&r2=820513&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/StringProvider.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/StringProvider.java Thu Oct 1 02:57:21 2009
@@ -22,6 +22,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
@@ -67,6 +68,15 @@
Type genericType,
Annotation[] annotations,
MediaType mediaType) {
+ String charSet = ProviderUtils.getCharset(mediaType);
+ if (charSet != null && !"UTF-8".equals(charSet)) {
+ try {
+ return t.getBytes(charSet).length;
+ } catch (UnsupportedEncodingException e) {
+ logger.debug("Unsupported character encoding exception: {}", e);
+ throw new WebApplicationException(e, 500);
+ }
+ }
return t.length();
}