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