Updated Branches:
  refs/heads/master 361a57f99 -> 4b881a77f

WICKET-4721: allow all IStaticCacheableResource, not just PackageResources


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/4b881a77
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/4b881a77
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/4b881a77

Branch: refs/heads/master
Commit: 4b881a77fd170c50390ffcbe9312b9b4b4e03086
Parents: 361a57f
Author: Emond Papegaaij <papega...@apache.org>
Authored: Wed Aug 22 10:24:13 2012 +0200
Committer: Emond Papegaaij <papega...@apache.org>
Committed: Wed Aug 22 10:27:21 2012 +0200

----------------------------------------------------------------------
 .../resource/bundles/ConcatBundleResource.java     |   14 +++++-----
 .../bundles/ConcatResourceBundleReference.java     |   22 +-------------
 2 files changed, 9 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/4b881a77/wicket-core/src/main/java/org/apache/wicket/resource/bundles/ConcatBundleResource.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/resource/bundles/ConcatBundleResource.java
 
b/wicket-core/src/main/java/org/apache/wicket/resource/bundles/ConcatBundleResource.java
index 94f3675..52713f5 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/resource/bundles/ConcatBundleResource.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/resource/bundles/ConcatBundleResource.java
@@ -28,7 +28,6 @@ import javax.servlet.http.HttpServletResponse;
 import org.apache.wicket.markup.head.IReferenceHeaderItem;
 import org.apache.wicket.request.resource.AbstractResource;
 import org.apache.wicket.request.resource.IResource;
-import org.apache.wicket.request.resource.PackageResource;
 import org.apache.wicket.request.resource.caching.IStaticCacheableResource;
 import org.apache.wicket.util.io.ByteArrayOutputStream;
 import org.apache.wicket.util.io.IOUtils;
@@ -43,8 +42,8 @@ import org.slf4j.LoggerFactory;
 
 /**
  * A {@linkplain IResource resource} that concatenates several resources into 
one download. This
- * resource can only bundle {@link PackageResource}s. The content type of the 
resource will be that
- * of the first resource that specifies its content type.
+ * resource can only bundle {@link IStaticCacheableResource}s. The content 
type of the resource will
+ * be that of the first resource that specifies its content type.
  * 
  * @author papegaaij
  */
@@ -64,7 +63,7 @@ public class ConcatBundleResource extends AbstractResource 
implements IStaticCac
        public ConcatBundleResource(List<? extends IReferenceHeaderItem> 
providedResources)
        {
                this.providedResources = Args.notNull(providedResources, 
"providedResources");
-               this.cachingEnabled = true;
+               cachingEnabled = true;
        }
 
        @Override
@@ -125,7 +124,8 @@ public class ConcatBundleResource extends AbstractResource 
implements IStaticCac
                List<IResourceStream> ret = new 
ArrayList<IResourceStream>(providedResources.size());
                for (IReferenceHeaderItem curItem : providedResources)
                {
-                       IResourceStream stream = 
((PackageResource)curItem.getReference().getResource()).getResourceStream();
+                       IResourceStream stream = 
((IStaticCacheableResource)curItem.getReference()
+                               .getResource()).getCacheableResourceStream();
                        if (stream == null)
                                return null;
 
@@ -182,7 +182,7 @@ public class ConcatBundleResource extends AbstractResource 
implements IStaticCac
 
        public void setCachingEnabled(final boolean enabled)
        {
-               this.cachingEnabled = enabled;
+               cachingEnabled = enabled;
        }
 
        @Override
@@ -191,7 +191,7 @@ public class ConcatBundleResource extends AbstractResource 
implements IStaticCac
                ArrayList<Serializable> key = new 
ArrayList<Serializable>(providedResources.size());
                for (IReferenceHeaderItem curItem : providedResources)
                {
-                       Serializable curKey = 
((PackageResource)curItem.getReference().getResource()).getCacheKey();
+                       Serializable curKey = 
((IStaticCacheableResource)curItem.getReference().getResource()).getCacheKey();
                        if (curKey == null)
                                return null;
                        key.add(curKey);

http://git-wip-us.apache.org/repos/asf/wicket/blob/4b881a77/wicket-core/src/main/java/org/apache/wicket/resource/bundles/ConcatResourceBundleReference.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/resource/bundles/ConcatResourceBundleReference.java
 
b/wicket-core/src/main/java/org/apache/wicket/resource/bundles/ConcatResourceBundleReference.java
index f274a1a..679acb2 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/resource/bundles/ConcatResourceBundleReference.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/resource/bundles/ConcatResourceBundleReference.java
@@ -29,14 +29,13 @@ import org.apache.wicket.markup.head.IReferenceHeaderItem;
 import org.apache.wicket.request.resource.CssResourceReference;
 import org.apache.wicket.request.resource.IResource;
 import org.apache.wicket.request.resource.JavaScriptResourceReference;
-import org.apache.wicket.request.resource.PackageResourceReference;
 import org.apache.wicket.request.resource.ResourceReference;
+import org.apache.wicket.request.resource.caching.IStaticCacheableResource;
 import org.apache.wicket.util.lang.Args;
-import org.apache.wicket.util.lang.Classes;
 
 /**
  * A resource bundle that automatically concatenates the given resources. 
These resources should all
- * be of the same type (javascript or css) and all have {@link 
PackageResourceReference} (or
+ * be of the same type (javascript or css) and all have {@link 
IStaticCacheableResource} (or
  * subclasses). After creating the bundle, you normally have to register it in 
the
  * {@link ResourceBundles} under {@link Application#getResourceBundles()}. 
{@link ResourceBundles}
  * has two utility methods to create instances of this class:
@@ -113,23 +112,6 @@ public class ConcatResourceBundleReference<T extends 
HeaderItem & IReferenceHead
        {
                super(scope, name, locale, style, variation);
                providedResources = Args.notNull(resources, "resources");
-               checkProvidedResources();
-       }
-
-       /* check if all provided resources are package resources */
-       private void checkProvidedResources()
-       {
-               for (T curProvidedResource : providedResources)
-               {
-                       ResourceReference reference = 
curProvidedResource.getReference();
-                       if (!(reference instanceof CssResourceReference || 
reference instanceof JavaScriptResourceReference))
-                       {
-                               throw new IllegalArgumentException(
-                                       "ConcatResourceBundleReference only 
works with CssResourceReference and JavaScriptResourceReference, " +
-                                               curProvidedResource + " 
provides a " +
-                                               
Classes.simpleName(reference.getClass()));
-                       }
-               }
        }
 
        @Override

Reply via email to