WICKET-4845 Make BasicResourceReferenceMapper public so it is easy to extend it
Extract common code that checks whether this mapper can handle an url. Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/616d48c8 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/616d48c8 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/616d48c8 Branch: refs/heads/master Commit: 616d48c817027625b0c8ac28623b4514c70bf605 Parents: b23f357 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Fri Nov 2 15:46:08 2012 +0200 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Fri Nov 2 16:04:07 2012 +0200 ---------------------------------------------------------------------- .../mapper/BasicResourceReferenceMapper.java | 20 ++++++++++++--- 1 files changed, 16 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/616d48c8/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/BasicResourceReferenceMapper.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/BasicResourceReferenceMapper.java b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/BasicResourceReferenceMapper.java index c7fc0bc..4d3a07c 100755 --- a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/BasicResourceReferenceMapper.java +++ b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/BasicResourceReferenceMapper.java @@ -88,8 +88,7 @@ public class BasicResourceReferenceMapper extends AbstractResourceReferenceMappe { Url url = request.getUrl(); - if (url.getSegments().size() >= 4 && - urlStartsWith(url, getContext().getNamespace(), getContext().getResourceIdentifier())) + if (canBeHandled(url)) { // extract the PageParameters from URL if there are any PageParameters pageParameters = extractPageParameters(request, url.getSegments().size(), @@ -273,12 +272,25 @@ public class BasicResourceReferenceMapper extends AbstractResourceReferenceMappe Url url = request.getUrl(); int score = -1; - if (url.getSegments().size() >= 4 && - urlStartsWith(url, getContext().getNamespace(), getContext().getResourceIdentifier())) + if (canBeHandled(url)) { score = 1; } return score; } + + /** + * Checks whether the passed Url can be handled by this mapper + * + * @param url + * the Url to check + * @return {@code true} - if the Url can be handled, {@code false} - otherwise + */ + protected boolean canBeHandled(final Url url) + { + return (url.getSegments().size() >= 4 && + urlStartsWith(url, getContext().getNamespace(), getContext().getResourceIdentifier())); + + } }
