You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pe...@apache.org on 2012/05/08 00:27:25 UTC
git commit: WICKET-4457 setTextEncoding on
JavascriptResourceReferences/CssResourceReferences
Updated Branches:
refs/heads/wicket-1.5.x 7735422f7 -> 9b329e002
WICKET-4457 setTextEncoding on JavascriptResourceReferences/CssResourceReferences
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/9b329e00
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/9b329e00
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/9b329e00
Branch: refs/heads/wicket-1.5.x
Commit: 9b329e0027a45e22160bb9d335dd72eae8821505
Parents: 7735422
Author: Peter Ertl <pe...@apache.org>
Authored: Tue May 8 00:24:27 2012 +0200
Committer: Peter Ertl <pe...@apache.org>
Committed: Tue May 8 00:26:43 2012 +0200
----------------------------------------------------------------------
.../wicket/request/resource/AbstractResource.java | 12 ++----
.../wicket/request/resource/PackageResource.java | 31 ++++++++++++++-
2 files changed, 34 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/9b329e00/wicket-core/src/main/java/org/apache/wicket/request/resource/AbstractResource.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/request/resource/AbstractResource.java b/wicket-core/src/main/java/org/apache/wicket/request/resource/AbstractResource.java
index 79e4d9f..9fdf1f1 100644
--- a/wicket-core/src/main/java/org/apache/wicket/request/resource/AbstractResource.java
+++ b/wicket-core/src/main/java/org/apache/wicket/request/resource/AbstractResource.java
@@ -225,8 +225,8 @@ public abstract class AbstractResource implements IResource
}
/**
- * Sets the text encoding for the resource. The encoding is only used if the content type
- * indicates a textual resource.
+ * Sets the text encoding for the resource. This setting must only used
+ * if the resource response represents text.
*
* @param textEncoding
* character encoding of text body
@@ -554,12 +554,6 @@ public abstract class AbstractResource implements IResource
String fileName = data.getFileName();
ContentDisposition disposition = data.getContentDisposition();
String mimeType = data.getContentType();
- String encoding = null;
-
- if (mimeType != null && mimeType.contains("text"))
- {
- encoding = data.getTextEncoding();
- }
long contentLength = data.getContentLength();
@@ -576,6 +570,8 @@ public abstract class AbstractResource implements IResource
// 4. Mime Type (+ encoding)
if (mimeType != null)
{
+ final String encoding = data.getTextEncoding();
+
if (encoding == null)
{
webResponse.setContentType(mimeType);
http://git-wip-us.apache.org/repos/asf/wicket/blob/9b329e00/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResource.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResource.java b/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResource.java
index 4237a27..ba6d03e 100644
--- a/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResource.java
+++ b/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResource.java
@@ -116,6 +116,11 @@ public class PackageResource extends AbstractResource implements IStaticCacheabl
*/
private final String variation;
+ /**
+ * text encoding (may be null) - only makes sense for character-based resources
+ */
+
+ private String textEncoding = null;
/**
* Hidden constructor.
@@ -149,7 +154,7 @@ public class PackageResource extends AbstractResource implements IStaticCacheabl
path = name;
}
- scopeName = scope.getName();
+ this.scopeName = scope.getName();
this.locale = locale;
this.style = style;
this.variation = variation;
@@ -165,6 +170,27 @@ public class PackageResource extends AbstractResource implements IStaticCacheabl
return style != null ? style : Session.get().getStyle();
}
+ /**
+ * get text encoding (intented for character-based resources)
+
+ * @return custom encoding or {@code null} to use default
+ */
+ public String getTextEncoding()
+ {
+ return textEncoding;
+ }
+
+ /**
+ * set text encoding (intented for character-based resources)
+ *
+ * @param textEncoding
+ * custom encoding or {@code null} to use default
+ */
+ public void setTextEncoding(final String textEncoding)
+ {
+ this.textEncoding = textEncoding;
+ }
+
public Serializable getCacheKey()
{
IResourceStream stream = getCacheableResourceStream();
@@ -237,6 +263,9 @@ public class PackageResource extends AbstractResource implements IStaticCacheabl
// set Content-Type (may be null)
resourceResponse.setContentType(contentType);
+ // set content encoding (may be null)
+ resourceResponse.setTextEncoding(getTextEncoding());
+
try
{
// read resource data