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 <p...@apache.org>
Authored: Tue May 8 00:24:27 2012 +0200
Committer: Peter Ertl <p...@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

Reply via email to