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 2014/08/12 10:47:23 UTC

[2/8] git commit: WICKET-5539 Incorrect recreation of page in case of PageExpire

WICKET-5539 Incorrect recreation of page in case of PageExpire

Support named parameters type.
The type is a hint from where the parameter has been read from - the url path, the url query string, or manually set


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/5f0e63c8
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/5f0e63c8
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/5f0e63c8

Branch: refs/heads/master
Commit: 5f0e63c8a91ea74c57ed6ba65a9f8a60d30eb130
Parents: f3f065c
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon Aug 11 11:37:00 2014 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon Aug 11 12:11:04 2014 +0200

----------------------------------------------------------------------
 .../wicket/cdi/ConversationPropagator.java      |  5 +-
 .../wicket/cdi/ConversationPropagatorTest.java  |  7 +-
 .../wicket/cdi/ConversationPropagator.java      |  3 +-
 .../mapper/AbstractBookmarkableMapper.java      |  5 +-
 .../core/request/mapper/ResourceMapper.java     |  3 +-
 .../wicket/protocol/http/RequestUtils.java      |  7 +-
 ...tringWithVersionResourceCachingStrategy.java |  2 +-
 .../org/apache/wicket/RequestEncodingTest.java  |  5 +-
 .../apache/wicket/SharedResourceUrlTest.java    |  5 +-
 .../BasicResourceReferenceMapperTest.java       | 30 +++------
 .../request/mapper/BookmarkableMapperTest.java  | 25 +++----
 .../core/request/mapper/CryptoMapperTest.java   |  9 +--
 .../core/request/mapper/MountedMapperTest.java  | 71 ++++++++++----------
 .../core/request/mapper/PackageMapperTest.java  | 29 ++++----
 .../wicket/core/request/mapper/UrlInfoTest.java |  7 +-
 .../html/basic/SimpleResponsePageClass.java     |  3 +-
 .../wicket/markup/html/form/FormTest.java       |  5 +-
 .../markup/html/internal/EnclosureTest.java     | 11 +--
 .../link/BookmarkableHomePageLinksPage.java     |  3 +-
 .../html/link/BookmarkablePageLinkTest.java     |  5 +-
 .../markup/html/link/MountedPageLinkTest.java   |  9 +--
 .../PageExpirationRecoveryTest.java             |  5 +-
 .../redirect/abort/AbortExceptionTest.java      |  5 +-
 ...elessPageManipulatingPageParametersTest.java |  3 +-
 ...gWithVersionResourceCachingStrategyTest.java |  5 +-
 .../wicket/session/DefaultPageFactoryTest.java  |  3 +-
 .../stateless/StatelessComponentTest.java       |  9 +--
 .../wicket/stateless/StatelessFormTest.java     |  5 +-
 .../wicket/util/tester/FormTesterTest.java      |  3 +-
 .../util/tester/MockFormFileUploadPage.java     |  3 +-
 .../util/tester/MockPageParameterPage.java      |  3 +-
 .../wicket/util/tester/WicketTesterTest.java    |  7 +-
 .../devutils/debugbar/InspectorDebugPanel.java  |  3 +-
 .../wicket/examples/asemail/MailTemplate.java   |  3 +-
 .../compref/BookmarkablePageLinkPage.java       |  5 +-
 .../apache/wicket/examples/hangman/Guess.java   |  5 +-
 .../wicket/examples/library/BookDetails.java    |  3 +-
 .../apache/wicket/examples/linkomatic/Home.java |  3 +-
 .../apache/wicket/examples/niceurl/Page2.java   |  5 +-
 .../wicket/examples/niceurl/mounted/Page5.java  |  5 +-
 .../wicket/examples/source/SourcesPage.java     |  5 +-
 .../examples/stateless/StatelessPage3.java      |  5 +-
 .../tree/content/BookmarkableFolderContent.java |  5 +-
 .../wicket/examples/hangman/HangManTest.java    |  5 +-
 .../html/form/upload/UploadStatusResource.java  |  5 +-
 .../html/repeater/data/table/DataTableTest.java |  5 +-
 .../mapper/parameter/IIndexedParameters.java    | 14 ++--
 .../mapper/parameter/INamedParameters.java      | 35 ++++++++--
 .../mapper/parameter/NamedParameterType.java    | 30 +++++++++
 .../mapper/parameter/PageParameters.java        | 48 ++++---------
 .../mapper/parameter/PageParametersEncoder.java |  2 +-
 .../parameter/UrlPathPageParametersEncoder.java |  2 +-
 .../mapper/parameter/PageParametersTest.java    | 40 ++++++-----
 .../UrlPathPageParametersEncoderTest.java       |  8 +--
 54 files changed, 310 insertions(+), 231 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-cdi-1.1/src/main/java/org/apache/wicket/cdi/ConversationPropagator.java
----------------------------------------------------------------------
diff --git a/wicket-cdi-1.1/src/main/java/org/apache/wicket/cdi/ConversationPropagator.java b/wicket-cdi-1.1/src/main/java/org/apache/wicket/cdi/ConversationPropagator.java
index 3e3cbbf..48487fe 100644
--- a/wicket-cdi-1.1/src/main/java/org/apache/wicket/cdi/ConversationPropagator.java
+++ b/wicket-cdi-1.1/src/main/java/org/apache/wicket/cdi/ConversationPropagator.java
@@ -33,6 +33,7 @@ import org.apache.wicket.request.cycle.AbstractRequestCycleListener;
 import org.apache.wicket.request.cycle.IRequestCycleListener;
 import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.request.handler.resource.ResourceReferenceRequestHandler;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.request.resource.PackageResourceReference;
 import org.apache.wicket.util.lang.Args;
@@ -74,7 +75,7 @@ public class ConversationPropagator extends AbstractRequestCycleListener
 	/**
 	 * Constructor
 	 * 
-	 * @param container
+	 * @param application
 	 * @param propagation
 	 */
 	public ConversationPropagator(Application application, IConversationPropagation propagation)
@@ -140,7 +141,7 @@ public class ConversationPropagator extends AbstractRequestCycleListener
 			PageParameters parameters = getPageParameters(handler);
 			if (parameters != null)
 			{
-				parameters.set(CID, conversation.getId());
+				parameters.set(CID, conversation.getId(), INamedParameters.Type.MANUAL);
 				markPageWithConversationId(handler, conversation.getId());
 			}
 		}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-cdi-1.1/src/test/java/org/apache/wicket/cdi/ConversationPropagatorTest.java
----------------------------------------------------------------------
diff --git a/wicket-cdi-1.1/src/test/java/org/apache/wicket/cdi/ConversationPropagatorTest.java b/wicket-cdi-1.1/src/test/java/org/apache/wicket/cdi/ConversationPropagatorTest.java
index eefebde..e7e8924 100644
--- a/wicket-cdi-1.1/src/test/java/org/apache/wicket/cdi/ConversationPropagatorTest.java
+++ b/wicket-cdi-1.1/src/test/java/org/apache/wicket/cdi/ConversationPropagatorTest.java
@@ -18,6 +18,7 @@ package org.apache.wicket.cdi;
 
 import org.apache.wicket.cdi.testapp.TestConversationPage;
 import org.apache.wicket.cdi.testapp.TestConversationalPage;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.junit.Test;
 
@@ -52,7 +53,7 @@ public class ConversationPropagatorTest extends WicketCdiTestCase
 		configure(new CdiConfiguration());
 
 		tester.startPage(TestConversationalPage.class,
-				new PageParameters().add("pageType", "bookmarkable"));
+				new PageParameters().add("pageType", "bookmarkable", INamedParameters.Type.MANUAL));
 
 		int i;
 		for (i = 0; i < 3; i++)
@@ -94,7 +95,7 @@ public class ConversationPropagatorTest extends WicketCdiTestCase
 		configure(new CdiConfiguration().setPropagation(ConversationPropagation.ALL));
 
 		tester.startPage(TestConversationPage.class,
-				new PageParameters().add("pageType", "bookmarkable"));
+				new PageParameters().add("pageType", "bookmarkable", INamedParameters.Type.MANUAL));
 		int i;
 		for (i = 0; i < 3; i++)
 		{
@@ -115,7 +116,7 @@ public class ConversationPropagatorTest extends WicketCdiTestCase
 		configure(new CdiConfiguration());
 
 		tester.startPage(TestConversationPage.class,
-				new PageParameters().add("pageType", "bookmarkable"));
+				new PageParameters().add("pageType", "bookmarkable", INamedParameters.Type.MANUAL));
 		int i;
 		for (i = 0; i < 3; i++)
 		{

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-cdi/src/main/java/org/apache/wicket/cdi/ConversationPropagator.java
----------------------------------------------------------------------
diff --git a/wicket-cdi/src/main/java/org/apache/wicket/cdi/ConversationPropagator.java b/wicket-cdi/src/main/java/org/apache/wicket/cdi/ConversationPropagator.java
index 568e117..430609f 100644
--- a/wicket-cdi/src/main/java/org/apache/wicket/cdi/ConversationPropagator.java
+++ b/wicket-cdi/src/main/java/org/apache/wicket/cdi/ConversationPropagator.java
@@ -37,6 +37,7 @@ import org.apache.wicket.request.cycle.AbstractRequestCycleListener;
 import org.apache.wicket.request.cycle.IRequestCycleListener;
 import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.request.handler.resource.ResourceReferenceRequestHandler;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.request.resource.PackageResourceReference;
 import org.apache.wicket.util.lang.Args;
@@ -281,7 +282,7 @@ public class ConversationPropagator extends AbstractRequestCycleListener
 			PageParameters parameters = getPageParameters(handler);
 			if (parameters != null)
 			{
-				parameters.set(CID, conversation.getId());
+				parameters.set(CID, conversation.getId(), INamedParameters.Type.MANUAL);
 			}
 		}
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java
index 659f7f2..658c98f 100644
--- a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java
+++ b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java
@@ -39,6 +39,7 @@ import org.apache.wicket.request.http.WebRequest;
 import org.apache.wicket.request.mapper.info.ComponentInfo;
 import org.apache.wicket.request.mapper.info.PageComponentInfo;
 import org.apache.wicket.request.mapper.info.PageInfo;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.IPageParametersEncoder;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.request.mapper.parameter.PageParametersEncoder;
@@ -629,12 +630,12 @@ public abstract class AbstractBookmarkableMapper extends AbstractComponentMapper
 				if (placeholder != null)
 				{
 					pageParameters.add(placeholder,
-							url.getSegments().get(curSegmentIndex - skippedParameters));
+							url.getSegments().get(curSegmentIndex - skippedParameters), INamedParameters.Type.PATH);
 				}
 				else if (optionalPlaceholder != null && optionalParameterMatch > 0)
 				{
 					pageParameters.add(optionalPlaceholder,
-							url.getSegments().get(curSegmentIndex - skippedParameters));
+							url.getSegments().get(curSegmentIndex - skippedParameters), INamedParameters.Type.PATH);
 					optionalParameterMatch--;
 				}
 			}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/ResourceMapper.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/ResourceMapper.java b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/ResourceMapper.java
index 718ede2..cc6f6d3 100644
--- a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/ResourceMapper.java
+++ b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/ResourceMapper.java
@@ -28,6 +28,7 @@ import org.apache.wicket.request.Url;
 import org.apache.wicket.request.handler.resource.ResourceReferenceRequestHandler;
 import org.apache.wicket.request.http.flow.AbortWithHttpErrorCodeException;
 import org.apache.wicket.request.mapper.AbstractMapper;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.IPageParametersEncoder;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.request.mapper.parameter.PageParametersEncoder;
@@ -148,7 +149,7 @@ public class ResourceMapper extends AbstractMapper implements IRequestMapper
 				{
 					parameters = new PageParameters();
 				}
-				parameters.add(placeholder, url.getSegments().get(index));
+				parameters.add(placeholder, url.getSegments().get(index), INamedParameters.Type.PATH);
 			}
 		}
 		return new ResourceReferenceRequestHandler(resourceReference, parameters);

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java
index 9a04164..ab3c808 100644
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java
@@ -26,6 +26,7 @@ import javax.servlet.http.HttpServletRequest;
 
 import org.apache.wicket.Application;
 import org.apache.wicket.request.cycle.RequestCycle;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.encoding.UrlDecoder;
 import org.apache.wicket.util.string.Strings;
@@ -77,11 +78,11 @@ public final class RequestUtils
 			if (bits.length == 2)
 			{
 				params.add(UrlDecoder.QUERY_INSTANCE.decode(bits[0], currentCharset),
-					UrlDecoder.QUERY_INSTANCE.decode(bits[1], currentCharset));
+					UrlDecoder.QUERY_INSTANCE.decode(bits[1], currentCharset), INamedParameters.Type.QUERY_STRING);
 			}
 			else
 			{
-				params.add(UrlDecoder.QUERY_INSTANCE.decode(bits[0], currentCharset), "");
+				params.add(UrlDecoder.QUERY_INSTANCE.decode(bits[0], currentCharset), "", INamedParameters.Type.QUERY_STRING);
 			}
 		}
 	}
@@ -209,7 +210,7 @@ public final class RequestUtils
 	 * @return the request's charset or a default it request is {@code null} or has an unsupported
 	 *         character encoding
 	 * 
-	 * @see IRequestCycleSettings#getResponseRequestEncoding()
+	 * @see org.apache.wicket.settings.RequestCycleSettings#getResponseRequestEncoding()
 	 */
 	public static Charset getCharset(HttpServletRequest request)
 	{

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/main/java/org/apache/wicket/request/resource/caching/QueryStringWithVersionResourceCachingStrategy.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/request/resource/caching/QueryStringWithVersionResourceCachingStrategy.java b/wicket-core/src/main/java/org/apache/wicket/request/resource/caching/QueryStringWithVersionResourceCachingStrategy.java
index b3d6465..117db37 100644
--- a/wicket-core/src/main/java/org/apache/wicket/request/resource/caching/QueryStringWithVersionResourceCachingStrategy.java
+++ b/wicket-core/src/main/java/org/apache/wicket/request/resource/caching/QueryStringWithVersionResourceCachingStrategy.java
@@ -101,7 +101,7 @@ public class QueryStringWithVersionResourceCachingStrategy implements IResourceC
 
 		if (version != null)
 		{
-			url.getParameters().set(versionParameter, version);
+			url.getParameters().set(versionParameter, version, INamedParameters.Type.MANUAL);
 		}
 	}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/RequestEncodingTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/RequestEncodingTest.java b/wicket-core/src/test/java/org/apache/wicket/RequestEncodingTest.java
index c0a36a6..c5d7a0d 100644
--- a/wicket-core/src/test/java/org/apache/wicket/RequestEncodingTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/RequestEncodingTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket;
 
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.tester.WicketTester;
 import org.junit.After;
@@ -37,7 +38,7 @@ public class RequestEncodingTest extends Assert
 	private WicketTester tester;
 
 	/**
-	 * @see org.apache.wicket.WicketTestCase#setUp()
+	 * @see WicketTestCase#commonBefore()
 	 */
 	@Before
 	public void setUp()
@@ -64,7 +65,7 @@ public class RequestEncodingTest extends Assert
 	public void defaultTest()
 	{
 		tester.startPage(RedirectA.class,
-			new PageParameters().set("file", "umlaut-\u00E4-\u00F6-\u00FC"));
+			new PageParameters().set("file", "umlaut-\u00E4-\u00F6-\u00FC", INamedParameters.Type.MANUAL));
 		tester.assertRenderedPage(RedirectB.class);
 
 		String url2 = ((RedirectB)tester.getLastRenderedPage()).getInterceptContinuationURL();

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/SharedResourceUrlTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/SharedResourceUrlTest.java b/wicket-core/src/test/java/org/apache/wicket/SharedResourceUrlTest.java
index 947e16b..6e16fe6 100644
--- a/wicket-core/src/test/java/org/apache/wicket/SharedResourceUrlTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/SharedResourceUrlTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket;
 
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.request.resource.PackageResourceReference;
 import org.apache.wicket.request.resource.ResourceReference;
@@ -50,13 +51,13 @@ public class SharedResourceUrlTest extends WicketTestCase
 	{
 		ResourceReference rr = new SharedResourceReference("test");
 		CharSequence url = tester.getRequestCycle()
-			.mapUrlFor(rr, new PageParameters().set("param", "value"))
+			.mapUrlFor(rr, new PageParameters().set("param", "value", INamedParameters.Type.MANUAL))
 			.toString();
 		assertEquals("wicket/resource/org.apache.wicket.Application/test?param=value", url);
 
 		rr = new PackageResourceReference(SharedResourceUrlTest.class, "test");
 		url = tester.getRequestCycle()
-			.mapUrlFor(rr, new PageParameters().set("param", "value"))
+			.mapUrlFor(rr, new PageParameters().set("param", "value", INamedParameters.Type.MANUAL))
 			.toString();
 		assertEquals("wicket/resource/org.apache.wicket.SharedResourceUrlTest/test?param=value",
 			url);

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/BasicResourceReferenceMapperTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/BasicResourceReferenceMapperTest.java b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/BasicResourceReferenceMapperTest.java
index d7cce88..8f0e752 100644
--- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/BasicResourceReferenceMapperTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/BasicResourceReferenceMapperTest.java
@@ -49,7 +49,7 @@ import org.junit.Test;
  */
 public class BasicResourceReferenceMapperTest extends AbstractResourceReferenceMapperTest
 {
-	private static final IProvider<IResourceCachingStrategy> NO_CACHING = new ValueProvider<IResourceCachingStrategy>(
+	private static final IProvider<IResourceCachingStrategy> NO_CACHING = new ValueProvider<>(
 		NoOpResourceCachingStrategy.INSTANCE);
 
 	private final BasicResourceReferenceMapper encoder = new BasicResourceReferenceMapper(
@@ -345,8 +345,8 @@ public class BasicResourceReferenceMapperTest extends AbstractResourceReferenceM
 	{
 		PageParameters parameters = new PageParameters();
 		parameters.set(0, "X");
-		parameters.add("p1", "v1");
-		parameters.add("p2", "v2");
+		parameters.add("p1", "v1", INamedParameters.Type.QUERY_STRING);
+		parameters.add("p2", "v2", INamedParameters.Type.QUERY_STRING);
 		ResourceReferenceRequestHandler handler = new ResourceReferenceRequestHandler(reference1,
 			parameters);
 
@@ -374,8 +374,8 @@ public class BasicResourceReferenceMapperTest extends AbstractResourceReferenceM
 	{
 		PageParameters parameters = new PageParameters();
 		parameters.set(0, "X");
-		parameters.add("p1", "v1");
-		parameters.add("p2", "v2");
+		parameters.add("p1", "v1", INamedParameters.Type.QUERY_STRING);
+		parameters.add("p2", "v2", INamedParameters.Type.QUERY_STRING);
 		ResourceReferenceRequestHandler handler = new ResourceReferenceRequestHandler(reference2,
 			parameters);
 
@@ -404,8 +404,8 @@ public class BasicResourceReferenceMapperTest extends AbstractResourceReferenceM
 	{
 		PageParameters parameters = new PageParameters();
 		parameters.set(0, "X");
-		parameters.add("p1", "v1");
-		parameters.add("p2", "v2");
+		parameters.add("p1", "v1", INamedParameters.Type.QUERY_STRING);
+		parameters.add("p2", "v2", INamedParameters.Type.QUERY_STRING);
 		ResourceReferenceRequestHandler handler = new ResourceReferenceRequestHandler(reference3,
 			parameters);
 
@@ -434,8 +434,8 @@ public class BasicResourceReferenceMapperTest extends AbstractResourceReferenceM
 	{
 		PageParameters parameters = new PageParameters();
 		parameters.set(0, "X");
-		parameters.add("p1", "v1");
-		parameters.add("p2", "v2");
+		parameters.add("p1", "v1", INamedParameters.Type.QUERY_STRING);
+		parameters.add("p2", "v2", INamedParameters.Type.QUERY_STRING);
 		ResourceReferenceRequestHandler handler = new ResourceReferenceRequestHandler(reference4,
 			parameters);
 
@@ -491,18 +491,6 @@ public class BasicResourceReferenceMapperTest extends AbstractResourceReferenceM
 			}
 		};
 
-		final ResourceReference reference = new ResourceReference(getClass(), "versioned",
-			Locale.ENGLISH, "style", null)
-		{
-			private static final long serialVersionUID = 1L;
-
-			@Override
-			public IResource getResource()
-			{
-				return resource;
-			}
-		};
-
 		IResourceCachingStrategy strategy = new FilenameWithVersionResourceCachingStrategy(
 			"-version-", new AlphaDigitResourceVersion("foobar"));
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/BookmarkableMapperTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/BookmarkableMapperTest.java b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/BookmarkableMapperTest.java
index 910c821..b35ec08 100644
--- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/BookmarkableMapperTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/BookmarkableMapperTest.java
@@ -34,6 +34,7 @@ import org.apache.wicket.request.Request;
 import org.apache.wicket.request.Url;
 import org.apache.wicket.request.component.IRequestableComponent;
 import org.apache.wicket.request.component.IRequestablePage;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.junit.Test;
 
@@ -476,8 +477,8 @@ public class BookmarkableMapperTest extends AbstractMapperTest
 		PageParameters parameters = new PageParameters();
 		parameters.set(0, "i1");
 		parameters.set(1, "i2");
-		parameters.set("a", "b");
-		parameters.set("b", "c");
+		parameters.set("a", "b", INamedParameters.Type.QUERY_STRING);
+		parameters.set("b", "c", INamedParameters.Type.QUERY_STRING);
 		PageProvider provider = new PageProvider(MockPage.class, parameters);
 		provider.setPageSource(context);
 		IRequestHandler handler = new BookmarkablePageRequestHandler(provider);
@@ -494,8 +495,8 @@ public class BookmarkableMapperTest extends AbstractMapperTest
 		PageParameters parameters = new PageParameters();
 		parameters.set(0, "i1");
 		parameters.set(1, "i2");
-		parameters.set("a", "b");
-		parameters.set("b", "c");
+		parameters.set("a", "b", INamedParameters.Type.QUERY_STRING);
+		parameters.set("b", "c", INamedParameters.Type.QUERY_STRING);
 
 		PageProvider provider = new PageProvider(MockPage.class, parameters);
 		provider.setPageSource(context);
@@ -514,8 +515,8 @@ public class BookmarkableMapperTest extends AbstractMapperTest
 		MockPage page = new MockPage(15);
 		page.getPageParameters().set(0, "i1");
 		page.getPageParameters().set(1, "i2");
-		page.getPageParameters().set("a", "b");
-		page.getPageParameters().set("b", "c");
+		page.getPageParameters().set("a", "b", INamedParameters.Type.QUERY_STRING);
+		page.getPageParameters().set("b", "c", INamedParameters.Type.QUERY_STRING);
 		page.setCreatedBookmarkable(true);
 
 		IPageProvider provider = new PageProvider(page);
@@ -534,8 +535,8 @@ public class BookmarkableMapperTest extends AbstractMapperTest
 		MockPage page = new MockPage(15);
 		page.getPageParameters().set(0, "i1");
 		page.getPageParameters().set(1, "i2");
-		page.getPageParameters().set("a", "b");
-		page.getPageParameters().set("b", "c");
+		page.getPageParameters().set("a", "b", INamedParameters.Type.QUERY_STRING);
+		page.getPageParameters().set("b", "c", INamedParameters.Type.QUERY_STRING);
 
 		page.setCreatedBookmarkable(false);
 
@@ -559,8 +560,8 @@ public class BookmarkableMapperTest extends AbstractMapperTest
 		MockPage page = new MockPage(15);
 		page.getPageParameters().set(0, "i1");
 		page.getPageParameters().set(1, "i2");
-		page.getPageParameters().set("a", "b");
-		page.getPageParameters().set("b", "c");
+		page.getPageParameters().set("a", "b", INamedParameters.Type.QUERY_STRING);
+		page.getPageParameters().set("b", "c", INamedParameters.Type.QUERY_STRING);
 
 		// shouldn't make any difference for
 		// BookmarkableListenerInterfaceRequestHandler,
@@ -588,8 +589,8 @@ public class BookmarkableMapperTest extends AbstractMapperTest
 		MockPage page = new MockPage(15);
 		page.getPageParameters().set(0, "i1");
 		page.getPageParameters().set(1, "i2");
-		page.getPageParameters().set("a", "b");
-		page.getPageParameters().set("b", "c");
+		page.getPageParameters().set("a", "b", INamedParameters.Type.QUERY_STRING);
+		page.getPageParameters().set("b", "c", INamedParameters.Type.QUERY_STRING);
 
 		// shouldn't make any difference for
 		// BookmarkableListenerInterfaceRequestHandler,

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/CryptoMapperTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/CryptoMapperTest.java b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/CryptoMapperTest.java
index d1e33df..0eb0653 100644
--- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/CryptoMapperTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/CryptoMapperTest.java
@@ -32,6 +32,7 @@ import org.apache.wicket.request.Url;
 import org.apache.wicket.request.Url.StringMode;
 import org.apache.wicket.request.component.IRequestableComponent;
 import org.apache.wicket.request.handler.resource.ResourceReferenceRequestHandler;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.request.resource.PackageResourceReference;
 import org.apache.wicket.request.resource.UrlResourceReference;
@@ -178,8 +179,8 @@ public class CryptoMapperTest extends AbstractMapperTest
 		String expectedEncrypted = "ywKWg-Qpk7YQBiYCmj9MaAJSIV1gtssNinjiALijtet62VMQc2-sMK_RchttkidUpYM_cplXKeZSfGxBkvWzH_E_zWv4Ii7MNSm5nXKno7o/ywK6c/MK_c0/nji3c/Qpk1b/XKnba/c2-cd";
 
 		PageParameters expectedParameters = new PageParameters();
-		expectedParameters.add("namedKey1", "namedValue1");
-		expectedParameters.add("namedKey2", "namedValue2");
+		expectedParameters.add("namedKey1", "namedValue1", INamedParameters.Type.MANUAL);
+		expectedParameters.add("namedKey2", "namedValue2", INamedParameters.Type.MANUAL);
 		expectedParameters.set(0, "indexedValue1");
 		expectedParameters.set(1, "indexedValue2");
 		RenderPageRequestHandler renderPageRequestHandler = new RenderPageRequestHandler(
@@ -209,7 +210,7 @@ public class CryptoMapperTest extends AbstractMapperTest
 	{
 		String expectedEncrypted = "?namedKey1=namedValue1";
 		PageParameters expectedParameters = new PageParameters();
-		expectedParameters.add("namedKey1", "namedValue1");
+		expectedParameters.add("namedKey1", "namedValue1", INamedParameters.Type.MANUAL);
 
 		RenderPageRequestHandler renderPageRequestHandler = new RenderPageRequestHandler(
 			new PageProvider(tester.getApplication().getHomePage(), expectedParameters));
@@ -365,4 +366,4 @@ public class CryptoMapperTest extends AbstractMapperTest
 		assertEquals("foo", ((RequestSettingRequestHandler)requestHandler).getRequest().getUrl()
 			.getQueryParameterValue("q").toString());
 	}
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/MountedMapperTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/MountedMapperTest.java b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/MountedMapperTest.java
index 0024874..6d65a7b 100644
--- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/MountedMapperTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/MountedMapperTest.java
@@ -35,6 +35,7 @@ import org.apache.wicket.request.Url;
 import org.apache.wicket.request.component.IRequestableComponent;
 import org.apache.wicket.request.component.IRequestablePage;
 import org.apache.wicket.request.http.WebRequest;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.junit.Test;
 
@@ -370,8 +371,8 @@ public class MountedMapperTest extends AbstractMapperTest
 		PageParameters parameters = new PageParameters();
 		parameters.set(0, "i1");
 		parameters.set(1, "i2");
-		parameters.set("a", "b");
-		parameters.set("b", "c");
+		parameters.set("a", "b", INamedParameters.Type.QUERY_STRING);
+		parameters.set("b", "c", INamedParameters.Type.QUERY_STRING);
 		PageProvider provider = new PageProvider(MockPage.class, parameters);
 		provider.setPageSource(context);
 		IRequestHandler handler = new BookmarkablePageRequestHandler(provider);
@@ -388,8 +389,8 @@ public class MountedMapperTest extends AbstractMapperTest
 		PageParameters parameters = new PageParameters();
 		parameters.set(0, "i1");
 		parameters.set(1, "i2");
-		parameters.set("a", "b");
-		parameters.set("b", "c");
+		parameters.set("a", "b", INamedParameters.Type.QUERY_STRING);
+		parameters.set("b", "c", INamedParameters.Type.QUERY_STRING);
 
 		PageProvider provider = new PageProvider(MockPage.class, parameters);
 		provider.setPageSource(context);
@@ -408,8 +409,8 @@ public class MountedMapperTest extends AbstractMapperTest
 		MockPage page = new MockPage(15);
 		page.getPageParameters().set(0, "i1");
 		page.getPageParameters().set(1, "i2");
-		page.getPageParameters().set("a", "b");
-		page.getPageParameters().set("b", "c");
+		page.getPageParameters().set("a", "b", INamedParameters.Type.QUERY_STRING);
+		page.getPageParameters().set("b", "c", INamedParameters.Type.QUERY_STRING);
 		page.setCreatedBookmarkable(true);
 
 		IPageProvider provider = new PageProvider(page);
@@ -428,8 +429,8 @@ public class MountedMapperTest extends AbstractMapperTest
 		MockPage page = new MockPage(15);
 		page.getPageParameters().set(0, "i1");
 		page.getPageParameters().set(1, "i2");
-		page.getPageParameters().set("a", "b");
-		page.getPageParameters().set("b", "c");
+		page.getPageParameters().set("a", "b", INamedParameters.Type.QUERY_STRING);
+		page.getPageParameters().set("b", "c", INamedParameters.Type.QUERY_STRING);
 
 		page.setCreatedBookmarkable(false);
 
@@ -454,8 +455,8 @@ public class MountedMapperTest extends AbstractMapperTest
 		MockPage page = new MockPage(15);
 		page.getPageParameters().set(0, "i1");
 		page.getPageParameters().set(1, "i2");
-		page.getPageParameters().set("a", "b");
-		page.getPageParameters().set("b", "c");
+		page.getPageParameters().set("a", "b", INamedParameters.Type.QUERY_STRING);
+		page.getPageParameters().set("b", "c", INamedParameters.Type.QUERY_STRING);
 		page.setRenderCount(4);
 
 		// shouldn't make any difference for
@@ -486,17 +487,17 @@ public class MountedMapperTest extends AbstractMapperTest
 		MockPage page = new MockPage(15);
 		page.getPageParameters().set(0, "i1");
 		page.getPageParameters().set(1, "i2");
-		page.getPageParameters().set("a", "b");
-		page.getPageParameters().set("b", "c");
+		page.getPageParameters().set("a", "b", INamedParameters.Type.QUERY_STRING);
+		page.getPageParameters().set("b", "c", INamedParameters.Type.QUERY_STRING);
 
 		// WICKET-4038
-		page.getPageParameters().add(WebRequest.PARAM_AJAX, "true");
-		page.getPageParameters().add(WebRequest.PARAM_AJAX_BASE_URL, "some/base/url");
+		page.getPageParameters().add(WebRequest.PARAM_AJAX, "true", INamedParameters.Type.QUERY_STRING);
+		page.getPageParameters().add(WebRequest.PARAM_AJAX_BASE_URL, "some/base/url", INamedParameters.Type.QUERY_STRING);
 
 		page.setRenderCount(4);
 
 		// shouldn't make any difference for ListenerInterfaceRequestHandler,
-		// as this explicitely says the url must be bookmarkable
+		// as this explicitly says the url must be bookmarkable
 		page.setCreatedBookmarkable(false);
 
 		IRequestableComponent c = page.get("foo:bar");
@@ -519,8 +520,8 @@ public class MountedMapperTest extends AbstractMapperTest
 		MockPage page = new MockPage(15);
 		page.getPageParameters().set(0, "i1");
 		page.getPageParameters().set(1, "i2");
-		page.getPageParameters().set("a", "b");
-		page.getPageParameters().set("b", "c");
+		page.getPageParameters().set("a", "b", INamedParameters.Type.QUERY_STRING);
+		page.getPageParameters().set("b", "c", INamedParameters.Type.QUERY_STRING);
 		page.setRenderCount(5);
 
 		// shouldn't make any difference for
@@ -551,8 +552,8 @@ public class MountedMapperTest extends AbstractMapperTest
 		MockPage page = new MockPage(15);
 		page.getPageParameters().set(0, "i1");
 		page.getPageParameters().set(1, "i2");
-		page.getPageParameters().set("a", "b");
-		page.getPageParameters().set("b", "c");
+		page.getPageParameters().set("a", "b", INamedParameters.Type.QUERY_STRING);
+		page.getPageParameters().set("b", "c", INamedParameters.Type.QUERY_STRING);
 		page.setRenderCount(5);
 
 		// shouldn't make any difference for ListenerInterfaceRequestHandler,
@@ -676,10 +677,10 @@ public class MountedMapperTest extends AbstractMapperTest
 		PageParameters parameters = new PageParameters();
 		parameters.set(0, "i1");
 		parameters.set(1, "i2");
-		parameters.set("a", "b");
-		parameters.set("b", "c");
-		parameters.set("param1", "p1");
-		parameters.set("param2", "p2");
+		parameters.set("a", "b", INamedParameters.Type.QUERY_STRING);
+		parameters.set("b", "c", INamedParameters.Type.QUERY_STRING);
+		parameters.set("param1", "p1", INamedParameters.Type.PATH);
+		parameters.set("param2", "p2", INamedParameters.Type.PATH);
 
 
 		PageProvider provider = new PageProvider(MockPage.class, parameters);
@@ -699,10 +700,10 @@ public class MountedMapperTest extends AbstractMapperTest
 		PageParameters parameters = new PageParameters();
 		parameters.set(0, "i1");
 		parameters.set(1, "i2");
-		parameters.set("a", "b");
-		parameters.set("b", "c");
-		parameters.set("param1", "p1");
-		parameters.set("param2", "p2");
+		parameters.set("a", "b", INamedParameters.Type.QUERY_STRING);
+		parameters.set("b", "c", INamedParameters.Type.QUERY_STRING);
+		parameters.set("param1", "p1", INamedParameters.Type.PATH);
+		parameters.set("param2", "p2", INamedParameters.Type.PATH);
 
 		PageProvider provider = new PageProvider(MockPage.class, parameters)
 		{
@@ -836,10 +837,10 @@ public class MountedMapperTest extends AbstractMapperTest
 		PageParameters parameters = new PageParameters();
 		parameters.set(0, "i1");
 		parameters.set(1, "i2");
-		parameters.set("a", "b");
-		parameters.set("b", "c");
-		parameters.set("param1", "p1");
-		parameters.set("param2", "p2");
+		parameters.set("a", "b", INamedParameters.Type.QUERY_STRING);
+		parameters.set("b", "c", INamedParameters.Type.QUERY_STRING);
+		parameters.set("param1", "p1", INamedParameters.Type.PATH);
+		parameters.set("param2", "p2", INamedParameters.Type.PATH);
 
 
 		PageProvider provider = new PageProvider(MockPage.class, parameters);
@@ -856,10 +857,10 @@ public class MountedMapperTest extends AbstractMapperTest
 		PageParameters parameters = new PageParameters();
 		parameters.set(0, "i1");
 		parameters.set(1, "i2");
-		parameters.set("a", "b");
-		parameters.set("b", "c");
-		parameters.set("param2", "p2");
-		parameters.set("param3", "p3");
+		parameters.set("a", "b", INamedParameters.Type.QUERY_STRING);
+		parameters.set("b", "c", INamedParameters.Type.QUERY_STRING);
+		parameters.set("param2", "p2", INamedParameters.Type.PATH);
+		parameters.set("param3", "p3", INamedParameters.Type.PATH);
 
 
 		PageProvider provider = new PageProvider(MockPage.class, parameters);

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PackageMapperTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PackageMapperTest.java b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PackageMapperTest.java
index 9285fa0..413c70d 100644
--- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PackageMapperTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PackageMapperTest.java
@@ -34,6 +34,7 @@ import org.apache.wicket.request.IRequestHandler;
 import org.apache.wicket.request.Url;
 import org.apache.wicket.request.component.IRequestableComponent;
 import org.apache.wicket.request.component.IRequestablePage;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.lang.PackageName;
 import org.junit.Test;
@@ -392,8 +393,8 @@ public class PackageMapperTest extends AbstractMapperTest
 		PageParameters parameters = new PageParameters();
 		parameters.set(0, "i1");
 		parameters.set(1, "i2");
-		parameters.set("a", "b");
-		parameters.set("b", "c");
+		parameters.set("a", "b", INamedParameters.Type.QUERY_STRING);
+		parameters.set("b", "c", INamedParameters.Type.QUERY_STRING);
 		PageProvider provider = new PageProvider(MockPage.class, parameters);
 		provider.setPageSource(context);
 		IRequestHandler handler = new BookmarkablePageRequestHandler(provider);
@@ -410,8 +411,8 @@ public class PackageMapperTest extends AbstractMapperTest
 		PageParameters parameters = new PageParameters();
 		parameters.set(0, "i1");
 		parameters.set(1, "i2");
-		parameters.set("a", "b");
-		parameters.set("b", "c");
+		parameters.set("a", "b", INamedParameters.Type.QUERY_STRING);
+		parameters.set("b", "c", INamedParameters.Type.QUERY_STRING);
 
 		PageProvider provider = new PageProvider(MockPage.class, parameters);
 		provider.setPageSource(context);
@@ -430,8 +431,8 @@ public class PackageMapperTest extends AbstractMapperTest
 		MockPage page = new MockPage(15);
 		page.getPageParameters().set(0, "i1");
 		page.getPageParameters().set(1, "i2");
-		page.getPageParameters().set("a", "b");
-		page.getPageParameters().set("b", "c");
+		page.getPageParameters().set("a", "b", INamedParameters.Type.QUERY_STRING);
+		page.getPageParameters().set("b", "c", INamedParameters.Type.QUERY_STRING);
 		page.setCreatedBookmarkable(true);
 
 		IPageProvider provider = new PageProvider(page);
@@ -450,8 +451,8 @@ public class PackageMapperTest extends AbstractMapperTest
 		MockPage page = new MockPage(15);
 		page.getPageParameters().set(0, "i1");
 		page.getPageParameters().set(1, "i2");
-		page.getPageParameters().set("a", "b");
-		page.getPageParameters().set("b", "c");
+		page.getPageParameters().set("a", "b", INamedParameters.Type.QUERY_STRING);
+		page.getPageParameters().set("b", "c", INamedParameters.Type.QUERY_STRING);
 
 		page.setCreatedBookmarkable(false);
 
@@ -471,8 +472,8 @@ public class PackageMapperTest extends AbstractMapperTest
 		MockPage page = new MockPage(15);
 		page.getPageParameters().set(0, "i1");
 		page.getPageParameters().set(1, "i2");
-		page.getPageParameters().set("a", "b");
-		page.getPageParameters().set("b", "c");
+		page.getPageParameters().set("a", "b", INamedParameters.Type.QUERY_STRING);
+		page.getPageParameters().set("b", "c", INamedParameters.Type.QUERY_STRING);
 
 		// shouldn't make any difference for
 		// BookmarkableListenerInterfaceRequestHandler,
@@ -499,8 +500,8 @@ public class PackageMapperTest extends AbstractMapperTest
 		MockPage page = new MockPage(15);
 		page.getPageParameters().set(0, "i1");
 		page.getPageParameters().set(1, "i2");
-		page.getPageParameters().set("a", "b");
-		page.getPageParameters().set("b", "c");
+		page.getPageParameters().set("a", "b", INamedParameters.Type.QUERY_STRING);
+		page.getPageParameters().set("b", "c", INamedParameters.Type.QUERY_STRING);
 
 		// shouldn't make any difference for
 		// BookmarkableListenerInterfaceRequestHandler,
@@ -550,8 +551,8 @@ public class PackageMapperTest extends AbstractMapperTest
 		page.setPageStateless(true);
 
 		IPageProvider provider = new PageProvider(page);
-		page.getPageParameters().set("foo", "fooValue");
-		page.getPageParameters().set("bar", "barValue");
+		page.getPageParameters().set("foo", "fooValue", INamedParameters.Type.PATH);
+		page.getPageParameters().set("bar", "barValue", INamedParameters.Type.PATH);
 		IRequestHandler handler = new RenderPageRequestHandler(provider);
 
 		Url url = namedParametersEncoder.mapHandler(handler);

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/UrlInfoTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/UrlInfoTest.java b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/UrlInfoTest.java
index c3c4666..04cfcee 100644
--- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/UrlInfoTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/UrlInfoTest.java
@@ -19,6 +19,7 @@ package org.apache.wicket.core.request.mapper;
 import org.apache.wicket.MockPage;
 import org.apache.wicket.request.http.WebRequest;
 import org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.UrlInfo;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.junit.Assert;
 import org.junit.Test;
@@ -36,9 +37,9 @@ public class UrlInfoTest extends Assert
 	public void wicket4038()
 	{
 		PageParameters parameters = new PageParameters();
-		parameters.add(WebRequest.PARAM_AJAX, "true");
-		parameters.add(WebRequest.PARAM_AJAX_BASE_URL, "base/url");
-		parameters.add(WebRequest.PARAM_AJAX_REQUEST_ANTI_CACHE, "12345.6879");
+		parameters.add(WebRequest.PARAM_AJAX, "true", INamedParameters.Type.MANUAL);
+		parameters.add(WebRequest.PARAM_AJAX_BASE_URL, "base/url", INamedParameters.Type.MANUAL);
+		parameters.add(WebRequest.PARAM_AJAX_REQUEST_ANTI_CACHE, "12345.6879", INamedParameters.Type.MANUAL);
 
 		AbstractBookmarkableMapper.UrlInfo info = new UrlInfo(null, MockPage.class, parameters);
 		assertNull(info.getPageParameters());

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimpleResponsePageClass.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimpleResponsePageClass.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimpleResponsePageClass.java
index 84d3c13..7b26684 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimpleResponsePageClass.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/SimpleResponsePageClass.java
@@ -18,6 +18,7 @@ package org.apache.wicket.markup.html.basic;
 
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 
 /**
@@ -41,7 +42,7 @@ public class SimpleResponsePageClass extends WebPage
 			protected void onSubmit()
 			{
 				// use Page "class"
-				setResponsePage(SimplePage.class, new PageParameters().set("test", "test"));
+				setResponsePage(SimplePage.class, new PageParameters().set("test", "test", INamedParameters.Type.MANUAL));
 			}
 		};
 		add(form);

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormTest.java
index e63458d..35b4c8a 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/FormTest.java
@@ -21,6 +21,7 @@ import org.apache.wicket.MockPageParametersAware;
 import org.apache.wicket.WicketTestCase;
 import org.apache.wicket.markup.IMarkupResourceStreamProvider;
 import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.resource.IResourceStream;
 import org.apache.wicket.util.resource.StringResourceStream;
@@ -173,8 +174,8 @@ public class FormTest extends WicketTestCase
 	public void pageWithParameters() throws Exception
 	{
 		PageParameters parameters = new PageParameters();
-		parameters.add("first", "foo");
-		parameters.add("second", "bar");
+		parameters.add("first", "foo", INamedParameters.Type.MANUAL);
+		parameters.add("second", "bar", INamedParameters.Type.MANUAL);
 		executeTest(FormMethodTestPage.class, parameters, "pageWithParameters_expected.html");
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java
index 743d2c0..289ad5c 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java
@@ -30,6 +30,7 @@ import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.CheckBox;
 import org.apache.wicket.markup.html.link.Link;
 import org.apache.wicket.mock.MockApplication;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.resource.IResourceStream;
 import org.apache.wicket.util.resource.StringResourceStream;
@@ -78,7 +79,7 @@ public class EnclosureTest extends WicketTestCase
 	@Test
 	public void testRenderHomePage4() throws Exception
 	{
-		executeTest(EnclosurePage_4.class, new PageParameters().set("visible", false),
+		executeTest(EnclosurePage_4.class, new PageParameters().set("visible", false, INamedParameters.Type.MANUAL),
 			"EnclosurePageExpectedResult_4.html");
 	}
 
@@ -88,7 +89,7 @@ public class EnclosureTest extends WicketTestCase
 	@Test
 	public void testRenderHomePage4_1() throws Exception
 	{
-		executeTest(EnclosurePage_4.class, new PageParameters().set("visible", true),
+		executeTest(EnclosurePage_4.class, new PageParameters().set("visible", true, INamedParameters.Type.MANUAL),
 			"EnclosurePageExpectedResult_4-1.html");
 	}
 
@@ -98,7 +99,7 @@ public class EnclosureTest extends WicketTestCase
 	@Test
 	public void testRenderHomePage5() throws Exception
 	{
-		executeTest(EnclosurePage_5.class, new PageParameters().set("visible", false),
+		executeTest(EnclosurePage_5.class, new PageParameters().set("visible", false, INamedParameters.Type.MANUAL),
 			"EnclosurePageExpectedResult_5.html");
 	}
 
@@ -108,7 +109,7 @@ public class EnclosureTest extends WicketTestCase
 	@Test
 	public void testRenderHomePage5_1() throws Exception
 	{
-		executeTest(EnclosurePage_5.class, new PageParameters().set("visible", true),
+		executeTest(EnclosurePage_5.class, new PageParameters().set("visible", true, INamedParameters.Type.MANUAL),
 			"EnclosurePageExpectedResult_5-1.html");
 	}
 
@@ -432,4 +433,4 @@ public class EnclosureTest extends WicketTestCase
 
 		tester.assertContainsNot(ChildWithDeeperPathInTransparentContainerPage.LABEL_TEXT);
 	}
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/markup/html/link/BookmarkableHomePageLinksPage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/link/BookmarkableHomePageLinksPage.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/link/BookmarkableHomePageLinksPage.java
index 199b510..f1df588 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/link/BookmarkableHomePageLinksPage.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/link/BookmarkableHomePageLinksPage.java
@@ -19,6 +19,7 @@ package org.apache.wicket.markup.html.link;
 import org.apache.wicket.Application;
 import org.apache.wicket.Page;
 import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 
 /**
@@ -37,7 +38,7 @@ public class BookmarkableHomePageLinksPage extends WebPage
 		Class<? extends Page> homePage = Application.get().getHomePage();
 		add(new BookmarkablePageLink<Void>("defaulthompage", homePage));
 		add(new BookmarkablePageLink<Void>("defaulthompagewithparams", homePage,
-			new PageParameters().set("param1",1).set("param2", "test")));
+			new PageParameters().set("param1",1, INamedParameters.Type.MANUAL).set("param2", "test", INamedParameters.Type.MANUAL)));
 		add(new BookmarkablePageLink<Void>("defaulthompagewithpagemap", homePage));
 	}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/markup/html/link/BookmarkablePageLinkTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/link/BookmarkablePageLinkTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/link/BookmarkablePageLinkTest.java
index f0412ef..1b0830f 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/link/BookmarkablePageLinkTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/link/BookmarkablePageLinkTest.java
@@ -18,6 +18,7 @@ package org.apache.wicket.markup.html.link;
 
 import org.apache.wicket.MockPageWithLink;
 import org.apache.wicket.WicketTestCase;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.junit.Assert;
 import org.junit.Test;
@@ -58,7 +59,7 @@ public class BookmarkablePageLinkTest extends WicketTestCase
 	public void bookmarkableRequestWithInterceptWithParams() throws Exception
 	{
 		PageParameters pp = new PageParameters();
-		pp.set("test", "test");
+		pp.set("test", "test", INamedParameters.Type.MANUAL);
 
 		tester.startPage(BookmarkableThrowsInterceptPage.class, pp);
 
@@ -76,7 +77,7 @@ public class BookmarkablePageLinkTest extends WicketTestCase
 	{
 		BookmarkablePageLink<MockPageWithLink> link = new BookmarkablePageLink<MockPageWithLink>(
 			"link", MockPageWithLink.class);
-		link.getPageParameters().set("urlEscapeNeeded", "someone's ^b%a&d pa\"rameter");
+		link.getPageParameters().set("urlEscapeNeeded", "someone's ^b%a&d pa\"rameter", INamedParameters.Type.MANUAL);
 
 		tester.startComponentInPage(link, null);
 		String response = tester.getLastResponse().getDocument();

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/markup/html/link/MountedPageLinkTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/link/MountedPageLinkTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/link/MountedPageLinkTest.java
index 0093571..0ea7156 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/link/MountedPageLinkTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/link/MountedPageLinkTest.java
@@ -22,6 +22,7 @@ import java.util.Collection;
 import org.apache.wicket.WicketTestCase;
 import org.apache.wicket.core.request.mapper.PageInstanceMapper;
 import org.apache.wicket.protocol.http.PageExpiredException;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.junit.Before;
 import org.junit.Test;
@@ -69,7 +70,7 @@ public class MountedPageLinkTest extends WicketTestCase
 	public void testPageParametersInLink()
 	{
 		PageWithLink page = tester.startPage(PageWithLink.class,
-			new PageParameters().add("param", "value"));
+			new PageParameters().add("param", "value", INamedParameters.Type.MANUAL));
 		Link<?> link = (Link<?>)page.get("link");
 		String url = link.getURL().toString();
 		if (mount)
@@ -89,7 +90,7 @@ public class MountedPageLinkTest extends WicketTestCase
 	public void testLinkOnExpiredPage()
 	{
 		PageWithLink page = tester.startPage(PageWithLink.class,
-			new PageParameters().add("param", "value"));
+			new PageParameters().add("param", "value", INamedParameters.Type.MANUAL));
 		assertEquals("value", page.getPageParameters().get("param").toString());
 		tester.assertContains("param=value");
 		Link<?> link = (Link<?>)page.get("link");
@@ -111,7 +112,7 @@ public class MountedPageLinkTest extends WicketTestCase
 	{
 		tester.getApplication().getPageSettings().setRecreateMountedPagesAfterExpiry(false);
 		PageWithLink page = tester.startPage(PageWithLink.class,
-			new PageParameters().add("param", "value"));
+			new PageParameters().add("param", "value", INamedParameters.Type.MANUAL));
 		Link<?> link = (Link<?>)page.get("link");
 		String url = link.getURL().toString();
 		assertEquals("./wicket/page?0-1.ILinkListener-link", url);
@@ -126,7 +127,7 @@ public class MountedPageLinkTest extends WicketTestCase
 	{
 		tester.getApplication().getPageSettings().setRecreateMountedPagesAfterExpiry(false);
 		PageWithLink page = tester.startPage(PageWithLink.class,
-			new PageParameters().add("param", "value"));
+			new PageParameters().add("param", "value", INamedParameters.Type.MANUAL));
 		Link<?> link = (Link<?>)page.get("link");
 		String url = link.getURL().toString();
 		assertEquals("./wicket/page?0-1.ILinkListener-link", url);

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/page/expirationrecovery/PageExpirationRecoveryTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/page/expirationrecovery/PageExpirationRecoveryTest.java b/wicket-core/src/test/java/org/apache/wicket/page/expirationrecovery/PageExpirationRecoveryTest.java
index 67c4b46..b3322c6 100644
--- a/wicket-core/src/test/java/org/apache/wicket/page/expirationrecovery/PageExpirationRecoveryTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/page/expirationrecovery/PageExpirationRecoveryTest.java
@@ -18,6 +18,7 @@ package org.apache.wicket.page.expirationrecovery;
 
 import org.apache.wicket.WicketTestCase;
 import org.apache.wicket.protocol.http.PageExpiredException;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.settings.PageSettings;
 import org.apache.wicket.util.tester.FormTester;
@@ -33,7 +34,9 @@ import org.junit.Test;
 public class PageExpirationRecoveryTest extends WicketTestCase
 {
 
-	private final PageParameters parameters = new PageParameters().set("a", "b").set("c", "d");
+	private final PageParameters parameters = new PageParameters()
+			.set("a", "b", INamedParameters.Type.MANUAL)
+			.set("c", "d", INamedParameters.Type.MANUAL);
 
 	@Before
 	public void before()

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/redirect/abort/AbortExceptionTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/redirect/abort/AbortExceptionTest.java b/wicket-core/src/test/java/org/apache/wicket/redirect/abort/AbortExceptionTest.java
index b26988a..2c6e3e0 100644
--- a/wicket-core/src/test/java/org/apache/wicket/redirect/abort/AbortExceptionTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/redirect/abort/AbortExceptionTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.redirect.abort;
 
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.junit.Assert;
 
 import org.apache.wicket.WicketTestCase;
@@ -39,7 +40,7 @@ public class AbortExceptionTest extends WicketTestCase
 	@Test
 	public void testNoAbort()
 	{
-		tester.startPage(AbortExceptionPage.class, new PageParameters().set("trigger", false));
+		tester.startPage(AbortExceptionPage.class, new PageParameters().set("trigger", false, INamedParameters.Type.MANUAL));
 		Assert.assertEquals(1234, tester.getLastResponse().getStatus());
 	}
 
@@ -51,7 +52,7 @@ public class AbortExceptionTest extends WicketTestCase
 	{
 		try
 		{
-			tester.startPage(AbortExceptionPage.class, new PageParameters().set("trigger", true));
+			tester.startPage(AbortExceptionPage.class, new PageParameters().set("trigger", true, INamedParameters.Type.MANUAL));
 			Assert.assertEquals(1234, tester.getLastResponse().getStatus()); // this will
 			// fail
 		}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/request/handler/render/StatelessPageManipulatingPageParametersTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/request/handler/render/StatelessPageManipulatingPageParametersTest.java b/wicket-core/src/test/java/org/apache/wicket/request/handler/render/StatelessPageManipulatingPageParametersTest.java
index 4157766..00254ef 100644
--- a/wicket-core/src/test/java/org/apache/wicket/request/handler/render/StatelessPageManipulatingPageParametersTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/request/handler/render/StatelessPageManipulatingPageParametersTest.java
@@ -22,6 +22,7 @@ import org.apache.wicket.markup.IMarkupResourceStreamProvider;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.html.form.StatelessForm;
 import org.apache.wicket.protocol.http.WebApplication;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.resource.IResourceStream;
 import org.apache.wicket.util.resource.StringResourceStream;
@@ -61,7 +62,7 @@ public class StatelessPageManipulatingPageParametersTest extends WicketTestCase
 				protected void onSubmit()
 				{
 					PageParameters parameters = new PageParameters();
-					parameters.add("login", "");
+					parameters.add("login", "", INamedParameters.Type.MANUAL);
 					setResponsePage(SecondPage.class, parameters);
 				}
 			};

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/request/resource/caching/QueryStringWithVersionResourceCachingStrategyTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/request/resource/caching/QueryStringWithVersionResourceCachingStrategyTest.java b/wicket-core/src/test/java/org/apache/wicket/request/resource/caching/QueryStringWithVersionResourceCachingStrategyTest.java
index 6611a57..7e7b6db 100644
--- a/wicket-core/src/test/java/org/apache/wicket/request/resource/caching/QueryStringWithVersionResourceCachingStrategyTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/request/resource/caching/QueryStringWithVersionResourceCachingStrategyTest.java
@@ -20,6 +20,7 @@ import org.apache.wicket.Application;
 import org.apache.wicket.ThreadContext;
 import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.request.http.WebResponse;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.request.resource.AbstractResource;
 import org.apache.wicket.request.resource.caching.version.IResourceVersion;
@@ -56,7 +57,7 @@ public class QueryStringWithVersionResourceCachingStrategyTest extends Assert
 	public void testUndecorateUrl() throws Exception
 	{
 		PageParameters urlParameters = new PageParameters();
-		urlParameters.add(versionParameter, TEST_RESOURCE_VERSION);
+		urlParameters.add(versionParameter, TEST_RESOURCE_VERSION, INamedParameters.Type.QUERY_STRING);
 		ResourceUrl resourceUrl = new ResourceUrl("some-resource.txt", urlParameters);
 		strategy.undecorateUrl(resourceUrl);
 
@@ -109,7 +110,7 @@ public class QueryStringWithVersionResourceCachingStrategyTest extends Assert
 		try
 		{
 			PageParameters urlParameters = new PageParameters();
-			urlParameters.add(versionParameter, "9A0364B9E99BB480DD25E1F0284C8555");
+			urlParameters.add(versionParameter, "9A0364B9E99BB480DD25E1F0284C8555", INamedParameters.Type.QUERY_STRING);
 			ResourceUrl resourceUrl = new ResourceUrl("some-resource.txt", urlParameters);
 			strategy.undecorateUrl(resourceUrl);
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/session/DefaultPageFactoryTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/session/DefaultPageFactoryTest.java b/wicket-core/src/test/java/org/apache/wicket/session/DefaultPageFactoryTest.java
index 7f372ba..910fbe0 100644
--- a/wicket-core/src/test/java/org/apache/wicket/session/DefaultPageFactoryTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/session/DefaultPageFactoryTest.java
@@ -22,6 +22,7 @@ import org.apache.wicket.WicketTestCase;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.request.flow.ResetResponseException;
 import org.apache.wicket.request.handler.EmptyRequestHandler;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.junit.Rule;
 import org.junit.Test;
@@ -187,7 +188,7 @@ public class DefaultPageFactoryTest extends WicketTestCase
 		expectedException.expectMessage("Can't instantiate page using constructor 'private org.apache.wicket.session.DefaultPageFactoryTest$PrivateConstructorWithParametersPage(org.apache.wicket.request.mapper.parameter.PageParameters)' and argument 'key=[value]'. This constructor is private!");
 
 		PageParameters parameters = new PageParameters();
-		parameters.add("key", "value");
+		parameters.add("key", "value", INamedParameters.Type.MANUAL);
 		pageFactory.newPage(PrivateConstructorWithParametersPage.class, parameters);
 	}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessComponentTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessComponentTest.java b/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessComponentTest.java
index 996c051..8538774 100644
--- a/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessComponentTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessComponentTest.java
@@ -18,6 +18,7 @@ package org.apache.wicket.stateless;
 
 import org.apache.wicket.WicketTestCase;
 import org.apache.wicket.request.Url;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.junit.Test;
 
@@ -79,8 +80,8 @@ public class StatelessComponentTest extends WicketTestCase
 	public void statelessComponentPageWithParams() throws Exception
 	{
 		PageParameters params = new PageParameters();
-		params.set("testParam1", "testValue1");
-		params.set("testParam2", "testValue2");
+		params.set("testParam1", "testValue1", INamedParameters.Type.QUERY_STRING);
+		params.set("testParam2", "testValue2", INamedParameters.Type.QUERY_STRING);
 
 		executeTest(StatelessComponentPageWithParams.class, params,
 			"StatelessComponentPageWithParams_result.html");
@@ -107,8 +108,8 @@ public class StatelessComponentTest extends WicketTestCase
 	public void statelessComponentPageWithParamsWithMount() throws Exception
 	{
 		PageParameters params = new PageParameters();
-		params.set("testParam1", "testValue1");
-		params.set("testParam2", "testValue2");
+		params.set("testParam1", "testValue1", INamedParameters.Type.QUERY_STRING);
+		params.set("testParam2", "testValue2", INamedParameters.Type.QUERY_STRING);
 		tester.getApplication().mountPage("/stateless", StatelessComponentPageWithParams.class);
 		// test is always the home page. it doesn't work then
 		executeTest(StatelessComponentPageWithParams.class, params,

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessFormTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessFormTest.java b/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessFormTest.java
index 4150d91..e5de4c3 100644
--- a/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessFormTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessFormTest.java
@@ -20,6 +20,7 @@ import org.apache.wicket.Page;
 import org.apache.wicket.WicketTestCase;
 import org.apache.wicket.mock.MockApplication;
 import org.apache.wicket.protocol.http.WebApplication;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.stateless.pages.HomePage;
 import org.apache.wicket.stateless.pages.LoginPage;
@@ -99,8 +100,8 @@ public class StatelessFormTest extends WicketTestCase
 	public void pageWithParameters() throws Exception
 	{
 		PageParameters parameters = new PageParameters();
-		parameters.add("first", "foo");
-		parameters.add("second", "bar");
+		parameters.add("first", "foo", INamedParameters.Type.MANUAL);
+		parameters.add("second", "bar", INamedParameters.Type.MANUAL);
 		executeTest(StatelessPageWithForm.class, parameters, "StatelessPageWithForm_expected.html");
 	}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/util/tester/FormTesterTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/util/tester/FormTesterTest.java b/wicket-core/src/test/java/org/apache/wicket/util/tester/FormTesterTest.java
index 1274683..0e30610 100644
--- a/wicket-core/src/test/java/org/apache/wicket/util/tester/FormTesterTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/util/tester/FormTesterTest.java
@@ -31,6 +31,7 @@ import org.apache.wicket.markup.html.form.DropDownChoice;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.upload.FileUpload;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.file.File;
 import org.apache.wicket.util.resource.IResourceStream;
@@ -197,7 +198,7 @@ public class FormTesterTest extends WicketTestCase
 	@Test
 	public void submitMultipartForm()
 	{
-		tester.startPage(MockFormFileUploadPage.class, new PageParameters().set("required", false));
+		tester.startPage(MockFormFileUploadPage.class, new PageParameters().set("required", false, INamedParameters.Type.MANUAL));
 		MockFormFileUploadPage page = (MockFormFileUploadPage)tester.getLastRenderedPage();
 		MockDomainObjectFileUpload domainObject = page.getDomainObject();
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/util/tester/MockFormFileUploadPage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/util/tester/MockFormFileUploadPage.java b/wicket-core/src/test/java/org/apache/wicket/util/tester/MockFormFileUploadPage.java
index ee2def7..0a22139 100644
--- a/wicket-core/src/test/java/org/apache/wicket/util/tester/MockFormFileUploadPage.java
+++ b/wicket-core/src/test/java/org/apache/wicket/util/tester/MockFormFileUploadPage.java
@@ -25,6 +25,7 @@ import org.apache.wicket.markup.html.form.upload.FileUpload;
 import org.apache.wicket.markup.html.form.upload.FileUploadField;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.util.ListModel;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.lang.Bytes;
 import org.apache.wicket.util.string.StringValue;
@@ -79,7 +80,7 @@ public class MockFormFileUploadPage extends WebPage
 	@SuppressWarnings("deprecation")
 	public MockFormFileUploadPage()
 	{
-		this(new PageParameters().set("required", "true"));
+		this(new PageParameters().set("required", "true", INamedParameters.Type.MANUAL));
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/util/tester/MockPageParameterPage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/util/tester/MockPageParameterPage.java b/wicket-core/src/test/java/org/apache/wicket/util/tester/MockPageParameterPage.java
index 3bac594..65c1105 100644
--- a/wicket-core/src/test/java/org/apache/wicket/util/tester/MockPageParameterPage.java
+++ b/wicket-core/src/test/java/org/apache/wicket/util/tester/MockPageParameterPage.java
@@ -19,6 +19,7 @@ package org.apache.wicket.util.tester;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.link.BookmarkablePageLink;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 
 /**
@@ -38,7 +39,7 @@ public class MockPageParameterPage extends WebPage
 	public MockPageParameterPage(PageParameters pageParameters)
 	{
 		add(new BookmarkablePageLink<Void>("link", MockPageParameterPage.class,
-			new PageParameters().set("id", 1)));
+			new PageParameters().set("id", 1, INamedParameters.Type.MANUAL)));
 		add(new Label("label", pageParameters.get("id").toString()));
 	}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java b/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
index 8754fc2..e6ffeb0 100644
--- a/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
@@ -57,6 +57,7 @@ import org.apache.wicket.request.IRequestParameters;
 import org.apache.wicket.request.Url;
 import org.apache.wicket.request.component.IRequestableComponent;
 import org.apache.wicket.request.flow.RedirectToUrlException;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.request.resource.ByteArrayResource;
 import org.apache.wicket.request.resource.IResource;
@@ -749,7 +750,7 @@ public class WicketTesterTest extends WicketTestCase
 	public void setQueryParameterWhenRequestHasAnQueryUrl()
 	{
 		PageParameters parameters = new PageParameters();
-		parameters.set("q_1", "q_1_value");
+		parameters.set("q_1", "q_1_value", INamedParameters.Type.MANUAL);
 		IPageProvider testPageProvider = new PageProvider(MockPageParametersAware.class, parameters);
 		IRequestHandler pageRequestHandler = new BookmarkablePageRequestHandler(testPageProvider);
 		Url url = tester.getApplication().getRootRequestMapper().mapHandler(pageRequestHandler);
@@ -770,8 +771,8 @@ public class WicketTesterTest extends WicketTestCase
 	public void setMultiValueQueryParameter()
 	{
 		PageParameters parameters = new PageParameters();
-		parameters.add("q_1", "q_1_value_1");
-		parameters.add("q_1", "q_1_value_2");
+		parameters.add("q_1", "q_1_value_1", INamedParameters.Type.MANUAL);
+		parameters.add("q_1", "q_1_value_2", INamedParameters.Type.MANUAL);
 		IPageProvider testPageProvider = new PageProvider(MockPageParametersAware.class, parameters);
 		IRequestHandler pageRequestHandler = new BookmarkablePageRequestHandler(testPageProvider);
 		Url url = tester.getApplication().getRootRequestMapper().mapHandler(pageRequestHandler);

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/InspectorDebugPanel.java
----------------------------------------------------------------------
diff --git a/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/InspectorDebugPanel.java b/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/InspectorDebugPanel.java
index eed4d93..877e49e 100644
--- a/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/InspectorDebugPanel.java
+++ b/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/InspectorDebugPanel.java
@@ -21,6 +21,7 @@ import org.apache.wicket.Page;
 import org.apache.wicket.devutils.inspector.InspectorPage;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.request.resource.PackageResourceReference;
 import org.apache.wicket.request.resource.ResourceReference;
@@ -79,7 +80,7 @@ public class InspectorDebugPanel extends StandardDebugPanel
 	protected PageParameters getLinkPageParameters()
 	{
 		PageParameters params = new PageParameters();
-		params.add("pageId", getPage().getId());
+		params.add("pageId", getPage().getId(), INamedParameters.Type.MANUAL);
 		return params;
 	}
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-examples/src/main/java/org/apache/wicket/examples/asemail/MailTemplate.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/asemail/MailTemplate.java b/wicket-examples/src/main/java/org/apache/wicket/examples/asemail/MailTemplate.java
index 65f5835..e0cbbdc 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/asemail/MailTemplate.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/asemail/MailTemplate.java
@@ -34,6 +34,7 @@ import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
 import org.apache.wicket.request.Url;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.request.resource.PackageResourceReference;
 import org.apache.wicket.util.template.PackageTextTemplate;
@@ -86,7 +87,7 @@ public class MailTemplate extends WicketExamplePage
 			protected void onSubmit(AjaxRequestTarget target, Form<?> form)
 			{
 				PageParameters parameters = new PageParameters();
-				parameters.set("name", name);
+				parameters.set("name", name, INamedParameters.Type.MANUAL);
 				PageProvider pageProvider = new PageProvider(TemplateBasedOnPage. class, parameters);
 				CharSequence pageHtml = ComponentRenderer.renderPage(pageProvider);
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-examples/src/main/java/org/apache/wicket/examples/compref/BookmarkablePageLinkPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/BookmarkablePageLinkPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/BookmarkablePageLinkPage.java
index 48287c7..3222121 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/BookmarkablePageLinkPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/BookmarkablePageLinkPage.java
@@ -18,6 +18,7 @@ package org.apache.wicket.examples.compref;
 
 import org.apache.wicket.examples.WicketExamplePage;
 import org.apache.wicket.markup.html.link.BookmarkablePageLink;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 
 
@@ -48,7 +49,7 @@ public class BookmarkablePageLinkPage extends WicketExamplePage
 		// thus be strings
 		PageParameters parameters = new PageParameters();
 		parameters.set("message",
-			"This message was passed as a page parameter argument");
+			"This message was passed as a page parameter argument", INamedParameters.Type.MANUAL);
 		add(new BookmarkablePageLink<>("pageLinkWithArgs", BookmarkablePage.class, parameters));
 	}
 
@@ -67,4 +68,4 @@ public class BookmarkablePageLinkPage extends WicketExamplePage
 
 	}
 
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-examples/src/main/java/org/apache/wicket/examples/hangman/Guess.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/hangman/Guess.java b/wicket-examples/src/main/java/org/apache/wicket/examples/hangman/Guess.java
index 47cdfc3..494c419 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/hangman/Guess.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/hangman/Guess.java
@@ -24,6 +24,7 @@ import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.markup.html.list.ListView;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 
 /**
@@ -95,10 +96,10 @@ public class Guess extends HangmanPage
 				};
 
 				PageParameters parameters = new PageParameters();
-				parameters.set(Letter.PARAMETER_LETTER, letter.asString());
+				parameters.set(Letter.PARAMETER_LETTER, letter.asString(), INamedParameters.Type.MANUAL);
 				if (letter.isGuessed())
 				{
-					parameters.set(Letter.PARAMETER_GUESSED, true);
+					parameters.set(Letter.PARAMETER_GUESSED, true, INamedParameters.Type.MANUAL);
 				}
 				link.add(new Image("image", Letter.LETTER_RESOURCE_REFERENCE, parameters));
 				listItem.add(link);

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-examples/src/main/java/org/apache/wicket/examples/library/BookDetails.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/library/BookDetails.java b/wicket-examples/src/main/java/org/apache/wicket/examples/library/BookDetails.java
index 8d057fa..e65422b 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/library/BookDetails.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/library/BookDetails.java
@@ -23,6 +23,7 @@ import org.apache.wicket.examples.library.Book.WritingStyle;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.link.BookmarkablePageLink;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.string.StringList;
 import org.apache.wicket.util.string.StringValueConversionException;
@@ -117,7 +118,7 @@ public final class BookDetails extends AuthenticatedWebPage
 
 		if (book != null)
 		{
-			link.getPageParameters().add("id", book.getId());
+			link.getPageParameters().add("id", book.getId(), INamedParameters.Type.MANUAL);
 			link.add(new Label("title", new Model<>(book)));
 		}
 		else

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-examples/src/main/java/org/apache/wicket/examples/linkomatic/Home.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/linkomatic/Home.java b/wicket-examples/src/main/java/org/apache/wicket/examples/linkomatic/Home.java
index b9fe147..a50e37f 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/linkomatic/Home.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/linkomatic/Home.java
@@ -41,6 +41,7 @@ import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.resource.PackageResourceReference;
 import org.apache.wicket.request.resource.SharedResourceReference;
 import org.apache.wicket.util.file.Files;
@@ -99,7 +100,7 @@ public class Home extends WicketExamplePage
 		// Link to Page3 is an external link which takes a parameter
 		BookmarkablePageLink<Void> page3Link = new BookmarkablePageLink<>("page3Link", Page3.class);
 		page3Link.getPageParameters()
-				.add("bookmarkparameter", "3++2 & 5 � >< space + �");
+				.add("bookmarkparameter", "3++2 & 5 � >< space + �", INamedParameters.Type.MANUAL);
 		add(page3Link);
 
 		// Link to BookDetails page

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-examples/src/main/java/org/apache/wicket/examples/niceurl/Page2.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/niceurl/Page2.java b/wicket-examples/src/main/java/org/apache/wicket/examples/niceurl/Page2.java
index d856113..2a4d8ca 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/niceurl/Page2.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/niceurl/Page2.java
@@ -21,6 +21,7 @@ import java.util.Random;
 import org.apache.wicket.examples.WicketExamplePage;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.link.BookmarkablePageLink;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 
 
@@ -49,8 +50,8 @@ public class Page2 extends WicketExamplePage
 		String newP2 = String.valueOf(random.nextInt());
 
 		PageParameters params = new PageParameters();
-		params.set("param1", newP1 + " " + newP2);
-		params.set("param2", newP2 + " " + newP1);
+		params.set("param1", newP1 + " " + newP2, INamedParameters.Type.MANUAL);
+		params.set("param2", newP2 + " " + newP1, INamedParameters.Type.MANUAL);
 
 		BookmarkablePageLink<?> link = new BookmarkablePageLink<>("refreshLink", getClass(), params);
 		add(link);

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-examples/src/main/java/org/apache/wicket/examples/niceurl/mounted/Page5.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/niceurl/mounted/Page5.java b/wicket-examples/src/main/java/org/apache/wicket/examples/niceurl/mounted/Page5.java
index d87a12a..ce7ee44 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/niceurl/mounted/Page5.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/niceurl/mounted/Page5.java
@@ -23,6 +23,7 @@ import org.apache.wicket.examples.WicketExamplePage;
 import org.apache.wicket.examples.niceurl.Home;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.link.BookmarkablePageLink;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 
 
@@ -60,8 +61,8 @@ public class Page5 extends WicketExamplePage
 		String newP2 = String.valueOf(random.nextInt());
 
 		PageParameters params = new PageParameters();
-		params.set("param1", newP1);
-		params.set("param2", newP2);
+		params.set("param1", newP1, INamedParameters.Type.MANUAL);
+		params.set("param2", newP2, INamedParameters.Type.MANUAL);
 
 		BookmarkablePageLink<?> link = new BookmarkablePageLink<>("refreshLink", Page5.class, params);
 		add(link);

http://git-wip-us.apache.org/repos/asf/wicket/blob/5f0e63c8/wicket-examples/src/main/java/org/apache/wicket/examples/source/SourcesPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/source/SourcesPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/source/SourcesPage.java
index 2dd37ed..eb1e14a 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/source/SourcesPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/source/SourcesPage.java
@@ -49,6 +49,7 @@ import org.apache.wicket.markup.html.list.ListView;
 import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.LoadableDetachableModel;
 import org.apache.wicket.request.http.handler.ErrorCodeRequestHandler;
+import org.apache.wicket.request.mapper.parameter.INamedParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.io.IOUtils;
 import org.apache.wicket.util.lang.PackageName;
@@ -450,10 +451,10 @@ public class SourcesPage extends WebPage
 	public static PageParameters generatePageParameters(Class<? extends Page> clazz, String fileName)
 	{
 		PageParameters p = new PageParameters();
-		p.set(PAGE_CLASS, clazz.getName());
+		p.set(PAGE_CLASS, clazz.getName(), INamedParameters.Type.MANUAL);
 		if (fileName != null)
 		{
-			p.set(SOURCE, fileName);
+			p.set(SOURCE, fileName, INamedParameters.Type.MANUAL);
 		}
 		return p;
 	}