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());
}
}