You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2011/11/08 16:40:36 UTC
svn commit: r1199294 - in
/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource: ./
aggregation/ dependencies/
Author: mgrigorov
Date: Tue Nov 8 15:40:36 2011
New Revision: 1199294
URL: http://svn.apache.org/viewvc?rev=1199294&view=rev
Log:
WICKET-4205 AbstractResourceAggregatingHeaderResponse does not override all render functions
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/ResourceUtil.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/aggregation/AbstractDependencyRespectingResourceAggregatingHeaderResponse.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/aggregation/AbstractResourceAggregatingHeaderResponse.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/aggregation/ResourceReferenceAndStringData.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/dependencies/AbstractResourceDependentResourceReference.java
Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/ResourceUtil.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/ResourceUtil.java?rev=1199294&r1=1199293&r2=1199294&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/ResourceUtil.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/ResourceUtil.java Tue Nov 8 15:40:36 2011
@@ -25,6 +25,7 @@ import org.apache.wicket.markup.html.IHe
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.request.resource.ResourceReference;
import org.apache.wicket.resource.aggregation.ResourceReferenceAndStringData;
+import org.apache.wicket.resource.dependencies.AbstractResourceDependentResourceReference.ResourceType;
import org.apache.wicket.util.io.IOUtils;
import org.apache.wicket.util.resource.IResourceStream;
import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
@@ -96,46 +97,49 @@ public class ResourceUtil
// ResourceReferenceAndStringData
public static void renderTo(IHeaderResponse resp, ResourceReferenceAndStringData data)
{
- boolean css = data.isCss();
+ ResourceType resourceType = data.getResourceType();
ResourceReference reference = data.getReference();
PageParameters parameters = data.getParameters();
String idOrMedia = data.getIdOrMedia();
CharSequence content = data.getContent();
- if (css)
+ switch (resourceType)
{
- String condition = data.getCssCondition();
+ case CSS :
+ String condition = data.getCssCondition();
- if (Strings.isEmpty(content) == false)
- {
- resp.renderCSS(content, idOrMedia);
- }
- else if (reference == null)
- {
- resp.renderCSSReference(data.getUrl(), idOrMedia, condition);
- }
- else
- {
- resp.renderCSSReference(reference, parameters, idOrMedia, condition);
- }
- }
- else
- {
- boolean defer = data.isJsDefer();
- String charset = data.getCharset();
-
- if (Strings.isEmpty(content) == false)
- {
- resp.renderJavaScript(content, idOrMedia);
- }
- else if (reference == null)
- {
- resp.renderJavaScriptReference(data.getUrl(), idOrMedia, defer, charset);
- }
- else
- {
- resp.renderJavaScriptReference(reference, parameters, idOrMedia, defer, charset);
- }
+ if (Strings.isEmpty(content) == false)
+ {
+ resp.renderCSS(content, idOrMedia);
+ }
+ else if (reference == null)
+ {
+ resp.renderCSSReference(data.getUrl(), idOrMedia, condition);
+ }
+ else
+ {
+ resp.renderCSSReference(reference, parameters, idOrMedia, condition);
+ }
+ break;
+ case JS :
+ boolean defer = data.isJsDefer();
+ String charset = data.getCharset();
+
+ if (Strings.isEmpty(content) == false)
+ {
+ resp.renderJavaScript(content, idOrMedia);
+ }
+ else if (reference == null)
+ {
+ resp.renderJavaScriptReference(data.getUrl(), idOrMedia, defer, charset);
+ }
+ else
+ {
+ resp.renderJavaScriptReference(reference, parameters, idOrMedia, defer, charset);
+ }
+ break;
+ case PLAIN :
+ resp.renderString(content);
}
}
Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/aggregation/AbstractDependencyRespectingResourceAggregatingHeaderResponse.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/aggregation/AbstractDependencyRespectingResourceAggregatingHeaderResponse.java?rev=1199294&r1=1199293&r2=1199294&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/aggregation/AbstractDependencyRespectingResourceAggregatingHeaderResponse.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/aggregation/AbstractDependencyRespectingResourceAggregatingHeaderResponse.java Tue Nov 8 15:40:36 2011
@@ -84,7 +84,8 @@ public abstract class AbstractDependency
{
boolean css = ResourceType.CSS.equals(reference.getResourceType());
String string = css ? reference.getMedia() : reference.getUniqueId();
- return new ResourceReferenceAndStringData(reference, null, null, string, css, false, null,
- null);
+
+ return new ResourceReferenceAndStringData(reference, null, null, string,
+ reference.getResourceType(), false, null, null);
}
}
Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/aggregation/AbstractResourceAggregatingHeaderResponse.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/aggregation/AbstractResourceAggregatingHeaderResponse.java?rev=1199294&r1=1199293&r2=1199294&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/aggregation/AbstractResourceAggregatingHeaderResponse.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/aggregation/AbstractResourceAggregatingHeaderResponse.java Tue Nov 8 15:40:36 2011
@@ -31,6 +31,7 @@ import org.apache.wicket.request.mapper.
import org.apache.wicket.request.resource.IResource;
import org.apache.wicket.request.resource.ResourceReference;
import org.apache.wicket.resource.ResourceUtil;
+import org.apache.wicket.resource.dependencies.AbstractResourceDependentResourceReference.ResourceType;
/**
* A header response that can be used to aggregate resources (primarily resource references) into
@@ -77,28 +78,28 @@ public abstract class AbstractResourceAg
public void renderJavaScriptReference(ResourceReference reference)
{
topLevelReferences.add(new ResourceReferenceAndStringData(reference, null, null, null,
- false, false, null, null));
+ ResourceType.JS, false, null, null));
}
@Override
public void renderJavaScriptReference(ResourceReference reference, String id)
{
- topLevelReferences.add(new ResourceReferenceAndStringData(reference, null, null, id, false,
- false, null, null));
+ topLevelReferences.add(new ResourceReferenceAndStringData(reference, null, null, id,
+ ResourceType.JS, false, null, null));
}
@Override
public void renderCSSReference(ResourceReference reference)
{
topLevelReferences.add(new ResourceReferenceAndStringData(reference, null, null, null,
- true, false, null, null));
+ ResourceType.CSS, false, null, null));
}
@Override
public void renderCSSReference(ResourceReference reference, String media)
{
topLevelReferences.add(new ResourceReferenceAndStringData(reference, null, null, media,
- true, false, null, null));
+ ResourceType.CSS, false, null, null));
}
@Override
@@ -270,29 +271,29 @@ public abstract class AbstractResourceAg
@Override
public void renderJavaScriptReference(String url)
{
- topLevelReferences.add(new ResourceReferenceAndStringData(null, null, url, null, false,
- false, null, null));
+ topLevelReferences.add(new ResourceReferenceAndStringData(null, null, url, null,
+ ResourceType.JS, false, null, null));
}
@Override
public void renderJavaScriptReference(String url, String id)
{
- topLevelReferences.add(new ResourceReferenceAndStringData(null, null, url, id, false,
- false, null, null));
+ topLevelReferences.add(new ResourceReferenceAndStringData(null, null, url, id,
+ ResourceType.JS, false, null, null));
}
@Override
public void renderCSSReference(String url)
{
- topLevelReferences.add(new ResourceReferenceAndStringData(null, null, url, null, true,
- false, null, null));
+ topLevelReferences.add(new ResourceReferenceAndStringData(null, null, url, null,
+ ResourceType.CSS, false, null, null));
}
@Override
public void renderCSSReference(String url, String media)
{
- topLevelReferences.add(new ResourceReferenceAndStringData(null, null, url, media, true,
- false, null, null));
+ topLevelReferences.add(new ResourceReferenceAndStringData(null, null, url, media,
+ ResourceType.CSS, false, null, null));
}
@Override
@@ -300,7 +301,7 @@ public abstract class AbstractResourceAg
String id)
{
topLevelReferences.add(new ResourceReferenceAndStringData(reference, parameters, null, id,
- false, false, null, null));
+ ResourceType.JS, false, null, null));
}
@Override
@@ -308,7 +309,7 @@ public abstract class AbstractResourceAg
String id, boolean defer)
{
topLevelReferences.add(new ResourceReferenceAndStringData(reference, parameters, null, id,
- false, defer, null, null));
+ ResourceType.JS, defer, null, null));
}
@Override
@@ -316,33 +317,33 @@ public abstract class AbstractResourceAg
String id, boolean defer, String charset)
{
topLevelReferences.add(new ResourceReferenceAndStringData(reference, parameters, null, id,
- false, defer, charset, null));
+ ResourceType.JS, defer, charset, null));
}
@Override
public void renderJavaScriptReference(String url, String id, boolean defer)
{
- topLevelReferences.add(new ResourceReferenceAndStringData(null, null, url, null, false,
- defer, null, null));
+ topLevelReferences.add(new ResourceReferenceAndStringData(null, null, url, null,
+ ResourceType.JS, defer, null, null));
}
@Override
public void renderJavaScriptReference(String url, String id, boolean defer, String charset)
{
- topLevelReferences.add(new ResourceReferenceAndStringData(null, null, url, id, false,
- defer, charset, null));
+ topLevelReferences.add(new ResourceReferenceAndStringData(null, null, url, id,
+ ResourceType.JS, defer, charset, null));
}
@Override
public void renderJavaScript(CharSequence javascript, String id)
{
- topLevelReferences.add(new ResourceReferenceAndStringData(javascript, false, id));
+ topLevelReferences.add(new ResourceReferenceAndStringData(javascript, ResourceType.JS, id));
}
@Override
public void renderCSS(CharSequence css, String media)
{
- topLevelReferences.add(new ResourceReferenceAndStringData(css, true, media));
+ topLevelReferences.add(new ResourceReferenceAndStringData(css, ResourceType.CSS, media));
}
@Override
@@ -350,7 +351,7 @@ public abstract class AbstractResourceAg
String media)
{
topLevelReferences.add(new ResourceReferenceAndStringData(reference, pageParameters, null,
- media, true, false, null, null));
+ media, ResourceType.CSS, false, null, null));
}
@Override
@@ -358,14 +359,37 @@ public abstract class AbstractResourceAg
String media, String condition)
{
topLevelReferences.add(new ResourceReferenceAndStringData(reference, null, null, media,
- true, false, null, condition));
+ ResourceType.CSS, false, null, condition));
}
@Override
public void renderCSSReference(String url, String media, String condition)
{
- topLevelReferences.add(new ResourceReferenceAndStringData(null, null, url, media, true,
- false, null, condition));
+ topLevelReferences.add(new ResourceReferenceAndStringData(null, null, url, media,
+ ResourceType.CSS, false, null, condition));
}
+ @Override
+ public void renderString(CharSequence string)
+ {
+ topLevelReferences.add(new ResourceReferenceAndStringData(string, ResourceType.PLAIN, null));
+ }
+
+ @Override
+ public void renderOnDomReadyJavaScript(String javascript)
+ {
+ super.renderOnDomReadyJavaScript(javascript);
+ }
+
+ @Override
+ public void renderOnLoadJavaScript(String javascript)
+ {
+ super.renderOnLoadJavaScript(javascript);
+ }
+
+ @Override
+ public void renderOnEventJavaScript(String target, String event, String javascript)
+ {
+ super.renderOnEventJavaScript(target, event, javascript);
+ }
}
Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/aggregation/ResourceReferenceAndStringData.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/aggregation/ResourceReferenceAndStringData.java?rev=1199294&r1=1199293&r2=1199294&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/aggregation/ResourceReferenceAndStringData.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/aggregation/ResourceReferenceAndStringData.java Tue Nov 8 15:40:36 2011
@@ -18,6 +18,7 @@ package org.apache.wicket.resource.aggre
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.request.resource.ResourceReference;
+import org.apache.wicket.resource.dependencies.AbstractResourceDependentResourceReference.ResourceType;
/**
* A data holder built for the {@link AbstractResourceAggregatingHeaderResponse} that groups the
@@ -35,11 +36,12 @@ import org.apache.wicket.request.resourc
// another for CSS, ...)
public class ResourceReferenceAndStringData
{
+
private final ResourceReference reference;
private final PageParameters parameters;
private final String url;
private final String idOrMedia;
- private final boolean isCss;
+ private final ResourceType type;
private final boolean jsDefer;
private final String charset;
private final String cssCondition;
@@ -52,20 +54,20 @@ public class ResourceReferenceAndStringD
* @param parameters
* @param url
* @param idOrMedia
- * @param isCss
+ * @param type
* @param jsDefer
* @param charset
* @param cssCondition
*/
public ResourceReferenceAndStringData(ResourceReference reference, PageParameters parameters,
- String url, String idOrMedia, boolean isCss, boolean jsDefer, String charset,
+ String url, String idOrMedia, ResourceType type, boolean jsDefer, String charset,
String cssCondition)
{
this.reference = reference;
this.parameters = parameters;
this.url = url;
this.idOrMedia = idOrMedia;
- this.isCss = isCss;
+ this.type = type;
this.jsDefer = jsDefer;
this.charset = charset;
this.cssCondition = cssCondition;
@@ -88,7 +90,7 @@ public class ResourceReferenceAndStringD
parameters = null;
url = null;
this.idOrMedia = idOrMedia;
- this.isCss = isCss;
+ type = isCss ? ResourceType.CSS : ResourceType.JS;
jsDefer = false;
charset = null;
cssCondition = null;
@@ -99,13 +101,13 @@ public class ResourceReferenceAndStringD
* Construct.
*
* @param content
- * @param isCss
+ * @param type
* @param idOrMedia
*/
- public ResourceReferenceAndStringData(CharSequence content, boolean isCss, String idOrMedia)
+ public ResourceReferenceAndStringData(CharSequence content, ResourceType type, String idOrMedia)
{
this.content = content;
- this.isCss = isCss;
+ this.type = type;
reference = null;
parameters = null;
url = null;
@@ -159,10 +161,20 @@ public class ResourceReferenceAndStringD
/**
* @return true if this is css, false if it's js
+ * @deprecated Use {@link #getResourceType()} instead.
*/
+ @Deprecated
public boolean isCss()
{
- return isCss;
+ return type == ResourceType.CSS;
+ }
+
+ /**
+ * @return the type of the resource
+ */
+ public ResourceType getResourceType()
+ {
+ return type;
}
/**
@@ -206,10 +218,10 @@ public class ResourceReferenceAndStringD
result = prime * result + ((content == null) ? 0 : content.hashCode());
result = prime * result + ((cssCondition == null) ? 0 : cssCondition.hashCode());
result = prime * result + ((idOrMedia == null) ? 0 : idOrMedia.hashCode());
- result = prime * result + (isCss ? 1231 : 1237);
result = prime * result + (jsDefer ? 1231 : 1237);
result = prime * result + ((parameters == null) ? 0 : parameters.hashCode());
result = prime * result + ((reference == null) ? 0 : reference.hashCode());
+ result = prime * result + ((type == null) ? 0 : type.hashCode());
result = prime * result + ((url == null) ? 0 : url.hashCode());
return result;
}
@@ -252,8 +264,6 @@ public class ResourceReferenceAndStringD
}
else if (!idOrMedia.equals(other.idOrMedia))
return false;
- if (isCss != other.isCss)
- return false;
if (jsDefer != other.jsDefer)
return false;
if (parameters == null)
@@ -270,6 +280,8 @@ public class ResourceReferenceAndStringD
}
else if (!reference.equals(other.reference))
return false;
+ if (type != other.type)
+ return false;
if (url == null)
{
if (other.url != null)
@@ -284,7 +296,7 @@ public class ResourceReferenceAndStringD
public String toString()
{
return "ResourceReferenceAndStringData [reference=" + reference + ", parameters=" +
- parameters + ", url=" + url + ", idOrMedia=" + idOrMedia + ", isCss=" + isCss +
+ parameters + ", url=" + url + ", idOrMedia=" + idOrMedia + ", type=" + type +
", jsDefer=" + jsDefer + ", charset=" + charset + ", cssCondition=" + cssCondition +
", content=" + content + "]";
}
Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/dependencies/AbstractResourceDependentResourceReference.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/dependencies/AbstractResourceDependentResourceReference.java?rev=1199294&r1=1199293&r2=1199294&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/dependencies/AbstractResourceDependentResourceReference.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/resource/dependencies/AbstractResourceDependentResourceReference.java Tue Nov 8 15:40:36 2011
@@ -50,7 +50,12 @@ public abstract class AbstractResourceDe
/**
* CSS reference
*/
- CSS
+ CSS,
+
+ /**
+ * plain text
+ */
+ PLAIN;
}
private String uniqueId;
@@ -154,11 +159,27 @@ public abstract class AbstractResourceDe
*/
public ResourceType getResourceType()
{
- if (!Strings.isEmpty(getName()) && getName().endsWith(".css"))
+ String resourceName = getName();
+
+ final ResourceType type;
+ if (Strings.isEmpty(resourceName))
+ {
+ type = ResourceType.PLAIN;
+ }
+ else if (resourceName.endsWith(".css"))
+ {
+ type = ResourceType.CSS;
+ }
+ else if (resourceName.endsWith(".js"))
+ {
+ type = ResourceType.JS;
+ }
+ else
{
- return ResourceType.CSS;
+ throw new IllegalStateException("Cannot determine the resource's type by its name: " +
+ resourceName);
}
- return ResourceType.JS;
+ return type;
}
/**