You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2009/11/12 05:35:56 UTC
svn commit: r835232 - in /wicket/trunk/wicket/src:
main/java/org/apache/wicket/ng/request/handler/resource/
main/java/org/apache/wicket/ng/request/mapper/
main/java/org/apache/wicket/ng/resource/
test/java/org/apache/wicket/ng/request/mapper/
Author: ivaynberg
Date: Thu Nov 12 04:35:56 2009
New Revision: 835232
URL: http://svn.apache.org/viewvc?rev=835232&view=rev
Log:
WICKET-2571 forward port variation into ng resource refs
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/resource/ResourceRequestHandler.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractResourceReferenceMapper.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ResourceReferenceMapper.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/Resource.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReference.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReferenceRegistry.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/AbstractResourceReferenceEncoderTest.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/ResourceReferenceEncoderTest.java
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/resource/ResourceRequestHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/resource/ResourceRequestHandler.java?rev=835232&r1=835231&r2=835232&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/resource/ResourceRequestHandler.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/resource/ResourceRequestHandler.java Thu Nov 12 04:35:56 2009
@@ -34,6 +34,7 @@
private final Resource resource;
private final Locale locale;
private final String style;
+ private final String variation;
private final PageParameters pageParameters;
/**
@@ -42,9 +43,10 @@
* @param resource
* @param locale
* @param style
+ * @param variation
* @param pageParameters
*/
- public ResourceRequestHandler(Resource resource, Locale locale, String style,
+ public ResourceRequestHandler(Resource resource, Locale locale, String style, String variation,
PageParameters pageParameters)
{
Checks.argumentNotNull(resource, "resource");
@@ -52,6 +54,7 @@
this.resource = resource;
this.locale = locale;
this.style = style;
+ this.variation = variation;
this.pageParameters = pageParameters != null ? pageParameters : new PageParameters();
}
@@ -72,6 +75,14 @@
}
/**
+ * @return variation
+ */
+ public String getVariation()
+ {
+ return variation;
+ }
+
+ /**
* @return page parameters
*/
public PageParameters getPageParameters()
@@ -90,7 +101,7 @@
public void respond(RequestCycle requestCycle)
{
Resource.Attributes a = new Resource.Attributes(requestCycle.getRequest(),
- requestCycle.getResponse(), locale, style, pageParameters);
+ requestCycle.getResponse(), locale, style, variation, pageParameters);
resource.respond(a);
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractResourceReferenceMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractResourceReferenceMapper.java?rev=835232&r1=835231&r2=835232&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractResourceReferenceMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractResourceReferenceMapper.java Thu Nov 12 04:35:56 2009
@@ -35,11 +35,13 @@
{
protected Locale locale;
protected String style;
+ protected String variation;
};
protected static String encodeResourceReferenceAttributes(ResourceReferenceAttributes attributes)
{
- if (attributes == null || (attributes.locale == null && attributes.style == null))
+ if (attributes == null ||
+ (attributes.locale == null && attributes.style == null && attributes.variation == null))
{
return null;
}
@@ -55,6 +57,11 @@
res.append("-");
res.append(attributes.style);
}
+ if (!Strings.isEmpty(attributes.variation))
+ {
+ res.append("-");
+ res.append(attributes.variation);
+ }
return res.toString();
}
};
@@ -64,12 +71,17 @@
ResourceReferenceAttributes res = new ResourceReferenceAttributes();
if (!Strings.isEmpty(attributes))
{
- String split[] = attributes.split("-", 2);
+ String split[] = attributes.split("-", 3);
res.locale = parseLocale(split[0]);
if (split.length == 2)
{
res.style = split[1];
}
+ else if (split.length == 3)
+ {
+ res.style = split[1];
+ res.variation = split[2];
+ }
}
return res;
}
@@ -107,6 +119,7 @@
ResourceReferenceAttributes attributes = new ResourceReferenceAttributes();
attributes.locale = reference.getLocale();
attributes.style = reference.getStyle();
+ attributes.variation = reference.getVariation();
String encoded = encodeResourceReferenceAttributes(attributes);
if (!Strings.isEmpty(encoded))
{
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ResourceReferenceMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ResourceReferenceMapper.java?rev=835232&r1=835231&r2=835232&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ResourceReferenceMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ResourceReferenceMapper.java Thu Nov 12 04:35:56 2009
@@ -68,8 +68,8 @@
public RequestHandler mapRequest(Request request)
{
Url url = request.getUrl();
- if (url.getSegments().size() >= 4
- && urlStartsWith(url, getContext().getNamespace(), getContext().getResourceIdentifier()))
+ if (url.getSegments().size() >= 4 &&
+ urlStartsWith(url, getContext().getNamespace(), getContext().getResourceIdentifier()))
{
String className = url.getSegments().get(2);
StringBuilder name = new StringBuilder();
@@ -85,21 +85,23 @@
ResourceReferenceAttributes attributes = getResourceReferenceAttributes(url);
// extract the PageParameters from URL if there are any
- PageParameters pageParameters = extractPageParameters(request, url.getSegments().size(),
- pageParametersEncoder);
+ PageParameters pageParameters = extractPageParameters(request,
+ url.getSegments().size(), pageParametersEncoder);
Class<?> scope = resolveClass(className);
if (scope != null)
{
- ResourceReference res = getContext().getResourceReferenceRegistry().getResourceReference(scope,
- name.toString(), attributes.locale, attributes.style, false);
+ ResourceReference res = getContext().getResourceReferenceRegistry()
+ .getResourceReference(scope, name.toString(), attributes.locale,
+ attributes.style, attributes.variation, false);
if (res != null)
{
Resource resource = res.getResource();
if (resource != null)
{
- ResourceRequestHandler handler = new ResourceRequestHandler(resource, attributes.locale,
- attributes.style, pageParameters);
+ ResourceRequestHandler handler = new ResourceRequestHandler(resource,
+ attributes.locale, attributes.style, attributes.variation,
+ pageParameters);
return handler;
}
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/Resource.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/Resource.java?rev=835232&r1=835231&r2=835232&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/Resource.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/Resource.java Thu Nov 12 04:35:56 2009
@@ -44,6 +44,7 @@
private final Response response;
private final Locale locale;
private final String style;
+ private final String variation;
private final PageParameters parameters;
/**
@@ -54,10 +55,11 @@
* @param response
* @param locale
* @param style
+ * @param variation
* @param parameters
*/
public Attributes(Request request, Response response, Locale locale, String style,
- PageParameters parameters)
+ String variation, PageParameters parameters)
{
Checks.argumentNotNull(request, "request");
Checks.argumentNotNull(response, "response");
@@ -67,6 +69,7 @@
this.response = response;
this.locale = locale;
this.style = style;
+ this.variation = variation;
this.parameters = parameters;
}
@@ -111,6 +114,16 @@
}
/**
+ * If specified returns requested variation. The variation is optional.
+ *
+ * @return variation or <code>null</code>
+ */
+ public String getVariant()
+ {
+ return variation;
+ }
+
+ /**
* Returns additional parameters extracted from the request. If resource is created mounted
* {@link ResourceReference}, this method returns all (indexed and query) parameters after
* the mount path. For non mounted {@link ResourceReference}s this method will only return
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReference.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReference.java?rev=835232&r1=835231&r2=835232&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReference.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReference.java Thu Nov 12 04:35:56 2009
@@ -36,6 +36,7 @@
private final String name;
private final Locale locale;
private final String style;
+ private final String variation;
/**
* Creates new {@link ResourceReference} instance.
@@ -46,8 +47,10 @@
* mandatory parameter
* @param locale
* @param style
+ * @param variation
*/
- public ResourceReference(Class<?> scope, String name, Locale locale, String style)
+ public ResourceReference(Class<?> scope, String name, Locale locale, String style,
+ String variation)
{
Checks.argumentNotNull(scope, "scope");
Checks.argumentNotNull(name, "name");
@@ -56,6 +59,7 @@
this.name = name;
this.locale = locale;
this.style = style;
+ this.variation = variation;
}
/**
@@ -90,6 +94,14 @@
return style;
}
+ /**
+ * @return variation
+ */
+ public String getVariation()
+ {
+ return variation;
+ }
+
@Override
public boolean equals(Object obj)
{
@@ -105,13 +117,14 @@
return Objects.equal(scope, that.scope) && //
Objects.equal(name, that.name) && //
Objects.equal(locale, that.locale) && //
- Objects.equal(style, that.style);
+ Objects.equal(style, that.style) && //
+ Objects.equal(variation, that.variation);
}
@Override
public int hashCode()
{
- return Objects.hashCode(scope, name, locale, style);
+ return Objects.hashCode(scope, name, locale, style, variation);
}
/**
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReferenceRegistry.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReferenceRegistry.java?rev=835232&r1=835231&r2=835232&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReferenceRegistry.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReferenceRegistry.java Thu Nov 12 04:35:56 2009
@@ -36,8 +36,9 @@
private final String name;
private final Locale locale;
private final String style;
+ private final String variation;
- public Key(String scope, String name, Locale locale, String style)
+ public Key(String scope, String name, Locale locale, String style, String variation)
{
Checks.argumentNotNull(scope, "scope");
Checks.argumentNotNull(name, "name");
@@ -46,6 +47,7 @@
this.name = name;
this.locale = locale;
this.style = style;
+ this.variation = variation;
}
@Override
@@ -63,17 +65,18 @@
return Objects.equal(scope, that.scope) && //
Objects.equal(name, that.name) && //
Objects.equal(locale, that.locale) && //
- Objects.equal(style, that.style);
+ Objects.equal(style, that.style) && //
+ Objects.equal(variation, that.variation);
}
@Override
public int hashCode()
{
- return Objects.hashCode(scope, name, locale, style);
+ return Objects.hashCode(scope, name, locale, style, variation);
}
};
- private Map<Key, ResourceReference> map = new ConcurrentHashMap<Key, ResourceReference>();
+ private final Map<Key, ResourceReference> map = new ConcurrentHashMap<Key, ResourceReference>();
/**
* Registers the given {@link ResourceReference}.
@@ -85,7 +88,7 @@
Checks.argumentNotNull(reference, "reference");
Key key = new Key(reference.getScope().getName(), reference.getName(),
- reference.getLocale(), reference.getStyle());
+ reference.getLocale(), reference.getStyle(), reference.getVariation());
map.put(key, reference);
}
@@ -99,14 +102,14 @@
Checks.argumentNotNull(reference, "reference");
Key key = new Key(reference.getScope().getName(), reference.getName(),
- reference.getLocale(), reference.getStyle());
+ reference.getLocale(), reference.getStyle(), reference.getVariation());
map.remove(key);
}
protected ResourceReference getResourceReference(Class<?> scope, String name, Locale locale,
- String style, boolean strict, boolean createIfNotFound)
+ String style, String variation, boolean strict, boolean createIfNotFound)
{
- Key key = new Key(scope.getName(), name, locale, style);
+ Key key = new Key(scope.getName(), name, locale, style, variation);
ResourceReference res = map.get(key);
if (strict || res != null)
{
@@ -114,14 +117,34 @@
}
else
{
- res = getResourceReference(scope, name, locale, null, true, false);
+ res = getResourceReference(scope, name, locale, style, null, true, false);
if (res == null)
{
- res = getResourceReference(scope, name, null, null, true, false);
+ res = getResourceReference(scope, name, locale, null, variation, true, false);
}
+ if (res == null)
+ {
+ res = getResourceReference(scope, name, locale, null, null, true, false);
+ }
+ if (res == null)
+ {
+ res = getResourceReference(scope, name, null, style, variation, true, false);
+ }
+ if (res == null)
+ {
+ res = getResourceReference(scope, name, null, style, null, true, false);
+ }
+ if (res == null)
+ {
+ res = getResourceReference(scope, name, null, null, variation, true, false);
+ }
+ if (res == null)
+ {
+ res = getResourceReference(scope, name, null, null, null, true, false);
+ }
if (res == null && createIfNotFound)
{
- res = createDefaultResourceReference(scope, name, locale, style);
+ res = createDefaultResourceReference(scope, name, locale, style, variation);
}
return res;
}
@@ -138,28 +161,30 @@
* mandatory parameter
* @param locale
* @param style
+ * @param variation
* @param strict
- * if <code>strict</code> is <code>true</code> only resources that match exactly
- * are returned. Otherwise if there is no resource registered that is an exact
- * match, also resources with <code>null</code> style and locale are tried. If
- * still no resource is found, result of
+ * if <code>strict</code> is <code>true</code> only resources that match exactly are
+ * returned. Otherwise if there is no resource registered that is an exact match,
+ * also resources with <code>null</code> style and locale are tried. If still no
+ * resource is found, result of
* {@link #createDefaultResourceReference(Class, String, Locale, String)} is
* returned.
* @return {@link ResourceReference} or <code>null</code>
*/
public ResourceReference getResourceReference(Class<?> scope, String name, Locale locale,
- String style, boolean strict)
+ String style, String variation, boolean strict)
{
- ResourceReference reference = getResourceReference(scope, name, locale, style, strict, false);
+ ResourceReference reference = getResourceReference(scope, name, locale, style, variation,
+ strict, false);
if (reference == null)
{
// TODO: Check the class static member for ResourceReferences and register those
}
- return getResourceReference(scope, name, locale, style, strict, true);
+ return reference;
}
protected ResourceReference createDefaultResourceReference(Class<?> scope, String name,
- Locale locale, String style)
+ Locale locale, String style, String variation)
{
// override in superclass to e.g. return PackageResourceReference if there is one
return null;
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/AbstractResourceReferenceEncoderTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/AbstractResourceReferenceEncoderTest.java?rev=835232&r1=835231&r2=835232&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/AbstractResourceReferenceEncoderTest.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/AbstractResourceReferenceEncoderTest.java Thu Nov 12 04:35:56 2009
@@ -70,13 +70,32 @@
}
};
+ protected final Resource resource5 = new Resource()
+ {
+ private static final long serialVersionUID = 1L;
+
+ public void respond(Attributes attributes)
+ {
+ }
+ };
+
+ protected final Resource resource6 = new Resource()
+ {
+ private static final long serialVersionUID = 1L;
+
+ public void respond(Attributes attributes)
+ {
+ }
+ };
+
protected String CLASS_NAME = AbstractResourceReferenceEncoderTest.class.getName();
protected ResourceReference reference1 = new ResourceReference(
- AbstractResourceReferenceEncoderTest.class, "reference1", null, null)
+ AbstractResourceReferenceEncoderTest.class, "reference1", null, null, null)
{
private static final long serialVersionUID = 1L;
+ @Override
public Resource getResource()
{
return resource1;
@@ -84,10 +103,12 @@
};
protected ResourceReference reference2 = new ResourceReference(
- AbstractResourceReferenceEncoderTest.class, "reference2/name2", new Locale("en", "en"), null)
+ AbstractResourceReferenceEncoderTest.class, "reference2/name2", new Locale("en", "en"),
+ null, null)
{
private static final long serialVersionUID = 1L;
+ @Override
public Resource getResource()
{
return resource2;
@@ -95,10 +116,11 @@
};
protected ResourceReference reference3 = new ResourceReference(
- AbstractResourceReferenceEncoderTest.class, "reference3", null, "style")
+ AbstractResourceReferenceEncoderTest.class, "reference3", null, "style", null)
{
private static final long serialVersionUID = 1L;
+ @Override
public Resource getResource()
{
return resource3;
@@ -106,16 +128,42 @@
};
protected ResourceReference reference4 = new ResourceReference(
- AbstractResourceReferenceEncoderTest.class, "reference4", Locale.ENGLISH, "style")
+ AbstractResourceReferenceEncoderTest.class, "reference4", Locale.ENGLISH, "style", null)
{
private static final long serialVersionUID = 1L;
+ @Override
public Resource getResource()
{
return resource4;
};
};
+ protected ResourceReference reference5 = new ResourceReference(
+ AbstractResourceReferenceEncoderTest.class, "reference5", Locale.ENGLISH, null, "variation")
+ {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public Resource getResource()
+ {
+ return resource5;
+ };
+ };
+
+ protected ResourceReference reference6 = new ResourceReference(
+ AbstractResourceReferenceEncoderTest.class, "reference6", Locale.ENGLISH, "style",
+ "variation")
+ {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public Resource getResource()
+ {
+ return resource6;
+ };
+ };
+
@Override
protected void setUp() throws Exception
{
@@ -125,5 +173,7 @@
context.getResourceReferenceRegistry().registerResourceReference(reference2);
context.getResourceReferenceRegistry().registerResourceReference(reference3);
context.getResourceReferenceRegistry().registerResourceReference(reference4);
+ context.getResourceReferenceRegistry().registerResourceReference(reference5);
+ context.getResourceReferenceRegistry().registerResourceReference(reference6);
}
}
Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/ResourceReferenceEncoderTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/ResourceReferenceEncoderTest.java?rev=835232&r1=835231&r2=835232&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/ResourceReferenceEncoderTest.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/ResourceReferenceEncoderTest.java Thu Nov 12 04:35:56 2009
@@ -57,6 +57,7 @@
assertEquals(resource1, h.getResource());
assertEquals(null, h.getLocale());
assertEquals(null, h.getStyle());
+ assertEquals(null, h.getVariation());
assertEquals(0, h.getPageParameters().getIndexedParamsCount());
assertEquals(0, h.getPageParameters().getNamedParameterKeys().size());
}
@@ -73,6 +74,7 @@
assertEquals(resource1, h.getResource());
assertEquals(Locale.ENGLISH, h.getLocale());
assertEquals(null, h.getStyle());
+ assertEquals(null, h.getVariation());
assertEquals(0, h.getPageParameters().getIndexedParamsCount());
assertEquals(0, h.getPageParameters().getNamedParameterKeys().size());
}
@@ -89,6 +91,7 @@
assertEquals(resource1, h.getResource());
assertEquals(null, h.getLocale());
assertEquals(null, h.getStyle());
+ assertEquals(null, h.getVariation());
assertEquals(0, h.getPageParameters().getIndexedParamsCount());
assertEquals("v1", h.getPageParameters().getNamedParameter("p1").toString());
assertEquals("v2", h.getPageParameters().getNamedParameter("p2").toString());
@@ -106,6 +109,7 @@
assertEquals(resource1, h.getResource());
assertEquals(null, h.getLocale());
assertEquals("style", h.getStyle());
+ assertEquals(null, h.getVariation());
assertEquals(0, h.getPageParameters().getIndexedParamsCount());
assertEquals("v1", h.getPageParameters().getNamedParameter("p1").toString());
assertEquals("v2", h.getPageParameters().getNamedParameter("p2").toString());
@@ -123,6 +127,7 @@
assertEquals(resource2, h.getResource());
assertEquals(new Locale("en", "en"), h.getLocale());
assertEquals(null, h.getStyle());
+ assertEquals(null, h.getVariation());
assertEquals(0, h.getPageParameters().getIndexedParamsCount());
assertEquals(0, h.getPageParameters().getNamedParameterKeys().size());
}
@@ -139,6 +144,7 @@
assertEquals(resource2, h.getResource());
assertEquals(new Locale("en", "en"), h.getLocale());
assertEquals("style", h.getStyle());
+ assertEquals(null, h.getVariation());
assertEquals(0, h.getPageParameters().getIndexedParamsCount());
assertEquals(0, h.getPageParameters().getNamedParameterKeys().size());
}
@@ -158,14 +164,14 @@
*/
public void testDecode4()
{
- Url url = Url
- .parse("wicket/resource/" + CLASS_NAME + "/reference2/name2?en_EN&p1=v1&p2=v2");
+ Url url = Url.parse("wicket/resource/" + CLASS_NAME + "/reference2/name2?en_EN&p1=v1&p2=v2");
RequestHandler handler = encoder.mapRequest(getRequest(url));
assertTrue(handler instanceof ResourceRequestHandler);
ResourceRequestHandler h = (ResourceRequestHandler)handler;
assertEquals(resource2, h.getResource());
assertEquals(new Locale("en", "en"), h.getLocale());
assertEquals(null, h.getStyle());
+ assertEquals(null, h.getVariation());
assertEquals("v1", h.getPageParameters().getNamedParameter("p1").toString());
assertEquals("v2", h.getPageParameters().getNamedParameter("p2").toString());
}
@@ -182,6 +188,7 @@
assertEquals(resource3, h.getResource());
assertEquals(null, h.getLocale());
assertEquals("style", h.getStyle());
+ assertEquals(null, h.getVariation());
assertEquals(0, h.getPageParameters().getIndexedParamsCount());
assertEquals(0, h.getPageParameters().getNamedParameterKeys().size());
}
@@ -198,6 +205,7 @@
assertEquals(resource3, h.getResource());
assertEquals(null, h.getLocale());
assertEquals("style", h.getStyle());
+ assertEquals(null, h.getVariation());
assertEquals(0, h.getPageParameters().getIndexedParamsCount());
assertEquals("v1", h.getPageParameters().getNamedParameter("p1").toString());
assertEquals("v2", h.getPageParameters().getNamedParameter("p2").toString());
@@ -216,6 +224,7 @@
assertEquals(resource4, h.getResource());
assertEquals(Locale.ENGLISH, h.getLocale());
assertEquals("style", h.getStyle());
+ assertEquals(null, h.getVariation());
assertEquals(0, h.getPageParameters().getIndexedParamsCount());
assertEquals(0, h.getPageParameters().getNamedParameterKeys().size());
}
@@ -242,6 +251,7 @@
assertEquals(resource4, h.getResource());
assertEquals(Locale.ENGLISH, h.getLocale());
assertEquals("style", h.getStyle());
+ assertEquals(null, h.getVariation());
assertEquals(0, h.getPageParameters().getIndexedParamsCount());
assertEquals("v1", h.getPageParameters().getNamedParameter("p1").toString());
assertEquals("v2", h.getPageParameters().getNamedParameter("p2").toString());
@@ -250,6 +260,44 @@
/**
*
*/
+ public void testDecode9()
+ {
+ Url url = Url.parse("wicket/resource/" + CLASS_NAME +
+ "/reference5?en--variation&p1=v1&p2=v2");
+ RequestHandler handler = encoder.mapRequest(getRequest(url));
+ assertTrue(handler instanceof ResourceRequestHandler);
+ ResourceRequestHandler h = (ResourceRequestHandler)handler;
+ assertEquals(resource5, h.getResource());
+ assertEquals(Locale.ENGLISH, h.getLocale());
+ assertEquals("", h.getStyle());
+ assertEquals("variation", h.getVariation());
+ assertEquals(0, h.getPageParameters().getIndexedParamsCount());
+ assertEquals("v1", h.getPageParameters().getNamedParameter("p1").toString());
+ assertEquals("v2", h.getPageParameters().getNamedParameter("p2").toString());
+ }
+
+ /**
+ *
+ */
+ public void testDecode10()
+ {
+ Url url = Url.parse("wicket/resource/" + CLASS_NAME +
+ "/reference6?en-style-variation&p1=v1&p2=v2");
+ RequestHandler handler = encoder.mapRequest(getRequest(url));
+ assertTrue(handler instanceof ResourceRequestHandler);
+ ResourceRequestHandler h = (ResourceRequestHandler)handler;
+ assertEquals(resource6, h.getResource());
+ assertEquals(Locale.ENGLISH, h.getLocale());
+ assertEquals("style", h.getStyle());
+ assertEquals("variation", h.getVariation());
+ assertEquals(0, h.getPageParameters().getIndexedParamsCount());
+ assertEquals("v1", h.getPageParameters().getNamedParameter("p1").toString());
+ assertEquals("v2", h.getPageParameters().getNamedParameter("p2").toString());
+ }
+
+ /**
+ *
+ */
public void testEncode1()
{
ResourceReferenceRequestHandler handler = new ResourceReferenceRequestHandler(reference1,
@@ -298,8 +346,8 @@
parameters);
Url url = encoder.mapHandler(handler);
- assertEquals("wicket/resource/" + CLASS_NAME + "/reference2/name2?en_EN&p1=v1&p2=v2", url
- .toString());
+ assertEquals("wicket/resource/" + CLASS_NAME + "/reference2/name2?en_EN&p1=v1&p2=v2",
+ url.toString());
}
/**
@@ -326,8 +374,8 @@
parameters);
Url url = encoder.mapHandler(handler);
- assertEquals("wicket/resource/" + CLASS_NAME + "/reference3?-style&p1=v1&p2=v2", url
- .toString());
+ assertEquals("wicket/resource/" + CLASS_NAME + "/reference3?-style&p1=v1&p2=v2",
+ url.toString());
}
/**
@@ -354,7 +402,7 @@
parameters);
Url url = encoder.mapHandler(handler);
- assertEquals("wicket/resource/" + CLASS_NAME + "/reference4?en-style&p1=v1&p2=v2", url
- .toString());
+ assertEquals("wicket/resource/" + CLASS_NAME + "/reference4?en-style&p1=v1&p2=v2",
+ url.toString());
}
}