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;