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/09b8c771 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/09b8c771 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/09b8c771 Branch: refs/heads/wicket-1.5.x Commit: 09b8c771157a209b68540f0b2d8c4717643d1fac Parents: 2445116 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 15:51:56 2012 +0200 ---------------------------------------------------------------------- .../mapper/BasicResourceReferenceMapper.java | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/09b8c771/wicket-core/src/main/java/org/apache/wicket/request/mapper/BasicResourceReferenceMapper.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/request/mapper/BasicResourceReferenceMapper.java b/wicket-core/src/main/java/org/apache/wicket/request/mapper/BasicResourceReferenceMapper.java index 745a684..6f1e8af 100755 --- a/wicket-core/src/main/java/org/apache/wicket/request/mapper/BasicResourceReferenceMapper.java +++ b/wicket-core/src/main/java/org/apache/wicket/request/mapper/BasicResourceReferenceMapper.java @@ -85,13 +85,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);
