You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pa...@apache.org on 2012/08/22 10:27:40 UTC

git commit: WICKET-4721: allow all IStaticCacheableResource, not just PackageResources

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 <pa...@apache.org>
Authored: Wed Aug 22 10:24:13 2012 +0200
Committer: Emond Papegaaij <pa...@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