Author: ivaynberg
Date: Tue Oct 6 19:23:10 2009
New Revision: 822447
URL: http://svn.apache.org/viewvc?rev=822447&view=rev
Log:
fix mount mapper
Modified:
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/mapper/mount/MountMapper.java
Modified:
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/mapper/mount/MountMapper.java
URL:
http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/mapper/mount/MountMapper.java?rev=822447&r1=822446&r2=822447&view=diff
==============================================================================
---
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/mapper/mount/MountMapper.java
(original)
+++
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/mapper/mount/MountMapper.java
Tue Oct 6 19:23:10 2009
@@ -9,8 +9,8 @@
import org.apache.wicket.util.string.StringValue;
/**
- * {...@link RequestMapper} that can mount requests onto urls.
- * TODO docs and unit test
+ * {...@link RequestMapper} that can mount requests onto urls. TODO docs and
unit test
+ *
* @author igor.vaynberg
*/
public abstract class MountMapper extends AbstractMapper
@@ -64,24 +64,30 @@
public Url mapHandler(RequestHandler handler)
{
- final MountParameters mountParameters = mapMountParameters(handler);
- Url url = mapUnmountedUrl(handler);
- for (int i = mountSegments.length; i > 0; i--)
+ if (supportsHandler(handler))
{
- String segment = mountSegments[i];
- String placeholder = getPlaceholder(segment);
- String replacement =
mountParameters.getValue(placeholder).toString();
- // TODO factor out
- if (replacement == null)
+ final MountParameters mountParameters =
mapMountParameters(handler);
+ Url url = mapUnmountedUrl(handler);
+ for (int i = mountSegments.length; i > 0; i--)
{
- replacement = placeholder;
+ String segment = mountSegments[i];
+ String placeholder = getPlaceholder(segment);
+ String replacement =
mountParameters.getValue(placeholder).toString();
+ // TODO factor out
+ if (replacement == null)
+ {
+ replacement = placeholder;
+ }
+ url.getSegments().add(0, replacement);
}
- url.getSegments().add(0, replacement);
- }
- return url;
+ return url;
+ }
+ return null;
}
+ protected abstract boolean supportsHandler(RequestHandler handler);
+
protected abstract MountParameters mapMountParameters(RequestHandler
handler);
protected Url mapUnmountedUrl(RequestHandler handler)