Author: pete
Date: Fri May  6 15:07:06 2011
New Revision: 1100248

URL: http://svn.apache.org/viewvc?rev=1100248&view=rev
Log:
use specialized resource types for css and javascript when mapping package 
resources

Modified:
    
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResourceReference.java
    
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/ResourceReference.java

Modified: 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResourceReference.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResourceReference.java?rev=1100248&r1=1100247&r2=1100248&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResourceReference.java
 (original)
+++ 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResourceReference.java
 Fri May  6 15:07:06 2011
@@ -34,6 +34,9 @@ public class PackageResourceReference ex
 {
        private static final long serialVersionUID = 1L;
 
+       private static final String CSS_EXTENSION = "css";
+       private static final String JAVASCRIPT_EXTENSION = "js";
+
        private transient ConcurrentMap<UrlAttributes, UrlAttributes> 
urlAttributesCacheMap;
 
        /**
@@ -88,7 +91,20 @@ public class PackageResourceReference ex
        @Override
        public IResource getResource()
        {
-               return new PackageResource(getScope(), getName(), getLocale(), 
getStyle(), getVariation());
+               final String extension = getExtension();
+
+               if (CSS_EXTENSION.equals(extension))
+               {
+                       return new CssPackageResource(getScope(), getName(), 
getLocale(), getStyle(), getVariation());
+               }
+               else if (JAVASCRIPT_EXTENSION.equals(extension))
+               {
+                       return new JavaScriptPackageResource(getScope(), 
getName(), getLocale(), getStyle(), getVariation());
+               }
+               else
+               {
+                       return new PackageResource(getScope(), getName(), 
getLocale(), getStyle(), getVariation());
+               }
        }
 
        private StreamInfo lookupStream(IResourceStreamLocator locator, Locale 
locale, String style,

Modified: 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/ResourceReference.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/ResourceReference.java?rev=1100248&r1=1100247&r2=1100248&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/ResourceReference.java
 (original)
+++ 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/resource/ResourceReference.java
 Fri May  6 15:07:06 2011
@@ -122,6 +122,24 @@ public abstract class ResourceReference 
        }
 
        /**
+        * returns extension of the resource reference
+        * 
+        * @return extension of the resource's name in lower-case 
+        * or <code>null</code> if there is no extension
+        */
+       public final String getExtension()
+       {
+               final String name = getName();
+               final int extPos = name.lastIndexOf('.');
+               
+               if(extPos == -1)
+               {
+                       return null;
+               }
+               return name.substring(extPos + 1).toLowerCase();
+       }
+       
+       /**
         * @return scope
         */
        public Class<?> getScope()


Reply via email to