You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2016/03/23 11:56:12 UTC
wicket git commit: WICKET-6130 Make it easier to override parts of
SystemMapper
Repository: wicket
Updated Branches:
refs/heads/master 145724dc7 -> ab784c011
WICKET-6130 Make it easier to override parts of SystemMapper
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/ab784c01
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/ab784c01
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/ab784c01
Branch: refs/heads/master
Commit: ab784c011d73bf0be3ea6473df7a72ad89643ce3
Parents: 145724d
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed Mar 23 11:55:39 2016 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Wed Mar 23 11:55:39 2016 +0100
----------------------------------------------------------------------
.../java/org/apache/wicket/SystemMapper.java | 57 +++++++++++++++-----
.../request/mapper/CompoundRequestMapper.java | 3 --
2 files changed, 45 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/ab784c01/wicket-core/src/main/java/org/apache/wicket/SystemMapper.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/SystemMapper.java b/wicket-core/src/main/java/org/apache/wicket/SystemMapper.java
index 4be59b7..6f0084c 100644
--- a/wicket-core/src/main/java/org/apache/wicket/SystemMapper.java
+++ b/wicket-core/src/main/java/org/apache/wicket/SystemMapper.java
@@ -23,6 +23,7 @@ import org.apache.wicket.core.request.mapper.BufferedResponseMapper;
import org.apache.wicket.core.request.mapper.HomePageMapper;
import org.apache.wicket.core.request.mapper.PageInstanceMapper;
import org.apache.wicket.core.request.mapper.ResourceReferenceMapper;
+import org.apache.wicket.request.IRequestMapper;
import org.apache.wicket.request.component.IRequestablePage;
import org.apache.wicket.request.mapper.CompoundRequestMapper;
import org.apache.wicket.request.mapper.parameter.PageParametersEncoder;
@@ -32,7 +33,6 @@ import org.apache.wicket.request.resource.caching.IResourceCachingStrategy;
* Mapper that encapsulates mappers that are necessary for Wicket to function.
*
* @author igor.vaynberg
- *
*/
public class SystemMapper extends CompoundRequestMapper
{
@@ -46,26 +46,59 @@ public class SystemMapper extends CompoundRequestMapper
public SystemMapper(final Application application)
{
this.application = application;
- add(new PageInstanceMapper());
- add(new BookmarkableMapper());
- add(new HomePageMapper(new HomePageProvider(application)));
- add(new ResourceReferenceMapper(new PageParametersEncoder(),
+
+ add(newPageInstanceMapper());
+ add(newBookmarkableMapper());
+ add(newHomePageMapper(new HomePageProvider(application)));
+ add(newResourceReferenceMapper(new PageParametersEncoder(),
new ParentFolderPlaceholderProvider(application), getResourceCachingStrategy()));
- add(new UrlResourceReferenceMapper());
+ add(newUrlResourceReferenceMapper());
add(RestartResponseAtInterceptPageException.MAPPER);
- add(new BufferedResponseMapper());
+ add(newBufferedResponseMapper());
+ }
+
+ protected IRequestMapper newBufferedResponseMapper()
+ {
+ return new BufferedResponseMapper();
+ }
+
+ protected IRequestMapper newUrlResourceReferenceMapper()
+ {
+ return new UrlResourceReferenceMapper();
+ }
+
+ private IRequestMapper newResourceReferenceMapper(PageParametersEncoder pageParametersEncoder,
+ ParentFolderPlaceholderProvider parentFolderPlaceholderProvider,
+ Supplier<IResourceCachingStrategy> resourceCachingStrategy)
+ {
+ return new ResourceReferenceMapper(pageParametersEncoder, parentFolderPlaceholderProvider,resourceCachingStrategy);
+ }
+
+ protected IRequestMapper newBookmarkableMapper()
+ {
+ return new BookmarkableMapper();
+ }
+
+ protected IRequestMapper newPageInstanceMapper()
+ {
+ return new PageInstanceMapper();
+ }
+
+ protected IRequestMapper newHomePageMapper(Supplier<Class<? extends IRequestablePage>> homePageProvider)
+ {
+ return new HomePageMapper(homePageProvider);
}
- private Supplier<IResourceCachingStrategy> getResourceCachingStrategy()
+ protected Supplier<IResourceCachingStrategy> getResourceCachingStrategy()
{
return () -> application.getResourceSettings().getCachingStrategy();
}
- private static class ParentFolderPlaceholderProvider implements Supplier<String>
+ protected static class ParentFolderPlaceholderProvider implements Supplier<String>
{
private final Application application;
- public ParentFolderPlaceholderProvider(Application application)
+ protected ParentFolderPlaceholderProvider(Application application)
{
this.application = application;
}
@@ -77,11 +110,11 @@ public class SystemMapper extends CompoundRequestMapper
}
}
- private static class HomePageProvider<C extends Page> implements Supplier<Class<C>>
+ protected static class HomePageProvider<C extends Page> implements Supplier<Class<C>>
{
private final Application application;
- private HomePageProvider(final Application application)
+ protected HomePageProvider(final Application application)
{
this.application = application;
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/ab784c01/wicket-request/src/main/java/org/apache/wicket/request/mapper/CompoundRequestMapper.java
----------------------------------------------------------------------
diff --git a/wicket-request/src/main/java/org/apache/wicket/request/mapper/CompoundRequestMapper.java b/wicket-request/src/main/java/org/apache/wicket/request/mapper/CompoundRequestMapper.java
index 07f858e..c4007e8 100644
--- a/wicket-request/src/main/java/org/apache/wicket/request/mapper/CompoundRequestMapper.java
+++ b/wicket-request/src/main/java/org/apache/wicket/request/mapper/CompoundRequestMapper.java
@@ -42,9 +42,6 @@ public class CompoundRequestMapper implements ICompoundRequestMapper
{
private static final Logger LOG = LoggerFactory.getLogger(CompoundRequestMapper.class);
- /**
- *
- */
static class MapperWithScore implements Comparable<MapperWithScore>
{
private final IRequestMapper mapper;