WICKET-4845 Make BasicResourceReferenceMapper public so it is easy to extend it
Calculate the size of the url just once and reuse it Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/2d18ae12 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/2d18ae12 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/2d18ae12 Branch: refs/heads/master Commit: 2d18ae121a6ea4f4f37a7a9d695e1f93edd793c5 Parents: 616d48c Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Fri Nov 2 15:51:56 2012 +0200 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Fri Nov 2 16:04:17 2012 +0200 ---------------------------------------------------------------------- .../mapper/BasicResourceReferenceMapper.java | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/2d18ae12/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 4d3a07c..20789ab 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 @@ -90,13 +90,15 @@ public class BasicResourceReferenceMapper extends AbstractResourceReferenceMappe if (canBeHandled(url)) { + final int segmentsSize = url.getSegments().size(); + // extract the PageParameters from URL if there are any - PageParameters pageParameters = extractPageParameters(request, url.getSegments().size(), + PageParameters pageParameters = extractPageParameters(request, segmentsSize, pageParametersEncoder); String className = url.getSegments().get(2); - StringBuilder name = new StringBuilder(); - int segmentsSize = url.getSegments().size(); + StringBuilder name = new StringBuilder(segmentsSize * 2); + for (int i = 3; i < segmentsSize; ++i) { String segment = url.getSegments().get(i);
