<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>commits@wicket.apache.org Archives</title>
<link rel="self" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/?format=atom"/>
<link href="http://mail-archives.apache.org/mod_mbox/wicket-commits/"/>
<id>http://mail-archives.apache.org/mod_mbox/wicket-commits/</id>
<updated>2009-12-06T07:30:03Z</updated>
<entry>
<title>[CONF] Apache Wicket &gt; Products based on Wicket</title>
<author><name>confluence@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c775715868.980.1260078420018.JavaMail.www-data@brutus%3e"/>
<id>urn:uuid:%3c775715868-980-1260078420018-JavaMail-www-data@brutus%3e</id>
<updated>2009-12-06T05:47:00Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
&lt;html&gt;
&lt;head&gt;
    &lt;base href="http://cwiki.apache.org/confluence"&gt;
            &lt;link rel="stylesheet" href="/confluence/s/1519/1/1/_/styles/combined.css?spaceKey=WICKET&amp;amp;forWysiwyg=true"
type="text/css"&gt;
    &lt;/head&gt;
&lt;body style="background-color: white" bgcolor="white"&gt;
&lt;div id="pageContent"&gt;
&lt;div id="notificationFormat"&gt;
&lt;div class="wiki-content"&gt;
&lt;div class="email"&gt;
     &lt;h2&gt;&lt;a href="http://cwiki.apache.org/confluence/display/WICKET/Products+based+on+Wicket"&gt;Products
based on Wicket&lt;/a&gt;&lt;/h2&gt;
     &lt;h4&gt;Page &lt;b&gt;edited&lt;/b&gt; by             &lt;a href="http://cwiki.apache.org/confluence/display/~kenttong"&gt;KentTong&lt;/a&gt;
    &lt;/h4&gt;
     
          &lt;br/&gt;
     &lt;div class="notificationGreySide"&gt;
         &lt;p&gt;(sorted alphabetically by product name)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://www.jfrog.org/sites/artifactory/1.2/" rel="nofollow"&gt;Artifactory&lt;/a&gt;
Artifactory is a maven2 proxy based on Wicket&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://brix-cms.googlecode.com/" rel="nofollow"&gt;Brix CMS&lt;/a&gt;
Wicket and JCR based CMS Framework. Allows developers to build dynamic CMS-based web sites
using Wicket Components.&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://burgerweeshuis.sf.net" rel="nofollow"&gt;Burgerweeshuis&lt;/a&gt;
An open source CMS for pop venues, currently only dutch&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://http://centralwire.sourceforge.net" rel="nofollow"&gt;CentralWire&lt;/a&gt;
An open source centralized management console for tripwire, using Wicket, Spring, Hibernate/JPA.&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.devproof.org" rel="nofollow"&gt;Devproof&lt;/a&gt; DevProof
is a portal framework that comes with modules like blogging, bookmarks, downloads, articles
and more.&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.ehour.nl/" rel="nofollow"&gt;eHour&lt;/a&gt; eHour is an
open source timesheet management app&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://code.google.com/p/elephas/" rel="nofollow"&gt;Elephas&lt;/a&gt;
Elephas is an open-source blogging system.&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://finan.nl" rel="nofollow"&gt;Finan&lt;/a&gt; Finan is a financial
analysis tool and now features a web based solution for their win32 deplhi client application
built using Wicket&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://code.google.com/p/hackystat-ui-wicket/" rel="nofollow"&gt;hackystat-ui-wicket&lt;/a&gt;
Wicket-based interface to Hackystat&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.onehippo.org/cms7/" rel="nofollow"&gt;Hippo CMS 7&lt;/a&gt;
An open source and enterprise-ready CMS based on Wicket, Jackrabbit and Lucene.&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://code.google.com/p/irrigator/" rel="nofollow"&gt;Irrigator&lt;/a&gt;
A simple web interface for controlling water taps in an irrigation system&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://jtrac.info/" rel="nofollow"&gt;JTrac&lt;/a&gt; JTrac is an open
source and highly customizable issue-tracking web-application written in Java.&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://bugs.sakaiproject.org/confluence/display/PROFILE/Profile2" rel="nofollow"&gt;Profile2&lt;/a&gt;
- A Web2-styled Wicket-based Profile tool for &lt;a href="http://www.sakaiproject.org" rel="nofollow"&gt;Sakai&lt;/a&gt;.&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.servoy.com" rel="nofollow"&gt;Servoy&lt;/a&gt; A RAD environment
which uses Wicket for web interface generation&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.syntevo.com" rel="nofollow"&gt;syntevo.com&lt;/a&gt; SVN
client: SmartSVN, CVS client: SmartCVS&lt;/li&gt;
	&lt;li&gt;&lt;a href="https://tally-ho.dev.java.net/" rel="nofollow"&gt;tally-ho&lt;/a&gt;
Forum/Community software powering &lt;a href="http://morons.org" rel="nofollow"&gt;morons.org&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.vocuslis.nl/" rel="nofollow"&gt;Vocus student information
system&lt;/a&gt; Topicus created a web based student administration system for highschools.
The application is not publicly available.&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.webical.org" rel="nofollow"&gt;WebiCal&lt;/a&gt; A Web application
to view and edit multiple iCalendars&lt;/li&gt;
&lt;/ul&gt;

     &lt;/div&gt;
     &lt;div id="commentsSection" class="wiki-content pageSection"&gt;
       &lt;div style="float: right;"&gt;
            &lt;a href="http://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey"&gt;Change Notification Preferences&lt;/a&gt;
       &lt;/div&gt;

       &lt;a href="http://cwiki.apache.org/confluence/display/WICKET/Products+based+on+Wicket"&gt;View
Online&lt;/a&gt;
       |
       &lt;a href="http://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=3475186&amp;revisedVersion=5&amp;originalVersion=4"&gt;View
Change&lt;/a&gt;
              |
       &lt;a href="http://cwiki.apache.org/confluence/display/WICKET/Products+based+on+Wicket?showComments=true&amp;amp;showCommentArea=true#addcomment"&gt;Add
Comment&lt;/a&gt;
            &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;


</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Updated: (WICKET-2595) Ajax Upload fails in nested form (ModalWindow)</title>
<author><name>&quot;Doug Leeper (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c576385265.1259980040680.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c576385265-1259980040680-JavaMail-jira@brutus%3e</id>
<updated>2009-12-05T02:27:20Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/jira/browse/WICKET-2595?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Doug Leeper updated WICKET-2595:
--------------------------------

    Attachment: quickstart.jar

I have attached a quick start that reproduces the error in question.

Note: i have also include my suggested fix to Form and wicket-ajax.js.  The fix does allow
the form to be submitted in inline frame.  However, my button.onSubmit is not being called...not
sure why.

Note: without the fix, I get a ServletRequest is not a MultipartServletRequest Exception.
 To see...move Form.java out of the project and rerun.

&gt; Ajax Upload fails in nested form (ModalWindow)
&gt; ----------------------------------------------
&gt;
&gt;                 Key: WICKET-2595
&gt;                 URL: https://issues.apache.org/jira/browse/WICKET-2595
&gt;             Project: Wicket
&gt;          Issue Type: Bug
&gt;          Components: wicket
&gt;    Affects Versions: 1.4.3
&gt;         Environment: Linux i686, glibc 2.10, jdk 1.6.07
&gt;            Reporter: Martin Dietze
&gt;         Attachments: fileupload-example.zip, quickstart.jar
&gt;
&gt;
&gt; When using a file upload in a nested form (e.g. as required when using modal windows),
the file upload will always return null. This bug seems related to   WICKET-2433 which was
supposed to be fixed in wicket 1.4.2, but in wicket 1.4.3 this effect was observed by several
people (see mailing list). 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887473 - /wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReference.java</title>
<author><name>knopp@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091205005221.8456D2388962@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091205005221-8456D2388962@eris-apache-org%3e</id>
<updated>2009-12-05T00:52:21Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: knopp
Date: Sat Dec  5 00:52:21 2009
New Revision: 887473

URL: http://svn.apache.org/viewvc?rev=887473&amp;view=rev
Log: (empty)

Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReference.java

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReference.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReference.java?rev=887473&amp;r1=887472&amp;r2=887473&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReference.java
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReference.java
Sat Dec  5 00:52:21 2009
@@ -25,6 +25,12 @@
 
 /**
  * Reference to a resource. Can be used to reference global resources.
+ * &lt;p&gt;
+ * Even though resource reference is just a factory for resources, it still needs to be identified
+ * by a globally unique identifier, combination of &lt;code&gt;scope&lt;/code&gt; and &lt;code&gt;name&lt;/code&gt;.
Those
+ * are used to generate URLs for resource references. &lt;code&gt;locale&lt;/code&gt;, &lt;code&gt;style&lt;/code&gt;
and
+ * &lt;code&gt;variation&lt;/code&gt; are optional fields to allow having specific references
for individual
+ * locales, styles and variations.
  * 
  * @author Matej Knopp
  */




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887462 - in /wicket/trunk/wicket-examples/src: disabled/ disabled/java/ disabled/java/ng/ main/java/org/apache/wicket/examples/ng/ main/java/org/apache/wicket/examples/staticpages/</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091205002052.AC8312388962@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091205002052-AC8312388962@eris-apache-org%3e</id>
<updated>2009-12-05T00:20:52Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Sat Dec  5 00:20:51 2009
New Revision: 887462

URL: http://svn.apache.org/viewvc?rev=887462&amp;view=rev
Log:
wip wicket-ng 

Added:
    wicket/trunk/wicket-examples/src/disabled/
    wicket/trunk/wicket-examples/src/disabled/java/
    wicket/trunk/wicket-examples/src/disabled/java/ng/
      - copied from r887361, wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/ng/
Removed:
    wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/ng/
Modified:
    wicket/trunk/wicket-examples/src/disabled/java/ng/TestPage1.java
    wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/staticpages/Application.java
    wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/staticpages/CapturingBookmarkablePageRequestTargetUrlCodingStrategy.java

Modified: wicket/trunk/wicket-examples/src/disabled/java/ng/TestPage1.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/disabled/java/ng/TestPage1.java?rev=887462&amp;r1=887361&amp;r2=887462&amp;view=diff
==============================================================================
--- wicket/trunk/wicket-examples/src/disabled/java/ng/TestPage1.java (original)
+++ wicket/trunk/wicket-examples/src/disabled/java/ng/TestPage1.java Sat Dec  5 00:20:51 2009
@@ -16,7 +16,8 @@
  */
 package org.apache.wicket.examples.ng;
 
-import org.apache.wicket.ng.Page;
+
+import org.apache.wicket.Page;
 import org.apache.wicket.ng.markup.html.link.Link;
 import org.apache.wicket.ng.request.component.PageParametersNg;
 import org.apache.wicket.ng.request.cycle.RequestCycle;

Modified: wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/staticpages/Application.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/staticpages/Application.java?rev=887462&amp;r1=887461&amp;r2=887462&amp;view=diff
==============================================================================
--- wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/staticpages/Application.java
(original)
+++ wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/staticpages/Application.java
Sat Dec  5 00:20:51 2009
@@ -20,7 +20,7 @@
 import org.apache.wicket.Page;
 import org.apache.wicket.protocol.http.WebApplication;
 import org.apache.wicket.protocol.http.request.WebExternalResourceRequestTarget;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.basic.URIRequestTargetUrlCodingStrategy;
 import org.apache.wicket.request.target.resource.ResourceStreamRequestTarget;
 import org.apache.wicket.util.resource.IResourceStream;
@@ -55,7 +55,7 @@
 		mount(new URIRequestTargetUrlCodingStrategy("/docs")
 		{
 			@Override
-			public IRequestTarget decode(RequestParameters requestParameters)
+			public IRequestTarget decode(ObsoleteRequestParameters requestParameters)
 			{
 				String path = "/staticpages/" + getURI(requestParameters);
 				return new WebExternalResourceRequestTarget(path);
@@ -66,7 +66,7 @@
 		mount(new URIRequestTargetUrlCodingStrategy("/xsldocs")
 		{
 			@Override
-			public IRequestTarget decode(RequestParameters requestParameters)
+			public IRequestTarget decode(ObsoleteRequestParameters requestParameters)
 			{
 				String path = "/staticpages/" + getURI(requestParameters);
 				IResourceStream xslStream = new PackageResourceStream(Application.class,

Modified: wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/staticpages/CapturingBookmarkablePageRequestTargetUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/staticpages/CapturingBookmarkablePageRequestTargetUrlCodingStrategy.java?rev=887462&amp;r1=887461&amp;r2=887462&amp;view=diff
==============================================================================
--- wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/staticpages/CapturingBookmarkablePageRequestTargetUrlCodingStrategy.java
(original)
+++ wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/staticpages/CapturingBookmarkablePageRequestTargetUrlCodingStrategy.java
Sat Dec  5 00:20:51 2009
@@ -18,7 +18,7 @@
 
 import org.apache.wicket.IRequestTarget;
 import org.apache.wicket.Page;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.coding.BookmarkablePageRequestTargetUrlCodingStrategy;
 import org.apache.wicket.response.StringResponse;
 
@@ -50,10 +50,10 @@
 	}
 
 	/**
-	 * @see org.apache.wicket.request.target.coding.BookmarkablePageRequestTargetUrlCodingStrategy#decode(org.apache.wicket.request.RequestParameters)
+	 * @see org.apache.wicket.request.target.coding.BookmarkablePageRequestTargetUrlCodingStrategy#decode(org.apache.wicket.request.ObsoleteRequestParameters)
 	 */
 	@Override
-	public IRequestTarget decode(RequestParameters requestParameters)
+	public IRequestTarget decode(ObsoleteRequestParameters requestParameters)
 	{
 		return new CapturingBookmarkablePageRequestTarget(capturedPageClass, displayedPageClass)
 		{




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887461 - /wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/Request2.java</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091205001411.8AE492388962@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091205001411-8AE492388962@eris-apache-org%3e</id>
<updated>2009-12-05T00:14:11Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Sat Dec  5 00:14:11 2009
New Revision: 887461

URL: http://svn.apache.org/viewvc?rev=887461&amp;view=rev
Log:
wip wicket-ng 

Removed:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/Request2.java



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887460 [2/2] - in /wicket/trunk/wicket/src: main/java/org/apache/wicket/ main/java/org/apache/wicket/behavior/ main/java/org/apache/wicket/markup/html/form/ main/java/org/apache/wicket/markup/html/link/ main/java/org/apache/wicket/ng/ main...</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091205001216.A60D023889BB@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091205001216-A60D023889BB@eris-apache-org%3e</id>
<updated>2009-12-05T00:12:15Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/PageParametersEncoder.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/PageParametersEncoder.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/PageParametersEncoder.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/PageParametersEncoder.java Sat Dec  5 00:12:12 2009
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.ng.request.mapper.parameters;
 
-import org.apache.wicket.ng.request.Request;
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.request.RequestHandler;
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.component.PageParametersNg;
@@ -38,8 +38,8 @@
 	public Url encodePageParameters(PageParametersNg pageParameters);
 
 	/**
-	 * Decodes the given URL to {@link PageParametersNg}. The URL will have all {@link RequestHandler}
-	 * specified segments/parameters stripped.
+	 * Decodes the given URL to {@link PageParametersNg}. The URL will have all
+	 * {@link RequestHandler} specified segments/parameters stripped.
 	 * 
 	 * @param request
 	 * @return {@link PageParametersNg} instance

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/SimplePageParametersEncoder.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/SimplePageParametersEncoder.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/SimplePageParametersEncoder.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/SimplePageParametersEncoder.java Sat Dec  5 00:12:12 2009
@@ -18,7 +18,7 @@
 
 import java.util.List;
 
-import org.apache.wicket.ng.request.Request;
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.Url.QueryParameter;
 import org.apache.wicket.ng.request.component.PageParametersNg;
@@ -41,31 +41,31 @@
 	public PageParametersNg decodePageParameters(Request request)
 	{
 		PageParametersNg parameters = new PageParametersNg();
-		
+
 		int i = 0;
 		for (String s : request.getUrl().getSegments())
 		{
 			parameters.setIndexedParameter(i, s);
 			++i;
 		}
-		
+
 		for (QueryParameter p : request.getUrl().getQueryParameters())
 		{
 			parameters.addNamedParameter(p.getName(), p.getValue());
 		}
-		
+
 		return parameters;
 	}
 
 	public Url encodePageParameters(PageParametersNg pageParameters)
 	{
 		Url url = new Url();
-		
+
 		for (int i = 0; i &lt; pageParameters.getIndexedParamsCount(); ++i)
 		{
 			url.getSegments().add(pageParameters.getIndexedParameter(i).toString());
 		}
-		
+
 		for (String key : pageParameters.getNamedParameterKeys())
 		{
 			List&lt;StringValue&gt; values = pageParameters.getNamedParameters(key);
@@ -78,7 +78,7 @@
 				}
 			}
 		}
-		
+
 		return url;
 	}
 

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/Resource.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/Resource.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/Resource.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/Resource.java Sat Dec  5 00:12:12 2009
@@ -19,8 +19,8 @@
 import java.io.Serializable;
 import java.util.Locale;
 
+import org.apache.wicket.Request;
 import org.apache.wicket.Response;
-import org.apache.wicket.ng.request.Request;
 import org.apache.wicket.ng.request.component.PageParametersNg;
 import org.apache.wicket.ng.request.handler.resource.ResourceRequestHandler;
 import org.apache.wicket.util.lang.Checks;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/HttpSessionStore.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/HttpSessionStore.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/HttpSessionStore.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/HttpSessionStore.java Sat Dec  5 00:12:12 2009
@@ -27,11 +27,11 @@
 import javax.servlet.http.HttpSessionBindingEvent;
 import javax.servlet.http.HttpSessionBindingListener;
 
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.Application;
 import org.apache.wicket.ng.Session;
-import org.apache.wicket.ng.protocol.http.ServletWebRequest;
 import org.apache.wicket.ng.protocol.http.WebApplication;
-import org.apache.wicket.ng.request.Request;
+import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
 import org.apache.wicket.session.ISessionStore;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -50,7 +50,10 @@
 	/**
 	 * Reacts on unbinding from the session by cleaning up the session related application data.
 	 */
-	protected static final class SessionBindingListener implements HttpSessionBindingListener, Serializable
+	protected static final class SessionBindingListener
+		implements
+			HttpSessionBindingListener,
+			Serializable
 	{
 		private static final long serialVersionUID = 1L;
 
@@ -88,8 +91,8 @@
 		{
 			log.debug("Session unbound: " + sessionId);
 			Application application = Application.get(applicationKey);
-			HttpSessionStore sessionStore = (HttpSessionStore) application.getSessionStore();
-			
+			HttpSessionStore sessionStore = (HttpSessionStore)application.getSessionStore();
+
 			for (UnboundListener listener : sessionStore.unboundListeners)
 			{
 				listener.sessionUnbound(sessionId);
@@ -121,10 +124,10 @@
 		// sanity check
 		if (!(application instanceof WebApplication))
 		{
-			throw new IllegalStateException(getClass().getName()
-					+ " can only operate in the context of web applications");
+			throw new IllegalStateException(getClass().getName() +
+				" can only operate in the context of web applications");
 		}
-		this.application = (WebApplication) application;
+		this.application = (WebApplication)application;
 	}
 
 	protected HttpServletRequest getHttpServletRequest(Request request)
@@ -133,7 +136,7 @@
 		{
 			throw new IllegalArgumentException("Request must be HttpServletRequest");
 		}
-		ServletWebRequest servletWebRequest = (ServletWebRequest) request;
+		ServletWebRequest servletWebRequest = (ServletWebRequest)request;
 		return servletWebRequest.getHttpServletRequest();
 	}
 
@@ -150,19 +153,19 @@
 	public final void bind(Request request, Session newSession)
 	{
 		if (getAttribute(request, SESSION_ATTRIBUTE_NAME) != newSession)
-		{					
+		{
 			// call template method
 			onBind(request, newSession);
-	
+
 			HttpSession httpSession = getHttpSession(request, false);
-	
+
 			// register an unbinding listener for cleaning up
 			String applicationKey = application.getName();
-			httpSession.setAttribute("Wicket:SessionUnbindingListener-" + applicationKey, new SessionBindingListener(
-					applicationKey, httpSession.getId()));
-	
+			httpSession.setAttribute("Wicket:SessionUnbindingListener-" + applicationKey,
+				new SessionBindingListener(applicationKey, httpSession.getId()));
+
 			// register the session object itself
-			setAttribute(request, SESSION_ATTRIBUTE_NAME, newSession);			
+			setAttribute(request, SESSION_ATTRIBUTE_NAME, newSession);
 		}
 	}
 
@@ -175,7 +178,8 @@
 	}
 
 	/**
-	 * @see org.apache.wicket.session.ISessionStore#getSessionId(org.apache.wicket.ng.request.Request, boolean)
+	 * @see org.apache.wicket.session.ISessionStore#getSessionId(org.apache.wicket.ng.request.Request,
+	 *      boolean)
 	 */
 	public final String getSessionId(Request request, boolean create)
 	{
@@ -209,7 +213,7 @@
 		if (httpSession != null)
 		{
 			// tell the app server the session is no longer valid
-			httpSession.invalidate();			
+			httpSession.invalidate();
 		}
 	}
 
@@ -221,7 +225,7 @@
 		String sessionId = getSessionId(request, false);
 		if (sessionId != null)
 		{
-			return (Session) getAttribute(request, SESSION_ATTRIBUTE_NAME);
+			return (Session)getAttribute(request, SESSION_ATTRIBUTE_NAME);
 		}
 		return null;
 	}
@@ -264,7 +268,7 @@
 	private String getSessionAttributePrefix(final Request request)
 	{
 		return "wicket";
-		// TODO:		
+		// TODO:
 		// return application.getSessionAttributePrefix(request);
 	}
 
@@ -274,11 +278,11 @@
 		HttpSession httpSession = getHttpSession(request, false);
 		if (httpSession != null)
 		{
-			return (Serializable) httpSession.getAttribute(getSessionAttributePrefix(request) + name);
+			return (Serializable)httpSession.getAttribute(getSessionAttributePrefix(request) + name);
 		}
 		return null;
 	}
-	
+
 	public Set&lt;String&gt; getAttributeNames(Request request)
 	{
 		Set&lt;String&gt; list = new HashSet&lt;String&gt;();
@@ -301,23 +305,23 @@
 	}
 
 	public void removeAttribute(Request request, String name)
-	{		
+	{
 		HttpSession httpSession = getHttpSession(request, false);
 		if (httpSession != null)
 		{
 			String attributeName = getSessionAttributePrefix(request) + name;
 			// TODO: Request Logger
-//			IRequestLogger logger = application.getRequestLogger();
-//			if (logger != null)
-//			{
-//				Object value = httpSession.getAttribute(attributeName);
-//				if (value != null)
-//				{
-//					logger.objectRemoved(value);
-//				}
-//			}
+// IRequestLogger logger = application.getRequestLogger();
+// if (logger != null)
+// {
+// Object value = httpSession.getAttribute(attributeName);
+// if (value != null)
+// {
+// logger.objectRemoved(value);
+// }
+// }
 			httpSession.removeAttribute(attributeName);
-		}	
+		}
 	}
 
 	public void setAttribute(Request request, String name, Serializable value)
@@ -328,29 +332,29 @@
 		{
 			String attributeName = getSessionAttributePrefix(request) + name;
 			// TODO: RequestLogger
-//			IRequestLogger logger = application.getRequestLogger();
-//			if (logger != null)
-//			{
-//				if (httpSession.getAttribute(attributeName) == null)
-//				{
-//					logger.objectCreated(value);
-//				}
-//				else
-//				{
-//					logger.objectUpdated(value);
-//				}
-//			}
+// IRequestLogger logger = application.getRequestLogger();
+// if (logger != null)
+// {
+// if (httpSession.getAttribute(attributeName) == null)
+// {
+// logger.objectCreated(value);
+// }
+// else
+// {
+// logger.objectUpdated(value);
+// }
+// }
 			httpSession.setAttribute(attributeName, value);
 		}
 	}
 
-	private Set&lt;UnboundListener&gt; unboundListeners = new CopyOnWriteArraySet&lt;UnboundListener&gt;();
-	
+	private final Set&lt;UnboundListener&gt; unboundListeners = new CopyOnWriteArraySet&lt;UnboundListener&gt;();
+
 	public void registerUnboundListener(UnboundListener listener)
 	{
 		unboundListeners.add(listener);
 	}
-	
+
 	public void unregisterUnboundListener(UnboundListener listener)
 	{
 		unboundListeners.remove(listener);

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/SessionStore.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/SessionStore.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/SessionStore.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/SessionStore.java Sat Dec  5 00:12:12 2009
@@ -21,8 +21,8 @@
 
 import javax.servlet.http.HttpSession;
 
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.Session;
-import org.apache.wicket.ng.request.Request;
 
 
 /**

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequest.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequest.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequest.java Sat Dec  5 00:12:12 2009
@@ -16,6 +16,8 @@
  */
 package org.apache.wicket.protocol.http;
 
+import java.util.Date;
+import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 
@@ -23,6 +25,8 @@
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.wicket.Request;
+import org.apache.wicket.ng.request.RequestParameters;
+import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.util.lang.Bytes;
 
 
@@ -145,4 +149,171 @@
 	 * @return True if the ajax is an ajax request. False if it's not.
 	 */
 	public abstract boolean isAjax();
+
+	/**
+	 * Convenience method for retrieving If-Modified-Since header.
+	 * 
+	 * @return date representing the header or &lt;code&gt;null&lt;/code&gt; if not set
+	 */
+	public final Date getIfModifiedSinceHeader()
+	{
+		final long header = getDateHeader("If-Modified-Since");
+		if (header &gt;= 0)
+		{
+			return new Date(header);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	/**
+	 * Returns the value of the specified request header as a &lt;code&gt;long&lt;/code&gt; value that
+	 * represents a &lt;code&gt;Date&lt;/code&gt; object. Use this method with headers that contain dates, such
+	 * as &lt;code&gt;If-Modified-Since&lt;/code&gt;.
+	 * 
+	 * @param name
+	 * @return date value of request header
+	 */
+	public abstract long getDateHeader(String name);
+
+	/**
+	 * Returns all the values of the specified request header.
+	 * 
+	 * @param name
+	 * @return unmodifiable list of header values
+	 */
+	public abstract List&lt;String&gt; getHeaders(String name);
+
+	/**
+	 * Returns the value of the specified request header as a &lt;code&gt;String&lt;/code&gt;
+	 * 
+	 * @param name
+	 * @return string value of request header
+	 */
+	public abstract String getHeader(String name);
+
+	/**
+	 * Returns request with specified URL and same POST parameters as this request.
+	 * 
+	 * @param url
+	 *            Url instance
+	 * @return request with specified URL.
+	 */
+	@Override
+	public WebRequest requestWithUrl(final Url url)
+	{
+		final WebRequest delegate = this;
+		return new WebRequest()
+		{
+			@Override
+			public Url getUrl()
+			{
+				return url;
+			}
+
+			@Override
+			public RequestParameters getPostRequestParameters()
+			{
+				return WebRequest.this.getPostRequestParameters();
+			}
+
+			@Override
+			public Cookie[] getCookies()
+			{
+				return WebRequest.this.getCookies();
+			}
+
+			@Override
+			public long getDateHeader(String name)
+			{
+				return WebRequest.this.getDateHeader(name);
+			}
+
+			@Override
+			public Locale getLocale()
+			{
+				return WebRequest.this.getLocale();
+			}
+
+			@Override
+			public String getHeader(String name)
+			{
+				return WebRequest.this.getHeader(name);
+			}
+
+			@Override
+			public List&lt;String&gt; getHeaders(String name)
+			{
+				return WebRequest.this.getHeaders(name);
+			}
+
+			@Override
+			public HttpServletRequest getHttpServletRequest()
+			{
+				return delegate.getHttpServletRequest();
+			}
+
+			@Override
+			public String getParameter(String key)
+			{
+				return delegate.getParameter(key);
+			}
+
+			@Override
+			public Map&lt;String, String[]&gt; getParameterMap()
+			{
+				return delegate.getParameterMap();
+			}
+
+			@Override
+			public String[] getParameters(String key)
+			{
+				return delegate.getParameters(key);
+			}
+
+			@Override
+			public String getServletPath()
+			{
+				return delegate.getServletPath();
+			}
+
+			@Override
+			public boolean isAjax()
+			{
+				return delegate.isAjax();
+			}
+
+			@Override
+			public WebRequest newMultipartWebRequest(Bytes maxSize)
+			{
+				return delegate.newMultipartWebRequest(maxSize);
+			}
+
+			@Override
+			public String getPath()
+			{
+				return delegate.getPath();
+			}
+
+			@Override
+			public String getQueryString()
+			{
+				return delegate.getQueryString();
+			}
+
+			@Override
+			public String getRelativePathPrefixToContextRoot()
+			{
+				return delegate.getRelativePathPrefixToContextRoot();
+			}
+
+			@Override
+			public String getRelativePathPrefixToWicketHandler()
+			{
+				return delegate.getRelativePathPrefixToWicketHandler();
+			}
+		};
+	}
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequestCycleProcessor.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequestCycleProcessor.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequestCycleProcessor.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequestCycleProcessor.java Sat Dec  5 00:12:12 2009
@@ -29,7 +29,7 @@
 import org.apache.wicket.protocol.http.servlet.AbortWithWebErrorCodeException;
 import org.apache.wicket.request.AbstractRequestCycleProcessor;
 import org.apache.wicket.request.IRequestCodingStrategy;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.basic.EmptyAjaxRequestTarget;
 import org.apache.wicket.request.target.component.BookmarkablePageRequestTarget;
 import org.apache.wicket.util.string.Strings;
@@ -54,10 +54,10 @@
 
 	/**
 	 * @see org.apache.wicket.request.IRequestCycleProcessor#resolve(org.apache.wicket.RequestCycle,
-	 *      org.apache.wicket.request.RequestParameters)
+	 *      org.apache.wicket.request.ObsoleteRequestParameters)
 	 */
 	public IRequestTarget resolve(final RequestCycle requestCycle,
-		final RequestParameters requestParameters)
+		final ObsoleteRequestParameters requestParameters)
 	{
 		try
 		{

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebSession.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebSession.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebSession.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebSession.java Sat Dec  5 00:12:12 2009
@@ -99,7 +99,7 @@
 			return true;
 		}
 
-		if (IResourceListener.INTERFACE.equals(lockedRequest.getRequestParameters().getInterface()))
+		if (IResourceListener.INTERFACE.equals(lockedRequest.getObsoleteRequestParameters().getInterface()))
 		{
 			return true;
 		}
@@ -113,14 +113,14 @@
 			return true;
 		}
 
-		String lockedPageId = Strings.firstPathComponent(lockedRequest.getRequestParameters()
+		String lockedPageId = Strings.firstPathComponent(lockedRequest.getObsoleteRequestParameters()
 			.getComponentPath(), Component.PATH_SEPARATOR);
 		String currentPageId = Strings.firstPathComponent(currentRequestCycle.getRequest()
-			.getRequestParameters()
+			.getObsoleteRequestParameters()
 			.getComponentPath(), Component.PATH_SEPARATOR);
 
-		int lockedVersion = lockedRequest.getRequestParameters().getVersionNumber();
-		int currentVersion = currentRequest.getRequestParameters().getVersionNumber();
+		int lockedVersion = lockedRequest.getObsoleteRequestParameters().getVersionNumber();
+		int currentVersion = currentRequest.getObsoleteRequestParameters().getVersionNumber();
 
 		if (currentPageId.equals(lockedPageId) &amp;&amp; currentVersion == lockedVersion)
 		{

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java Sat Dec  5 00:12:12 2009
@@ -49,7 +49,7 @@
 import org.apache.wicket.protocol.http.portlet.PortletServletResponseWrapper;
 import org.apache.wicket.protocol.http.portlet.WicketFilterPortletContext;
 import org.apache.wicket.protocol.http.request.WebRequestCodingStrategy;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.session.ISessionStore;
 import org.apache.wicket.settings.IRequestCycleSettings;
 import org.apache.wicket.util.resource.IResourceStream;
@@ -1166,7 +1166,7 @@
 
 					// decode the parameters so that shared resource params are also decoded
 					// a request cycle is then needed. (see above)
-					RequestParameters rp = RequestCycle.get()
+					ObsoleteRequestParameters rp = RequestCycle.get()
 						.getProcessor()
 						.getRequestCodingStrategy()
 						.decode(request);

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/CryptedUrlWebRequestCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/CryptedUrlWebRequestCodingStrategy.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/CryptedUrlWebRequestCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/CryptedUrlWebRequestCodingStrategy.java Sat Dec  5 00:12:12 2009
@@ -32,7 +32,7 @@
 import org.apache.wicket.protocol.http.WicketURLDecoder;
 import org.apache.wicket.protocol.http.WicketURLEncoder;
 import org.apache.wicket.request.IRequestCodingStrategy;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.coding.IRequestTargetUrlCodingStrategy;
 import org.apache.wicket.util.crypt.ICrypt;
 import org.apache.wicket.util.crypt.KeyInSessionSunJceCryptFactory;
@@ -113,7 +113,7 @@
 	 * 
 	 * @see org.apache.wicket.request.IRequestCodingStrategy#decode(org.apache.wicket.Request)
 	 */
-	public RequestParameters decode(final Request request)
+	public ObsoleteRequestParameters decode(final Request request)
 	{
 		String url = request.decodeURL(request.getUrl()).toString();
 		String decodedQueryParams = decodeURL(url);
@@ -184,9 +184,9 @@
 	}
 
 	/**
-	 * @see org.apache.wicket.request.IRequestTargetMounter#targetForRequest(org.apache.wicket.request.RequestParameters)
+	 * @see org.apache.wicket.request.IRequestTargetMounter#targetForRequest(org.apache.wicket.request.ObsoleteRequestParameters)
 	 */
-	public IRequestTarget targetForRequest(RequestParameters requestParameters)
+	public IRequestTarget targetForRequest(ObsoleteRequestParameters requestParameters)
 	{
 		return defaultStrategy.targetForRequest(requestParameters);
 	}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java Sat Dec  5 00:12:12 2009
@@ -46,7 +46,7 @@
 import org.apache.wicket.protocol.http.portlet.PortletRequestContext;
 import org.apache.wicket.request.IRequestCodingStrategy;
 import org.apache.wicket.request.IRequestTargetMountsInfo;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.coding.AbstractRequestTargetUrlCodingStrategy;
 import org.apache.wicket.request.target.coding.IRequestTargetUrlCodingStrategy;
 import org.apache.wicket.request.target.coding.WebRequestEncoder;
@@ -192,11 +192,11 @@
 	/**
 	 * @see org.apache.wicket.request.IRequestCodingStrategy#decode(org.apache.wicket.Request)
 	 */
-	public final RequestParameters decode(final Request request)
+	public final ObsoleteRequestParameters decode(final Request request)
 	{
 		try
 		{
-			final RequestParameters parameters = new RequestParameters();
+			final ObsoleteRequestParameters parameters = new ObsoleteRequestParameters();
 			final String pathInfo = getRequestPath(request);
 			parameters.setPath(pathInfo);
 			parameters.setPageMapName(request.getParameter(PAGEMAP));
@@ -491,9 +491,9 @@
 	}
 
 	/**
-	 * @see org.apache.wicket.request.IRequestCodingStrategy#targetForRequest(org.apache.wicket.request.RequestParameters)
+	 * @see org.apache.wicket.request.IRequestCodingStrategy#targetForRequest(org.apache.wicket.request.ObsoleteRequestParameters)
 	 */
-	public final IRequestTarget targetForRequest(RequestParameters requestParameters)
+	public final IRequestTarget targetForRequest(ObsoleteRequestParameters requestParameters)
 	{
 		IRequestTargetUrlCodingStrategy encoder = urlCodingStrategyForPath(requestParameters.getPath());
 		if (encoder == null)
@@ -540,7 +540,7 @@
 	 *            the parameters object to set the found values on
 	 */
 	protected void addBookmarkablePageParameters(final Request request,
-		final RequestParameters parameters)
+		final ObsoleteRequestParameters parameters)
 	{
 		final String requestString = request.getParameter(WebRequestCodingStrategy.BOOKMARKABLE_PAGE_PARAMETER_NAME);
 		if (requestString != null)
@@ -571,7 +571,7 @@
 	 * @param parameters
 	 *            the parameters object to set the found values on
 	 */
-	protected void addInterfaceParameters(final Request request, final RequestParameters parameters)
+	protected void addInterfaceParameters(final Request request, final ObsoleteRequestParameters parameters)
 	{
 		addInterfaceParameters(request.getParameter(INTERFACE_PARAMETER_NAME), parameters);
 	}
@@ -588,7 +588,7 @@
 	 *            parameters object to set the found parts in
 	 */
 	public static void addInterfaceParameters(final String interfaceParameter,
-		final RequestParameters parameters)
+		final ObsoleteRequestParameters parameters)
 	{
 		if (interfaceParameter == null)
 		{
@@ -672,7 +672,7 @@
 	 * @param parameters
 	 *            the parameters object to set the found values on
 	 */
-	protected void addResourceParameters(Request request, RequestParameters parameters)
+	protected void addResourceParameters(Request request, ObsoleteRequestParameters parameters)
 	{
 		String pathInfo = request.getPath();
 		if (pathInfo != null &amp;&amp; pathInfo.startsWith(RESOURCES_PATH_PREFIX))
@@ -719,7 +719,7 @@
 	 * Encode a page class target.
 	 * 
 	 * If you override this method to behave different then also
-	 * {@link #addBookmarkablePageParameters(Request, RequestParameters)} should be overridden to be
+	 * {@link #addBookmarkablePageParameters(Request, ObsoleteRequestParameters)} should be overridden to be
 	 * in sync with that behavior.
 	 * 
 	 * @param requestCycle
@@ -798,7 +798,7 @@
 	 * Encode a shared resource target.
 	 * 
 	 * If you override this method to behave different then also
-	 * {@link #addResourceParameters(Request, RequestParameters)} should be overridden to be in sync
+	 * {@link #addResourceParameters(Request, ObsoleteRequestParameters)} should be overridden to be in sync
 	 * with that behavior.
 	 * 
 	 * @param requestCycle
@@ -887,7 +887,7 @@
 	 * Encode a listener interface target.
 	 * 
 	 * If you override this method to behave different then also
-	 * {@link #addInterfaceParameters(Request, RequestParameters)} should be overridden to be in
+	 * {@link #addInterfaceParameters(Request, ObsoleteRequestParameters)} should be overridden to be in
 	 * sync with that behavior.
 	 * 
 	 * @param requestCycle
@@ -939,7 +939,7 @@
 		url.append(Component.PATH_SEPARATOR);
 
 		// Add behaviourId
-		RequestParameters params = requestTarget.getRequestParameters();
+		ObsoleteRequestParameters params = requestTarget.getRequestParameters();
 		if (params != null &amp;&amp; params.getBehaviorId() != null)
 		{
 			url.append(params.getBehaviorId());
@@ -1237,7 +1237,7 @@
 			super(path);
 		}
 
-		public IRequestTarget decode(RequestParameters requestParameters)
+		public IRequestTarget decode(ObsoleteRequestParameters requestParameters)
 		{
 			return null;
 		}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/urlcompressing/UrlCompressingWebCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/urlcompressing/UrlCompressingWebCodingStrategy.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/urlcompressing/UrlCompressingWebCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/urlcompressing/UrlCompressingWebCodingStrategy.java Sat Dec  5 00:12:12 2009
@@ -24,7 +24,7 @@
 import org.apache.wicket.behavior.IActivePageBehaviorListener;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.protocol.http.request.WebRequestCodingStrategy;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.component.BookmarkableListenerInterfaceRequestTarget;
 import org.apache.wicket.request.target.component.IBookmarkablePageRequestTarget;
 import org.apache.wicket.request.target.component.listener.IListenerInterfaceRequestTarget;
@@ -116,7 +116,7 @@
 		url.append(Component.PATH_SEPARATOR);
 
 		// Add behaviourId
-		RequestParameters params = requestTarget.getRequestParameters();
+		ObsoleteRequestParameters params = requestTarget.getRequestParameters();
 		if (params != null &amp;&amp; params.getBehaviorId() != null)
 		{
 			url.append(params.getBehaviorId());

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/urlcompressing/UrlCompressingWebRequestProcessor.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/urlcompressing/UrlCompressingWebRequestProcessor.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/urlcompressing/UrlCompressingWebRequestProcessor.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/urlcompressing/UrlCompressingWebRequestProcessor.java Sat Dec  5 00:12:12 2009
@@ -30,7 +30,7 @@
 import org.apache.wicket.protocol.http.WebRequestCycleProcessor;
 import org.apache.wicket.protocol.http.request.urlcompressing.UrlCompressor.ComponentAndInterface;
 import org.apache.wicket.request.IRequestCodingStrategy;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.component.listener.RedirectPageRequestTarget;
 import org.apache.wicket.util.string.Strings;
 
@@ -66,12 +66,12 @@
 	/**
 	 * @see org.apache.wicket.request.AbstractRequestCycleProcessor#resolveListenerInterfaceTarget(org.apache.wicket.RequestCycle,
 	 *      org.apache.wicket.Page, java.lang.String, java.lang.String,
-	 *      org.apache.wicket.request.RequestParameters)
+	 *      org.apache.wicket.request.ObsoleteRequestParameters)
 	 */
 	@Override
 	protected IRequestTarget resolveListenerInterfaceTarget(final RequestCycle requestCycle,
 		final Page page, final String componentPath, String interfaceName,
-		final RequestParameters requestParameters)
+		final ObsoleteRequestParameters requestParameters)
 	{
 		String pageRelativeComponentPath = Strings.afterFirstPathComponent(componentPath,
 			Component.PATH_SEPARATOR);

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java Sat Dec  5 00:12:12 2009
@@ -16,21 +16,34 @@
  */
 package org.apache.wicket.protocol.http.servlet;
 
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Enumeration;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Locale;
 import java.util.Map;
+import java.util.Set;
 
+import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.wicket.Application;
 import org.apache.wicket.RequestContext;
 import org.apache.wicket.WicketRuntimeException;
+import org.apache.wicket.ng.request.RequestParameters;
 import org.apache.wicket.ng.request.Url;
+import org.apache.wicket.ng.request.Url.QueryParameter;
 import org.apache.wicket.protocol.http.WebApplication;
 import org.apache.wicket.protocol.http.WebRequest;
 import org.apache.wicket.protocol.http.WicketURLDecoder;
+import org.apache.wicket.util.io.Streams;
 import org.apache.wicket.util.lang.Bytes;
+import org.apache.wicket.util.lang.Checks;
 import org.apache.wicket.util.string.PrependingStringBuffer;
+import org.apache.wicket.util.string.StringValue;
 import org.apache.wicket.util.string.StringValueConversionException;
 import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.util.upload.FileUploadException;
@@ -62,14 +75,37 @@
 	/** Marks this request as an ajax request. */
 	private boolean ajax;
 
+	private final Url url;
+
 	/**
 	 * Protected constructor.
 	 * 
 	 * @param httpServletRequest
 	 *            The servlet request information
+	 * @deprecated use ServletWebRequest(HttpServletRequest httpServletRequest, String filterPrefix)
 	 */
+	@Deprecated
 	public ServletWebRequest(final HttpServletRequest httpServletRequest)
 	{
+		this(httpServletRequest, null);
+
+	}
+
+	/**
+	 * Construct.
+	 * 
+	 * @param httpServletRequest
+	 * 
+	 * @param filterPrefix
+	 *            contentPath + filterPath, used to extract the actual {@link Url}
+	 */
+	public ServletWebRequest(HttpServletRequest httpServletRequest, String filterPrefix)
+	{
+		Checks.argumentNotNull(httpServletRequest, "httpServletRequest");
+		// TODO WICKET-NG reenable once sorted
+		// Checks.argumentNotNull(filterPrefix, "filterPrefix");
+
+		url = (filterPrefix != null) ? getUrl(httpServletRequest, filterPrefix) : null;
 		this.httpServletRequest = httpServletRequest;
 
 		ajax = false;
@@ -92,6 +128,7 @@
 		}
 	}
 
+
 	/**
 	 * Gets the wrapped http servlet request object.
 	 * 
@@ -271,7 +308,7 @@
 		// original page.
 		if (!portletRequest &amp;&amp; isAjax())
 		{
-			for (int i = 0; i &lt; getRequestParameters().getUrlDepth(); i++)
+			for (int i = 0; i &lt; getObsoleteRequestParameters().getUrlDepth(); i++)
 			{
 				prepender.prepend("../");
 			}
@@ -341,7 +378,7 @@
 		if (depthRelativeToWicketHandler == -1)
 		{
 			int depth = 0;
-			int ajaxUrlDepth = isAjax() ? getRequestParameters().getUrlDepth() : -1;
+			int ajaxUrlDepth = isAjax() ? getObsoleteRequestParameters().getUrlDepth() : -1;
 			for (int i = 0; i &lt; relativeUrl.length(); i++)
 			{
 				if (relativeUrl.charAt(i) == '?')
@@ -378,11 +415,28 @@
 		return relativePathPrefixToWicketHandler = prepender.toString();
 	}
 
+
+	@Override
+	public Url getUrl()
+	{
+		if (url != null)
+		{
+			return new Url(url);
+		}
+		else
+		{
+			return getUrlObsolete();
+		}
+	}
+
 	/**
 	 * @see org.apache.wicket.Request#getUrl()
+	 * @deprecated
+	 * 
+	 *             TODO WICKET-NG remove, kept here just for reference of how old url was parsed
 	 */
-	@Override
-	public Url getUrl()
+	@Deprecated
+	public Url getUrlObsolete()
 	{
 		/*
 		 * Servlet 2.3 specification :
@@ -463,7 +517,7 @@
 		{
 			MultipartServletWebRequest multipart = new MultipartServletWebRequest(
 				httpServletRequest, maxsize);
-			multipart.setRequestParameters(getRequestParameters());
+			multipart.setObsoleteRequestParameters(getObsoleteRequestParameters());
 			return multipart;
 		}
 		catch (FileUploadException e)
@@ -486,13 +540,13 @@
 
 		if (wicketRedirectUrl != null)
 		{
-			previousUrlDepth = getRequestParameters().getUrlDepth();
+			previousUrlDepth = getObsoleteRequestParameters().getUrlDepth();
 
-			getRequestParameters().setUrlDepth(getDepthRelativeToWicketHandler());
+			getObsoleteRequestParameters().setUrlDepth(getDepthRelativeToWicketHandler());
 		}
 		else
 		{
-			getRequestParameters().setUrlDepth(previousUrlDepth);
+			getObsoleteRequestParameters().setUrlDepth(previousUrlDepth);
 			getDepthRelativeToWicketHandler();
 		}
 
@@ -524,4 +578,147 @@
 			httpServletRequest.getServletPath() + ", pathTranslated = " +
 			httpServletRequest.getPathTranslated() + "]";
 	}
+
+	private Url getUrl(HttpServletRequest request, String filterPrefix)
+	{
+		if (filterPrefix.length() &gt; 0 &amp;&amp; !filterPrefix.endsWith("/"))
+		{
+			filterPrefix += "/";
+		}
+		StringBuilder url = new StringBuilder();
+		String uri = request.getRequestURI();
+		url.append(Strings.stripJSessionId(uri.substring(request.getContextPath().length() +
+			filterPrefix.length() + 1)));
+
+		String query = request.getQueryString();
+		if (!Strings.isEmpty(query))
+		{
+			url.append("?");
+			url.append(query);
+		}
+
+		return Url.parse(Strings.stripJSessionId(url.toString()));
+	}
+
+	@Override
+	public long getDateHeader(String name)
+	{
+		return httpServletRequest.getDateHeader(name);
+	}
+
+	@Override
+	public String getHeader(String name)
+	{
+		return httpServletRequest.getHeader(name);
+	}
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public List&lt;String&gt; getHeaders(String name)
+	{
+		List&lt;String&gt; result = new ArrayList&lt;String&gt;();
+		Enumeration&lt;String&gt; e = httpServletRequest.getHeaders(name);
+		while (e.hasMoreElements())
+		{
+			result.add(e.nextElement());
+		}
+		return Collections.unmodifiableList(result);
+	}
+
+	private Map&lt;String, List&lt;StringValue&gt;&gt; postParameters = null;
+
+	@SuppressWarnings("unchecked")
+	private Map&lt;String, List&lt;StringValue&gt;&gt; getPostParameters()
+	{
+		if (postParameters == null)
+		{
+			postParameters = new HashMap&lt;String, List&lt;StringValue&gt;&gt;();
+			try
+			{
+				BufferedReader reader = getHttpServletRequest().getReader();
+				String value = Streams.readString(reader);
+
+				if (!Strings.isEmpty(value))
+				{
+					Url url = Url.parse("?" + value);
+					for (QueryParameter q : url.getQueryParameters())
+					{
+						List&lt;StringValue&gt; list = postParameters.get(q.getName());
+						if (list == null)
+						{
+							list = new ArrayList&lt;StringValue&gt;();
+							postParameters.put(q.getName(), list);
+						}
+						list.add(StringValue.valueOf(q.getValue()));
+					}
+				}
+			}
+			catch (IOException e)
+			{
+				log.warn(
+					"Error parsing request body for post parameters; Fallback to ServletRequest#getParameters().",
+					e);
+				for (String name : (List&lt;String&gt;)Collections.list(getHttpServletRequest().getParameterNames()))
+				{
+					List&lt;StringValue&gt; list = postParameters.get(name);
+					if (list == null)
+					{
+						list = new ArrayList&lt;StringValue&gt;();
+						postParameters.put(name, list);
+					}
+					for (String value : getHttpServletRequest().getParameterValues(name))
+					{
+						list.add(StringValue.valueOf(value));
+					}
+				}
+			}
+
+		}
+		return postParameters;
+	}
+
+	private final RequestParameters postRequestParameters = new RequestParameters()
+	{
+		public Set&lt;String&gt; getParameterNames()
+		{
+			return Collections.unmodifiableSet(getPostParameters().keySet());
+		}
+
+		public StringValue getParameterValue(String name)
+		{
+			List&lt;StringValue&gt; values = getPostParameters().get(name);
+			if (values == null || values.isEmpty())
+			{
+				return StringValue.valueOf((String)null);
+			}
+			else
+			{
+				return values.iterator().next();
+			}
+		}
+
+		public List&lt;StringValue&gt; getParameterValues(String name)
+		{
+			List&lt;StringValue&gt; values = getPostParameters().get(name);
+			if (values != null)
+			{
+				values = Collections.unmodifiableList(values);
+			}
+			return values;
+		}
+	};
+
+	@Override
+	public RequestParameters getPostRequestParameters()
+	{
+		return postRequestParameters;
+	}
+
+	@Override
+	public Cookie[] getCookies()
+	{
+		return httpServletRequest.getCookies();
+	}
+
+
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/https/HttpsRequestCycleProcessor.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/https/HttpsRequestCycleProcessor.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/https/HttpsRequestCycleProcessor.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/https/HttpsRequestCycleProcessor.java Sat Dec  5 00:12:12 2009
@@ -21,7 +21,7 @@
 import org.apache.wicket.Session;
 import org.apache.wicket.protocol.http.WebRequestCycleProcessor;
 import org.apache.wicket.protocol.https.SwitchProtocolRequestTarget.Protocol;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.component.IBookmarkablePageRequestTarget;
 import org.apache.wicket.request.target.component.IPageRequestTarget;
 
@@ -163,7 +163,7 @@
 
 	/** {@inheritDoc} */
 	@Override
-	public IRequestTarget resolve(RequestCycle rc, RequestParameters rp)
+	public IRequestTarget resolve(RequestCycle rc, ObsoleteRequestParameters rp)
 	{
 		// we need to persist the session before a redirect to https so the session lasts across
 		// both http and https calls.

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java Sat Dec  5 00:12:12 2009
@@ -235,7 +235,7 @@
 	 */
 	@SuppressWarnings("unchecked")
 	protected IRequestTarget resolveBookmarkablePage(final RequestCycle requestCycle,
-		final RequestParameters requestParameters)
+		final ObsoleteRequestParameters requestParameters)
 	{
 		String bookmarkablePageClass = requestParameters.getBookmarkablePageClass();
 		Session session = requestCycle.getSession();
@@ -321,7 +321,7 @@
 	 * @return the home page as a request target
 	 */
 	protected IRequestTarget resolveHomePageTarget(final RequestCycle requestCycle,
-		final RequestParameters requestParameters)
+		final ObsoleteRequestParameters requestParameters)
 	{
 		Session session = requestCycle.getSession();
 		Application application = session.getApplication();
@@ -379,7 +379,7 @@
 	 */
 	protected IRequestTarget resolveListenerInterfaceTarget(final RequestCycle requestCycle,
 		final Page page, final String componentPath, final String interfaceName,
-		final RequestParameters requestParameters)
+		final ObsoleteRequestParameters requestParameters)
 	{
 		if (page == null)
 		{
@@ -452,7 +452,7 @@
 	 * @return the previously rendered page as a request target
 	 */
 	protected IRequestTarget resolveRenderedPage(final RequestCycle requestCycle,
-		final RequestParameters requestParameters)
+		final ObsoleteRequestParameters requestParameters)
 	{
 		final String componentPath = requestParameters.getComponentPath();
 		final Session session = requestCycle.getSession();
@@ -488,7 +488,7 @@
 	 * @return the shared resource as a request target
 	 */
 	protected IRequestTarget resolveSharedResource(final RequestCycle requestCycle,
-		final RequestParameters requestParameters)
+		final ObsoleteRequestParameters requestParameters)
 	{
 		return new SharedResourceRequestTarget(requestParameters);
 	}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/IRequestCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/IRequestCodingStrategy.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/IRequestCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/IRequestCodingStrategy.java Sat Dec  5 00:12:12 2009
@@ -23,7 +23,7 @@
 
 /**
  * Implementations of this interface are responsible for digesting the incoming request and creating
- * a suitable {@link org.apache.wicket.request.RequestParameters} object for it, as well as creating
+ * a suitable {@link org.apache.wicket.request.ObsoleteRequestParameters} object for it, as well as creating
  * url representations for request targets.
  * 
  * @author Eelco Hillenius
@@ -37,7 +37,7 @@
 	 *            the incoming request
 	 * @return a request parameters object that corresponds to the request
 	 */
-	RequestParameters decode(Request request);
+	ObsoleteRequestParameters decode(Request request);
 
 	/**
 	 * &lt;p&gt;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/IRequestCycleProcessor.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/IRequestCycleProcessor.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/IRequestCycleProcessor.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/IRequestCycleProcessor.java Sat Dec  5 00:12:12 2009
@@ -25,7 +25,7 @@
  * The request cycle processor is responsible for handling the steps of a request cycle. It's
  * methods are called in a pre-defined order:
  * &lt;ul&gt;
- * &lt;li&gt; {@link #resolve(RequestCycle, RequestParameters)} is called to get the request target. A
+ * &lt;li&gt; {@link #resolve(RequestCycle, ObsoleteRequestParameters)} is called to get the request target. A
  * request might refer to e.g. a bookmarkable page, a listener interface call on a component on a
  * previously rendered page, a shared resource or e.g. a non-wicket resource that resides in the web
  * application folder.&lt;/li&gt;
@@ -55,7 +55,7 @@
 	/**
 	 * Gets the object that is responsible for encoding request targets (like url's in links etc)
 	 * and decoding urls and request parameters etc into
-	 * {@link org.apache.wicket.request.RequestParameters} objects.
+	 * {@link org.apache.wicket.request.ObsoleteRequestParameters} objects.
 	 * 
 	 * @return the request encoder
 	 */
@@ -64,7 +64,7 @@
 	/**
 	 * &lt;p&gt;
 	 * Resolves the request and returns the request target. Typically, the resolver uses the
-	 * {@link org.apache.wicket.request.RequestParameters} object that is passed in.
+	 * {@link org.apache.wicket.request.ObsoleteRequestParameters} object that is passed in.
 	 * &lt;/p&gt;
 	 * &lt;p&gt;
 	 * Implementors of this method should be careful not to mix this code with event handling code;
@@ -78,12 +78,12 @@
 	 *            {@link IRequestCodingStrategy}.
 	 * @return the request target; has to be non-null!
 	 */
-	IRequestTarget resolve(RequestCycle requestCycle, RequestParameters requestParameters);
+	IRequestTarget resolve(RequestCycle requestCycle, ObsoleteRequestParameters requestParameters);
 
 	/**
 	 * After a page is restored, this method is responsible for calling any event handling code
 	 * based on the request. For example, when a link is clicked,
-	 * {@link #resolve(RequestCycle, RequestParameters)} should return the page that that link
+	 * {@link #resolve(RequestCycle, ObsoleteRequestParameters)} should return the page that that link
 	 * resides on, and this method should call the
 	 * {@link org.apache.wicket.markup.html.link.ILinkListener} interface on that component.
 	 * 

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/IRequestTargetMounter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/IRequestTargetMounter.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/IRequestTargetMounter.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/IRequestTargetMounter.java Sat Dec  5 00:12:12 2009
@@ -61,7 +61,7 @@
 	 *            the request parameters
 	 * @return the request target or null if nothing was mounted with the given request parameters
 	 */
-	IRequestTarget targetForRequest(RequestParameters requestParameters);
+	IRequestTarget targetForRequest(ObsoleteRequestParameters requestParameters);
 
 	/**
 	 * Unmounts a request target.

Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/ObsoleteRequestParameters.java (from r887361, wicket/trunk/wicket/src/main/java/org/apache/wicket/request/RequestParameters.java)
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/ObsoleteRequestParameters.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/request/ObsoleteRequestParameters.java&amp;p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/request/RequestParameters.java&amp;r1=887361&amp;r2=887460&amp;rev=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/RequestParameters.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/ObsoleteRequestParameters.java Sat Dec  5 00:12:12 2009
@@ -38,9 +38,11 @@
  * supported by default implementations.
  * &lt;/p&gt;
  * 
+ * @deprecated wicket-ng
  * @author Eelco Hillenius
  */
-public class RequestParameters implements IClusterable
+@Deprecated
+public class ObsoleteRequestParameters implements IClusterable
 {
 	private static final long serialVersionUID = 1L;
 
@@ -91,7 +93,7 @@
 	/**
 	 * Construct.
 	 */
-	public RequestParameters()
+	public ObsoleteRequestParameters()
 	{
 	}
 

Propchange: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/ObsoleteRequestParameters.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/ObsoleteRequestParameters.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/basic/URIRequestTargetUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/basic/URIRequestTargetUrlCodingStrategy.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/basic/URIRequestTargetUrlCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/basic/URIRequestTargetUrlCodingStrategy.java Sat Dec  5 00:12:12 2009
@@ -24,7 +24,7 @@
 
 import org.apache.wicket.IRequestTarget;
 import org.apache.wicket.PageParameters;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.coding.AbstractRequestTargetUrlCodingStrategy;
 import org.apache.wicket.request.target.coding.BookmarkablePageRequestTargetUrlCodingStrategy;
 import org.apache.wicket.request.target.coding.WebRequestEncoder;
@@ -60,7 +60,7 @@
 	 *            request parameters provided to the decode() method
 	 * @return the URI
 	 */
-	public PageParameters decodeParameters(RequestParameters requestParameters)
+	public PageParameters decodeParameters(ObsoleteRequestParameters requestParameters)
 	{
 		final String parametersFragment = requestParameters.getPath().substring(
 			getMountPath().length());
@@ -71,9 +71,9 @@
 	/**
 	 * Does nothing
 	 * 
-	 * @see org.apache.wicket.request.target.coding.IRequestTargetUrlCodingStrategy#decode(org.apache.wicket.request.RequestParameters)
+	 * @see org.apache.wicket.request.target.coding.IRequestTargetUrlCodingStrategy#decode(org.apache.wicket.request.ObsoleteRequestParameters)
 	 */
-	public IRequestTarget decode(RequestParameters requestParameters)
+	public IRequestTarget decode(ObsoleteRequestParameters requestParameters)
 	{
 		return null;
 	}
@@ -186,7 +186,7 @@
 
 	/**
 	 * Calls decodeParameters() and retrieves the &lt;tt&gt;uri&lt;/tt&gt; parameter. If you need to access
-	 * multiple parameters in the request, call {@link #decodeParameters(RequestParameters)}
+	 * multiple parameters in the request, call {@link #decodeParameters(ObsoleteRequestParameters)}
 	 * directly.
 	 * 
 	 * &lt;p&gt;
@@ -197,7 +197,7 @@
 	 * @param requestParameters
 	 * @return
 	 */
-	protected String getURI(RequestParameters requestParameters)
+	protected String getURI(ObsoleteRequestParameters requestParameters)
 	{
 		return decodeParameters(requestParameters).getString(URI);
 	}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/BookmarkablePageRequestTargetUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/BookmarkablePageRequestTargetUrlCodingStrategy.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/BookmarkablePageRequestTargetUrlCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/BookmarkablePageRequestTargetUrlCodingStrategy.java Sat Dec  5 00:12:12 2009
@@ -22,7 +22,7 @@
 import org.apache.wicket.Page;
 import org.apache.wicket.PageParameters;
 import org.apache.wicket.protocol.http.request.WebRequestCodingStrategy;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.component.BookmarkableListenerInterfaceRequestTarget;
 import org.apache.wicket.request.target.component.BookmarkablePageRequestTarget;
 import org.apache.wicket.request.target.component.IBookmarkablePageRequestTarget;
@@ -70,9 +70,9 @@
 	}
 
 	/**
-	 * @see org.apache.wicket.request.target.coding.IRequestTargetUrlCodingStrategy#decode(org.apache.wicket.request.RequestParameters)
+	 * @see org.apache.wicket.request.target.coding.IRequestTargetUrlCodingStrategy#decode(org.apache.wicket.request.ObsoleteRequestParameters)
 	 */
-	public IRequestTarget decode(RequestParameters requestParameters)
+	public IRequestTarget decode(ObsoleteRequestParameters requestParameters)
 	{
 		final String parametersFragment = requestParameters.getPath().substring(
 			getMountPath().length());

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java Sat Dec  5 00:12:12 2009
@@ -29,7 +29,7 @@
 import org.apache.wicket.protocol.http.PageExpiredException;
 import org.apache.wicket.protocol.http.WebRequest;
 import org.apache.wicket.protocol.http.request.WebRequestCodingStrategy;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.component.BookmarkableListenerInterfaceRequestTarget;
 import org.apache.wicket.request.target.component.BookmarkablePageRequestTarget;
 import org.apache.wicket.request.target.component.PageRequestTarget;
@@ -186,9 +186,9 @@
 	}
 
 	/**
-	 * @see org.apache.wicket.request.target.coding.IRequestTargetUrlCodingStrategy#decode(org.apache.wicket.request.RequestParameters)
+	 * @see org.apache.wicket.request.target.coding.IRequestTargetUrlCodingStrategy#decode(org.apache.wicket.request.ObsoleteRequestParameters)
 	 */
-	public IRequestTarget decode(final RequestParameters requestParameters)
+	public IRequestTarget decode(final ObsoleteRequestParameters requestParameters)
 	{
 		String parametersFragment = requestParameters.getPath().substring(getMountPath().length());
 

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IRequestTargetUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IRequestTargetUrlCodingStrategy.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IRequestTargetUrlCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IRequestTargetUrlCodingStrategy.java Sat Dec  5 00:12:12 2009
@@ -17,7 +17,7 @@
 package org.apache.wicket.request.target.coding;
 
 import org.apache.wicket.IRequestTarget;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 
 /**
  * Implementations of this interface know how to encode and decode request targets to/from a URL.
@@ -53,7 +53,7 @@
 	 *            the request parameters
 	 * @return the decoded request target
 	 */
-	IRequestTarget decode(RequestParameters requestParameters);
+	IRequestTarget decode(ObsoleteRequestParameters requestParameters);
 
 	/**
 	 * Gets whether this mounter is applicable for the provided request target.

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IndexedSharedResourceCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IndexedSharedResourceCodingStrategy.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IndexedSharedResourceCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IndexedSharedResourceCodingStrategy.java Sat Dec  5 00:12:12 2009
@@ -21,7 +21,7 @@
 import java.util.StringTokenizer;
 
 import org.apache.wicket.IRequestTarget;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.resource.ISharedResourceRequestTarget;
 import org.apache.wicket.request.target.resource.SharedResourceRequestTarget;
 import org.apache.wicket.util.string.AppendingStringBuffer;
@@ -123,7 +123,7 @@
 		final AppendingStringBuffer url = new AppendingStringBuffer();
 		url.append(getMountPath());
 
-		final RequestParameters requestParameters = target.getRequestParameters();
+		final ObsoleteRequestParameters requestParameters = target.getRequestParameters();
 
 		Map&lt;String, ?&gt; params = requestParameters.getParameters();
 
@@ -212,9 +212,9 @@
 
 	/**
 	 * 
-	 * @see org.apache.wicket.request.target.coding.IRequestTargetUrlCodingStrategy#decode(org.apache.wicket.request.RequestParameters)
+	 * @see org.apache.wicket.request.target.coding.IRequestTargetUrlCodingStrategy#decode(org.apache.wicket.request.ObsoleteRequestParameters)
 	 */
-	public IRequestTarget decode(final RequestParameters requestParameters)
+	public IRequestTarget decode(final ObsoleteRequestParameters requestParameters)
 	{
 		if (requestParameters == null)
 		{

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/PackageRequestTargetUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/PackageRequestTargetUrlCodingStrategy.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/PackageRequestTargetUrlCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/PackageRequestTargetUrlCodingStrategy.java Sat Dec  5 00:12:12 2009
@@ -20,7 +20,7 @@
 import org.apache.wicket.PageParameters;
 import org.apache.wicket.Session;
 import org.apache.wicket.protocol.http.request.WebRequestCodingStrategy;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.component.BookmarkableListenerInterfaceRequestTarget;
 import org.apache.wicket.request.target.component.BookmarkablePageRequestTarget;
 import org.apache.wicket.request.target.component.IBookmarkablePageRequestTarget;
@@ -59,9 +59,9 @@
 	}
 
 	/**
-	 * @see org.apache.wicket.request.target.coding.IRequestTargetUrlCodingStrategy#decode(org.apache.wicket.request.RequestParameters)
+	 * @see org.apache.wicket.request.target.coding.IRequestTargetUrlCodingStrategy#decode(org.apache.wicket.request.ObsoleteRequestParameters)
 	 */
-	public IRequestTarget decode(RequestParameters requestParameters)
+	public IRequestTarget decode(ObsoleteRequestParameters requestParameters)
 	{
 		String remainder = requestParameters.getPath().substring(getMountPath().length());
 		final String parametersFragment;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java Sat Dec  5 00:12:12 2009
@@ -22,7 +22,7 @@
 
 import org.apache.wicket.IRequestTarget;
 import org.apache.wicket.PageParameters;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.component.BookmarkableListenerInterfaceRequestTarget;
 import org.apache.wicket.request.target.component.BookmarkablePageRequestTarget;
 import org.apache.wicket.util.string.AppendingStringBuffer;
@@ -128,7 +128,7 @@
 	}
 
 	@Override
-	public IRequestTarget decode(RequestParameters requestParameters)
+	public IRequestTarget decode(ObsoleteRequestParameters requestParameters)
 	{
 		String pageMapName = requestParameters.getPageMapName();
 		final PageParameters parameters = new PageParameters(requestParameters.getParameters());

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/SharedResourceRequestTargetUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/SharedResourceRequestTargetUrlCodingStrategy.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/SharedResourceRequestTargetUrlCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/SharedResourceRequestTargetUrlCodingStrategy.java Sat Dec  5 00:12:12 2009
@@ -17,7 +17,7 @@
 package org.apache.wicket.request.target.coding;
 
 import org.apache.wicket.IRequestTarget;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.resource.ISharedResourceRequestTarget;
 import org.apache.wicket.request.target.resource.SharedResourceRequestTarget;
 import org.apache.wicket.util.string.AppendingStringBuffer;
@@ -48,9 +48,9 @@
 	}
 
 	/**
-	 * @see org.apache.wicket.request.target.coding.IRequestTargetUrlCodingStrategy#decode(org.apache.wicket.request.RequestParameters)
+	 * @see org.apache.wicket.request.target.coding.IRequestTargetUrlCodingStrategy#decode(org.apache.wicket.request.ObsoleteRequestParameters)
 	 */
-	public IRequestTarget decode(RequestParameters requestParameters)
+	public IRequestTarget decode(ObsoleteRequestParameters requestParameters)
 	{
 		final String parametersFragment = requestParameters.getPath().substring(
 			getMountPath().length());
@@ -76,7 +76,7 @@
 		url.append(getMountPath());
 		final ISharedResourceRequestTarget target = (ISharedResourceRequestTarget)requestTarget;
 
-		RequestParameters requestParameters = target.getRequestParameters();
+		ObsoleteRequestParameters requestParameters = target.getRequestParameters();
 		appendParameters(url, requestParameters.getParameters());
 		return url;
 	}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/listener/AbstractListenerInterfaceRequestTarget.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/listener/AbstractListenerInterfaceRequestTarget.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/listener/AbstractListenerInterfaceRequestTarget.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/listener/AbstractListenerInterfaceRequestTarget.java Sat Dec  5 00:12:12 2009
@@ -21,7 +21,7 @@
 import org.apache.wicket.Page;
 import org.apache.wicket.RequestCycle;
 import org.apache.wicket.RequestListenerInterface;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.IEventProcessor;
 import org.apache.wicket.request.target.component.PageRequestTarget;
 import org.apache.wicket.settings.IRequestCycleSettings;
@@ -41,7 +41,7 @@
 		IEventProcessor
 {
 	/** The request parameters. */
-	private final RequestParameters requestParameters;
+	private final ObsoleteRequestParameters requestParameters;
 
 	/** the target component. */
 	private final Component component;
@@ -79,7 +79,7 @@
 	 *            the request parameter
 	 */
 	public AbstractListenerInterfaceRequestTarget(final Page page, final Component component,
-		final RequestListenerInterface listener, final RequestParameters requestParameters)
+		final RequestListenerInterface listener, final ObsoleteRequestParameters requestParameters)
 	{
 		super(page);
 
@@ -135,7 +135,7 @@
 	/**
 	 * @see org.apache.wicket.request.target.component.listener.IListenerInterfaceRequestTarget#getRequestParameters()
 	 */
-	public final RequestParameters getRequestParameters()
+	public final ObsoleteRequestParameters getRequestParameters()
 	{
 		return requestParameters;
 	}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/listener/BehaviorRequestTarget.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/listener/BehaviorRequestTarget.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/listener/BehaviorRequestTarget.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/listener/BehaviorRequestTarget.java Sat Dec  5 00:12:12 2009
@@ -25,7 +25,7 @@
 import org.apache.wicket.behavior.IBehavior;
 import org.apache.wicket.behavior.IBehaviorListener;
 import org.apache.wicket.protocol.http.PageExpiredException;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 
 /**
  * Target that denotes a page instance and a call to a component on that page using an listener
@@ -64,7 +64,7 @@
 	 *            the request parameters
 	 */
 	public BehaviorRequestTarget(final Page page, final Component component,
-		final RequestListenerInterface listener, final RequestParameters requestParameters)
+		final RequestListenerInterface listener, final ObsoleteRequestParameters requestParameters)
 	{
 		super(page, component, listener, requestParameters);
 	}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/listener/IListenerInterfaceRequestTarget.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/listener/IListenerInterfaceRequestTarget.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/listener/IListenerInterfaceRequestTarget.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/listener/IListenerInterfaceRequestTarget.java Sat Dec  5 00:12:12 2009
@@ -18,7 +18,7 @@
 
 import org.apache.wicket.Component;
 import org.apache.wicket.RequestListenerInterface;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.component.IPageRequestTarget;
 
 /**
@@ -48,5 +48,5 @@
 	 * 
 	 * @return The request parameters
 	 */
-	RequestParameters getRequestParameters();
+	ObsoleteRequestParameters getRequestParameters();
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/listener/ListenerInterfaceRequestTarget.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/listener/ListenerInterfaceRequestTarget.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/listener/ListenerInterfaceRequestTarget.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/listener/ListenerInterfaceRequestTarget.java Sat Dec  5 00:12:12 2009
@@ -20,7 +20,7 @@
 import org.apache.wicket.Page;
 import org.apache.wicket.RequestCycle;
 import org.apache.wicket.RequestListenerInterface;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 
 /**
  * Target that denotes a page instance and a call to a component on that page using a listener
@@ -59,7 +59,7 @@
 	 *            the request parameters
 	 */
 	public ListenerInterfaceRequestTarget(final Page page, final Component component,
-		final RequestListenerInterface listener, final RequestParameters requestParameters)
+		final RequestListenerInterface listener, final ObsoleteRequestParameters requestParameters)
 	{
 		super(page, component, listener, requestParameters);
 	}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/resource/ISharedResourceRequestTarget.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/resource/ISharedResourceRequestTarget.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/resource/ISharedResourceRequestTarget.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/resource/ISharedResourceRequestTarget.java Sat Dec  5 00:12:12 2009
@@ -19,7 +19,7 @@
 import org.apache.wicket.IRequestTarget;
 import org.apache.wicket.ResourceReference;
 import org.apache.wicket.SharedResources;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 
 /**
  * Target that denotes a shared {@link org.apache.wicket.Resource}, i.e a resource that doesn't need
@@ -40,7 +40,7 @@
 	 * 
 	 * @return the request parameters
 	 */
-	RequestParameters getRequestParameters();
+	ObsoleteRequestParameters getRequestParameters();
 
 	/**
 	 * @return The resource key for this SharedResource

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/resource/SharedResourceRequestTarget.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/resource/SharedResourceRequestTarget.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/resource/SharedResourceRequestTarget.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/resource/SharedResourceRequestTarget.java Sat Dec  5 00:12:12 2009
@@ -27,7 +27,7 @@
 import org.apache.wicket.application.IClassResolver;
 import org.apache.wicket.markup.html.PackageResource;
 import org.apache.wicket.protocol.http.WebResponse;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.util.string.Strings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -44,7 +44,7 @@
 	/** Logging object */
 	private static final Logger log = LoggerFactory.getLogger(SharedResourceRequestTarget.class);
 
-	private final RequestParameters requestParameters;
+	private final ObsoleteRequestParameters requestParameters;
 
 	/**
 	 * Construct.
@@ -52,7 +52,7 @@
 	 * @param requestParameters
 	 *            the request parameters
 	 */
-	public SharedResourceRequestTarget(RequestParameters requestParameters)
+	public SharedResourceRequestTarget(ObsoleteRequestParameters requestParameters)
 	{
 		this.requestParameters = requestParameters;
 		if (requestParameters == null)
@@ -91,7 +91,7 @@
 	/**
 	 * @see org.apache.wicket.request.target.resource.ISharedResourceRequestTarget#getRequestParameters()
 	 */
-	public final RequestParameters getRequestParameters()
+	public final ObsoleteRequestParameters getRequestParameters()
 	{
 		return requestParameters;
 	}

Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/link/IndexedParamUrlCodingTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/link/IndexedParamUrlCodingTest.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/link/IndexedParamUrlCodingTest.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/link/IndexedParamUrlCodingTest.java Sat Dec  5 00:12:12 2009
@@ -21,7 +21,7 @@
 import org.apache.wicket.WicketTestCase;
 import org.apache.wicket.protocol.http.WebRequestCycle;
 import org.apache.wicket.request.IRequestCodingStrategy;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.coding.IndexedParamUrlCodingStrategy;
 import org.apache.wicket.request.target.component.BookmarkablePageRequestTarget;
 
@@ -74,7 +74,7 @@
 		cycle = tester.createRequestCycle();
 		IRequestCodingStrategy encoder = cycle.getProcessor().getRequestCodingStrategy();
 
-		RequestParameters requestParameters = encoder.decode(tester.getWicketRequest());
+		ObsoleteRequestParameters requestParameters = encoder.decode(tester.getWicketRequest());
 
 		IRequestTarget target1 = cycle.getProcessor().resolve(cycle, requestParameters);
 		PageParameters params = ((BookmarkablePageRequestTarget)target1).getPageParameters();

Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/AbstractEncoderTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/AbstractEncoderTest.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/AbstractEncoderTest.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/AbstractEncoderTest.java Sat Dec  5 00:12:12 2009
@@ -16,10 +16,13 @@
  */
 package org.apache.wicket.ng.request.mapper;
 
+import java.util.Locale;
+import java.util.Map;
+
 import junit.framework.TestCase;
 
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.markup.html.link.ILinkListener;
-import org.apache.wicket.ng.request.Request;
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.component.RequestablePage;
 import org.apache.wicket.ng.request.listener.RequestListenerInterface;
@@ -55,7 +58,55 @@
 			public Url getUrl()
 			{
 				return url;
-			}			
+			}
+
+			@Override
+			public Locale getLocale()
+			{
+				return null;
+			}
+
+			@Override
+			public String getParameter(String key)
+			{
+				return null;
+			}
+
+			@Override
+			public Map&lt;String, String[]&gt; getParameterMap()
+			{
+				return null;
+			}
+
+			@Override
+			public String[] getParameters(String key)
+			{
+				return null;
+			}
+
+			@Override
+			public String getPath()
+			{
+				return null;
+			}
+
+			@Override
+			public String getQueryString()
+			{
+				return null;
+			}
+
+			@Override
+			public String getRelativePathPrefixToContextRoot()
+			{
+				return null;
+			}
+
+			@Override
+			public String getRelativePathPrefixToWicketHandler()
+			{
+				return null;
+			}
 		};
 	}
 

Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/test/TestPageRender.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/test/TestPageRender.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/test/TestPageRender.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/test/TestPageRender.java Sat Dec  5 00:12:12 2009
@@ -19,13 +19,13 @@
 import junit.framework.TestCase;
 
 import org.apache.wicket.Page;
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.ThreadContext;
 import org.apache.wicket.ng.markup.html.link.ILinkListener;
 import org.apache.wicket.ng.mock.MockApplication;
 import org.apache.wicket.ng.mock.MockRequestCycle;
 import org.apache.wicket.ng.mock.MockWebRequest;
 import org.apache.wicket.ng.mock.MockWebResponse;
-import org.apache.wicket.ng.request.Request;
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.handler.PageAndComponentProvider;
 import org.apache.wicket.ng.request.handler.impl.ListenerInterfaceRequestHandler;

Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/UrlMountingTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/UrlMountingTest.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/UrlMountingTest.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/UrlMountingTest.java Sat Dec  5 00:12:12 2009
@@ -177,7 +177,7 @@
 			"/WicketTester$DummyWebApplication/WicketTester$DummyWebApplication/mount/point");
 		IRequestTargetUrlCodingStrategy ucs = getRequestCodingStrategy();
 		assertNotNull(ucs);
-		assertNull(ucs.decode(tester.getWicketRequest().getRequestParameters()));
+		assertNull(ucs.decode(tester.getWicketRequest().getObsoleteRequestParameters()));
 	}
 
 	/**
@@ -190,7 +190,7 @@
 				"/WicketTester$DummyWebApplication/WicketTester$DummyWebApplication/mount/point/TestPage");
 		IRequestTargetUrlCodingStrategy ucs = getRequestCodingStrategy();
 		assertNotNull(ucs);
-		assertNotNull(ucs.decode(tester.getWicketRequest().getRequestParameters()));
+		assertNotNull(ucs.decode(tester.getWicketRequest().getObsoleteRequestParameters()));
 	}
 
 	/**




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887460 [1/2] - in /wicket/trunk/wicket/src: main/java/org/apache/wicket/ main/java/org/apache/wicket/behavior/ main/java/org/apache/wicket/markup/html/form/ main/java/org/apache/wicket/markup/html/link/ main/java/org/apache/wicket/ng/ main...</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091205001216.A0DC12388962@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091205001216-A0DC12388962@eris-apache-org%3e</id>
<updated>2009-12-05T00:12:15Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Sat Dec  5 00:12:12 2009
New Revision: 887460

URL: http://svn.apache.org/viewvc?rev=887460&amp;view=rev
Log:
wip wicket-ng 

Added:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/Request2.java
      - copied, changed from r887361, wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/Request.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/ObsoleteRequestParameters.java   (contents, props changed)
      - copied, changed from r887361, wicket/trunk/wicket/src/main/java/org/apache/wicket/request/RequestParameters.java
Removed:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/ServletWebRequest.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/WebRequest.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/Request.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/RequestParameters.java
Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/IResourceListener.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/Request.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestCycle.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestListenerInterface.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/Resource.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/IActivePageBehaviorListener.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/IBehaviorListener.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/InlineFrame.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/Application.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/Session.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/markup/html/form/Form.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockSessionStore.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebRequest.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/WebApplication.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/WicketFilter.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/RequestMapper.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycle.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycleContext.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractBookmarkableMapper.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractMapper.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/BookmarkableMapper.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/BufferedResponseMapper.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/MountedMapper.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageInstanceMapper.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ResourceReferenceMapper.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/SystemMapper.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ThreadsafeCompoundRequestMapper.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/MountMapper.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/MountedRequestMapper.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/UnmountedMapperAdapter.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/UnmountedRequestHandlerAdapter.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/PageParametersEncoder.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/SimplePageParametersEncoder.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/Resource.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/HttpSessionStore.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/SessionStore.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequest.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequestCycleProcessor.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebSession.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/CryptedUrlWebRequestCodingStrategy.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/urlcompressing/UrlCompressingWebCodingStrategy.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/urlcompressing/UrlCompressingWebRequestProcessor.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/https/HttpsRequestCycleProcessor.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/IRequestCodingStrategy.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/IRequestCycleProcessor.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/IRequestTargetMounter.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/basic/URIRequestTargetUrlCodingStrategy.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/BookmarkablePageRequestTargetUrlCodingStrategy.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IRequestTargetUrlCodingStrategy.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IndexedSharedResourceCodingStrategy.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/PackageRequestTargetUrlCodingStrategy.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/SharedResourceRequestTargetUrlCodingStrategy.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/listener/AbstractListenerInterfaceRequestTarget.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/listener/BehaviorRequestTarget.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/listener/IListenerInterfaceRequestTarget.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/listener/ListenerInterfaceRequestTarget.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/resource/ISharedResourceRequestTarget.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/resource/SharedResourceRequestTarget.java
    wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/link/IndexedParamUrlCodingTest.java
    wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/AbstractEncoderTest.java
    wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/test/TestPageRender.java
    wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/UrlMountingTest.java

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/IResourceListener.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/IResourceListener.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/IResourceListener.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/IResourceListener.java Sat Dec  5 00:12:12 2009
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket;
 
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.resource.ComponentResourceRequestTarget;
 
 /**
@@ -41,7 +41,7 @@
 	{
 		@Override
 		public IRequestTarget newRequestTarget(Page page, Component component,
-			RequestListenerInterface listener, RequestParameters requestParameters)
+			RequestListenerInterface listener, ObsoleteRequestParameters requestParameters)
 		{
 			return new ComponentResourceRequestTarget(page, component, listener);
 		}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Request.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Request.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Request.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Request.java Sat Dec  5 00:12:12 2009
@@ -19,10 +19,14 @@
 import java.util.Locale;
 import java.util.Map;
 
+import org.apache.wicket.ng.request.RequestParameters;
 import org.apache.wicket.ng.request.Url;
+import org.apache.wicket.ng.request.parameter.CombinedRequestParametersAdapter;
+import org.apache.wicket.ng.request.parameter.EmptyRequestParameters;
+import org.apache.wicket.ng.request.parameter.UrlRequestParametersAdapter;
 import org.apache.wicket.request.IRequestCodingStrategy;
 import org.apache.wicket.request.IRequestCycleProcessor;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 
 
 /**
@@ -37,7 +41,7 @@
 public abstract class Request
 {
 	/** the type safe request parameters object for this request. */
-	private RequestParameters requestParameters;
+	private ObsoleteRequestParameters requestParameters;
 
 	/**
 	 * Construct.
@@ -124,8 +128,10 @@
 	 * replacement for another.
 	 * 
 	 * @param requestParameters
+	 * @deprecated wicket-ng
 	 */
-	public final void setRequestParameters(RequestParameters requestParameters)
+	@Deprecated
+	public final void setObsoleteRequestParameters(ObsoleteRequestParameters requestParameters)
 	{
 		this.requestParameters = requestParameters;
 	}
@@ -135,8 +141,10 @@
 	 * the provided request cycle processor.
 	 * 
 	 * @return the request parameters object
+	 * @deprecated wicket-ng
 	 */
-	public final RequestParameters getRequestParameters()
+	@Deprecated
+	public final ObsoleteRequestParameters getObsoleteRequestParameters()
 	{
 		// reused cached parameters
 		if (requestParameters != null)
@@ -163,7 +171,7 @@
 		{
 			// do set the parameters as it was parsed.
 			// else the error page will also error again (infinite loop)
-			requestParameters = new RequestParameters();
+			requestParameters = new ObsoleteRequestParameters();
 			throw re;
 		}
 
@@ -198,4 +206,104 @@
 	 * @return request query string
 	 */
 	public abstract String getQueryString();
+
+	/**
+	 * @return POST request parameters for this request.
+	 */
+	public RequestParameters getPostRequestParameters()
+	{
+		return EmptyRequestParameters.INSTANCE;
+	}
+
+	/**
+	 * @return GET request parameters for this request.
+	 */
+	public RequestParameters getGetRequestParameters()
+	{
+		return new UrlRequestParametersAdapter(getUrl());
+	}
+
+	/**
+	 * @return all request parameters for this request (both POST and GET parameters)
+	 */
+	public RequestParameters getRequestParameters()
+	{
+		return new CombinedRequestParametersAdapter(getGetRequestParameters(),
+			getPostRequestParameters());
+	}
+
+	/**
+	 * Returns request with specified URL and same POST parameters as this request.
+	 * 
+	 * @param url
+	 *            Url instance
+	 * @return request with specified URL.
+	 */
+	public Request requestWithUrl(final Url url)
+	{
+		final Request delegate = this;
+
+		return new Request()
+		{
+			@Override
+			public Url getUrl()
+			{
+				return url;
+			}
+
+			@Override
+			public RequestParameters getPostRequestParameters()
+			{
+				return delegate.getPostRequestParameters();
+			}
+
+			@Override
+			public Locale getLocale()
+			{
+				return delegate.getLocale();
+			}
+
+			@Override
+			public String getParameter(String key)
+			{
+				return delegate.getParameter(key);
+			}
+
+			@Override
+			public Map&lt;String, String[]&gt; getParameterMap()
+			{
+				return delegate.getParameterMap();
+			}
+
+			@Override
+			public String[] getParameters(String key)
+			{
+				return delegate.getParameters(key);
+			}
+
+			@Override
+			public String getPath()
+			{
+				return delegate.getPath();
+			}
+
+			@Override
+			public String getQueryString()
+			{
+				return delegate.getQueryString();
+			}
+
+			@Override
+			public String getRelativePathPrefixToContextRoot()
+			{
+				return delegate.getRelativePathPrefixToContextRoot();
+			}
+
+			@Override
+			public String getRelativePathPrefixToWicketHandler()
+			{
+				return delegate.getRelativePathPrefixToWicketHandler();
+			}
+		};
+	}
 }
\ No newline at end of file

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestCycle.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestCycle.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestCycle.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestCycle.java Sat Dec  5 00:12:12 2009
@@ -29,7 +29,7 @@
 import org.apache.wicket.request.AbstractRequestCycleProcessor;
 import org.apache.wicket.request.ClientInfo;
 import org.apache.wicket.request.IRequestCycleProcessor;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.coding.WebRequestEncoder;
 import org.apache.wicket.request.target.component.BookmarkableListenerInterfaceRequestTarget;
 import org.apache.wicket.request.target.component.BookmarkablePageRequestTarget;
@@ -180,7 +180,7 @@
 	/** Dispatching and handling of events. */
 	private static final int PROCESS_EVENTS = 3;
 
-	/** Resolving the {@link RequestParameters} object to a request target. */
+	/** Resolving the {@link ObsoleteRequestParameters} object to a request target. */
 	private static final int RESOLVE_TARGET = 2;
 
 	/** Responding using the currently set {@link IRequestTarget}. */
@@ -782,7 +782,7 @@
 			throw new IllegalArgumentException("Behavior " + this +
 				" was not registered with this component: " + component.toString());
 		}
-		RequestParameters params = new RequestParameters();
+		ObsoleteRequestParameters params = new ObsoleteRequestParameters();
 		params.setBehaviorId(String.valueOf(index));
 		if (request instanceof ServletWebRequest)
 		{
@@ -792,7 +792,7 @@
 			// AJAX requests: If we need to generate a URL within an AJAX
 			// request for another one, it needs to be at the same depth as the
 			// original AJAX request.
-			int urlDepth = swr.getRequestParameters().getUrlDepth();
+			int urlDepth = swr.getObsoleteRequestParameters().getUrlDepth();
 			params.setUrlDepth(urlDepth &gt; -1 ? urlDepth : swr.getDepthRelativeToWicketHandler());
 		}
 
@@ -988,7 +988,7 @@
 	 */
 	public final CharSequence urlFor(final ResourceReference resourceReference, ValueMap parameters)
 	{
-		RequestParameters requestParameters = new RequestParameters();
+		ObsoleteRequestParameters requestParameters = new ObsoleteRequestParameters();
 		requestParameters.setResourceKey(resourceReference.getSharedResourceKey());
 		String name = resourceReference.getName();
 		if (getApplication().getResourceSettings().getAddLastModifiedTimeToResourceReferenceUrl() &amp;&amp;
@@ -1234,7 +1234,7 @@
 					// resolve the target of the request using the request
 					// parameters
 					final IRequestTarget target = processor.resolve(this,
-						request.getRequestParameters());
+						request.getObsoleteRequestParameters());
 
 					// has to result in a request target
 					if (target == null)

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestListenerInterface.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestListenerInterface.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestListenerInterface.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestListenerInterface.java Sat Dec  5 00:12:12 2009
@@ -23,7 +23,7 @@
 import java.util.Map;
 
 import org.apache.wicket.authorization.AuthorizationException;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget;
 import org.apache.wicket.util.lang.Classes;
 import org.slf4j.Logger;
@@ -220,7 +220,7 @@
 	 * @return The request target
 	 */
 	public IRequestTarget newRequestTarget(final Page page, final Component component,
-		final RequestListenerInterface listener, final RequestParameters requestParameters)
+		final RequestListenerInterface listener, final ObsoleteRequestParameters requestParameters)
 	{
 		return new ListenerInterfaceRequestTarget(page, component, listener, requestParameters);
 	}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Resource.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Resource.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Resource.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Resource.java Sat Dec  5 00:12:12 2009
@@ -180,7 +180,7 @@
 		{
 			return new ValueMap(RequestCycle.get()
 				.getRequest()
-				.getRequestParameters()
+				.getObsoleteRequestParameters()
 				.getParameters());
 		}
 		return (ValueMap)parameters.get();

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/IActivePageBehaviorListener.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/IActivePageBehaviorListener.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/IActivePageBehaviorListener.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/IActivePageBehaviorListener.java Sat Dec  5 00:12:12 2009
@@ -20,7 +20,7 @@
 import org.apache.wicket.IRequestTarget;
 import org.apache.wicket.Page;
 import org.apache.wicket.RequestListenerInterface;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.component.listener.BehaviorRequestTarget;
 
 /**
@@ -41,11 +41,11 @@
 		 * 
 		 * @see org.apache.wicket.RequestListenerInterface#newRequestTarget(org.apache.wicket.Page,
 		 *      org.apache.wicket.Component, org.apache.wicket.RequestListenerInterface,
-		 *      org.apache.wicket.request.RequestParameters)
+		 *      org.apache.wicket.request.ObsoleteRequestParameters)
 		 */
 		@Override
 		public IRequestTarget newRequestTarget(Page page, Component component,
-			RequestListenerInterface listener, RequestParameters requestParameters)
+			RequestListenerInterface listener, ObsoleteRequestParameters requestParameters)
 		{
 			return new BehaviorRequestTarget(page, component, listener, requestParameters);
 		}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/IBehaviorListener.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/IBehaviorListener.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/IBehaviorListener.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/behavior/IBehaviorListener.java Sat Dec  5 00:12:12 2009
@@ -21,7 +21,7 @@
 import org.apache.wicket.IRequestTarget;
 import org.apache.wicket.Page;
 import org.apache.wicket.RequestListenerInterface;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.component.listener.BehaviorRequestTarget;
 
 /**
@@ -42,11 +42,11 @@
 		 * 
 		 * @see org.apache.wicket.RequestListenerInterface#newRequestTarget(org.apache.wicket.Page,
 		 *      org.apache.wicket.Component, org.apache.wicket.RequestListenerInterface,
-		 *      org.apache.wicket.request.RequestParameters)
+		 *      org.apache.wicket.request.ObsoleteRequestParameters)
 		 */
 		@Override
 		public IRequestTarget newRequestTarget(Page page, Component component,
-			RequestListenerInterface listener, RequestParameters requestParameters)
+			RequestListenerInterface listener, ObsoleteRequestParameters requestParameters)
 		{
 			return new BehaviorRequestTarget(page, component, listener, requestParameters);
 		}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java Sat Dec  5 00:12:12 2009
@@ -43,7 +43,7 @@
 import org.apache.wicket.protocol.http.WebRequest;
 import org.apache.wicket.protocol.http.WicketURLDecoder;
 import org.apache.wicket.request.IRequestCycleProcessor;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.request.target.component.listener.IListenerInterfaceRequestTarget;
 import org.apache.wicket.settings.IApplicationSettings;
 import org.apache.wicket.util.lang.Bytes;
@@ -1154,7 +1154,7 @@
 	{
 		RequestCycle rc = RequestCycle.get();
 		IRequestCycleProcessor processor = rc.getProcessor();
-		final RequestParameters requestParameters = processor.getRequestCodingStrategy().decode(
+		final ObsoleteRequestParameters requestParameters = processor.getRequestCodingStrategy().decode(
 			new FormDispatchRequest(rc.getRequest(), Url.parse(url)));
 		IRequestTarget rt = processor.resolve(rc, requestParameters);
 		if (rt instanceof IListenerInterfaceRequestTarget)

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/InlineFrame.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/InlineFrame.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/InlineFrame.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/InlineFrame.java Sat Dec  5 00:12:12 2009
@@ -22,7 +22,7 @@
 import org.apache.wicket.Session;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.request.RequestParameters;
+import org.apache.wicket.request.ObsoleteRequestParameters;
 import org.apache.wicket.util.string.Strings;
 
 /**
@@ -192,7 +192,7 @@
 	 */
 	public final void onLinkClicked()
 	{
-		RequestParameters parameters = RequestCycle.get().getRequest().getRequestParameters();
+		ObsoleteRequestParameters parameters = RequestCycle.get().getRequest().getObsoleteRequestParameters();
 		String oldPageMapName = parameters.getPageMapName();
 		try
 		{
@@ -200,7 +200,7 @@
 		}
 		finally
 		{
-			RequestCycle.get().getRequest().getRequestParameters().setPageMapName(oldPageMapName);
+			RequestCycle.get().getRequest().getObsoleteRequestParameters().setPageMapName(oldPageMapName);
 		}
 	}
 

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/Application.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/Application.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/Application.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/Application.java Sat Dec  5 00:12:12 2009
@@ -23,6 +23,7 @@
 import org.apache.wicket.IPageFactory;
 import org.apache.wicket.MetaDataKey;
 import org.apache.wicket.Page;
+import org.apache.wicket.Request;
 import org.apache.wicket.Response;
 import org.apache.wicket.application.DefaultClassResolver;
 import org.apache.wicket.application.IClassResolver;
@@ -33,7 +34,6 @@
 import org.apache.wicket.ng.page.persistent.PageStore;
 import org.apache.wicket.ng.page.persistent.PersistentPageManager;
 import org.apache.wicket.ng.page.persistent.disk.DiskDataStore;
-import org.apache.wicket.ng.request.Request;
 import org.apache.wicket.ng.request.RequestMapper;
 import org.apache.wicket.ng.request.component.PageParametersNg;
 import org.apache.wicket.ng.request.component.RequestablePage;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/Session.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/Session.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/Session.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/Session.java Sat Dec  5 00:12:12 2009
@@ -22,7 +22,7 @@
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.wicket.ng.request.Request;
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.request.cycle.RequestCycle;
 import org.apache.wicket.ng.session.SessionStore;
 

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/markup/html/form/Form.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/markup/html/form/Form.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/markup/html/form/Form.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/markup/html/form/Form.java Sat Dec  5 00:12:12 2009
@@ -17,8 +17,8 @@
 package org.apache.wicket.ng.markup.html.form;
 
 import org.apache.wicket.Component;
+import org.apache.wicket.Request;
 import org.apache.wicket.Response;
-import org.apache.wicket.ng.request.Request;
 import org.apache.wicket.ng.request.RequestHandler;
 import org.apache.wicket.ng.request.cycle.RequestCycle;
 import org.apache.wicket.ng.request.handler.PageAndComponentProvider;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockSessionStore.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockSessionStore.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockSessionStore.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockSessionStore.java Sat Dec  5 00:12:12 2009
@@ -24,8 +24,8 @@
 import java.util.UUID;
 import java.util.concurrent.CopyOnWriteArraySet;
 
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.Session;
-import org.apache.wicket.ng.request.Request;
 import org.apache.wicket.ng.session.SessionStore;
 
 /**

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebRequest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebRequest.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebRequest.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebRequest.java Sat Dec  5 00:12:12 2009
@@ -23,10 +23,12 @@
 import java.util.Map;
 
 import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
 
 import org.apache.wicket.ng.WicketRuntimeException;
-import org.apache.wicket.ng.protocol.http.WebRequest;
 import org.apache.wicket.ng.request.Url;
+import org.apache.wicket.protocol.http.WebRequest;
+import org.apache.wicket.util.lang.Bytes;
 
 /**
  * Mutable mock {@link WebRequest}.
@@ -221,4 +223,81 @@
 	{
 		return postRequestParameters;
 	}
+
+	@Override
+	// TODO WICKET-NG implement?
+	public HttpServletRequest getHttpServletRequest()
+	{
+		return null;
+	}
+
+	@Override
+	// TODO WICKET-NG implement?
+	public String getParameter(String key)
+	{
+		return null;
+	}
+
+	@Override
+	// TODO WICKET-NG implement?
+	public Map&lt;String, String[]&gt; getParameterMap()
+	{
+		return null;
+	}
+
+	@Override
+	// TODO WICKET-NG implement?
+	public String[] getParameters(String key)
+	{
+		return null;
+	}
+
+	@Override
+	// TODO WICKET-NG implement?
+	public String getServletPath()
+	{
+		return null;
+	}
+
+	@Override
+	// TODO WICKET-NG implement?
+	public boolean isAjax()
+	{
+		return false;
+	}
+
+	@Override
+	// TODO WICKET-NG implement?
+	public WebRequest newMultipartWebRequest(Bytes maxSize)
+	{
+		return null;
+	}
+
+	@Override
+	// TODO WICKET-NG implement?
+	public String getPath()
+	{
+		return null;
+	}
+
+	@Override
+	// TODO WICKET-NG implement?
+	public String getQueryString()
+	{
+		return null;
+	}
+
+	@Override
+	// TODO WICKET-NG implement?
+	public String getRelativePathPrefixToContextRoot()
+	{
+		return null;
+	}
+
+	@Override
+	// TODO WICKET-NG implement?
+	public String getRelativePathPrefixToWicketHandler()
+	{
+		return null;
+	}
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/WebApplication.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/WebApplication.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/WebApplication.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/WebApplication.java Sat Dec  5 00:12:12 2009
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.ng.protocol.http;
 
+
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/WicketFilter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/WicketFilter.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/WicketFilter.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/WicketFilter.java Sat Dec  5 00:12:12 2009
@@ -35,6 +35,7 @@
 import org.apache.wicket.ng.request.cycle.RequestCycle;
 import org.apache.wicket.protocol.http.WebResponse;
 import org.apache.wicket.protocol.http.WicketServlet;
+import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
 import org.apache.wicket.util.string.Strings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/Request2.java (from r887361, wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/Request.java)
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/Request2.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/Request2.java&amp;p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/Request.java&amp;r1=887361&amp;r2=887460&amp;rev=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/Request.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/Request2.java Sat Dec  5 00:12:12 2009
@@ -25,7 +25,7 @@
  * 
  * @author Matej Knopp
  */
-public abstract class Request
+public abstract class Request2
 {
 	/**
 	 * Returns the URL for this request. URL is relative to Wicket filter path.
@@ -55,7 +55,8 @@
 	 */
 	public RequestParameters getRequestParameters()
 	{
-		return new CombinedRequestParametersAdapter(getGetRequestParameters(), getPostRequestParameters());
+		return new CombinedRequestParametersAdapter(getGetRequestParameters(),
+			getPostRequestParameters());
 	}
 
 	/**
@@ -65,9 +66,9 @@
 	 *            Url instance
 	 * @return request with specified URL.
 	 */
-	public Request requestWithUrl(final Url url)
+	public Request2 requestWithUrl(final Url url)
 	{
-		return new Request()
+		return new Request2()
 		{
 			@Override
 			public Url getUrl()
@@ -78,7 +79,7 @@
 			@Override
 			public RequestParameters getPostRequestParameters()
 			{
-				return Request.this.getPostRequestParameters();
+				return Request2.this.getPostRequestParameters();
 			}
 		};
 	}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/RequestMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/RequestMapper.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/RequestMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/RequestMapper.java Sat Dec  5 00:12:12 2009
@@ -16,6 +16,8 @@
  */
 package org.apache.wicket.ng.request;
 
+import org.apache.wicket.Request;
+
 
 /**
  * Encodes {@link RequestHandler}(s) into {@link Url}(s) and decodes {@link Request}(s) to
@@ -27,42 +29,42 @@
  */
 public interface RequestMapper
 {
-    /**
-     * Returns {@link RequestHandler} for the request or &lt;code&gt;null&lt;/code&gt; if the encoder does not
-     * recognize the URL.
-     * 
-     * @param request
-     *            provides access to request data (i.e. Url and Parameters)
-     * 
-     * @return RequestHandler instance or &lt;code&gt;null&lt;/code&gt;
-     */
-    RequestHandler mapRequest(Request request);
+	/**
+	 * Returns {@link RequestHandler} for the request or &lt;code&gt;null&lt;/code&gt; if the encoder does not
+	 * recognize the URL.
+	 * 
+	 * @param request
+	 *            provides access to request data (i.e. Url and Parameters)
+	 * 
+	 * @return RequestHandler instance or &lt;code&gt;null&lt;/code&gt;
+	 */
+	RequestHandler mapRequest(Request request);
 
-    /**
-     * Returns the score representing how compatible this request mapper is to processing the given
-     * request. When a request comes in all mappers are scored and are tried in order from highest
-     * score to lowest.
-     * &lt;p&gt;
-     * A good criteria for calculating the score is the number of matched url segments. For example
-     * when there are two encoders for mounted page, one mapped to &lt;code&gt;/foo&lt;/code&gt; another to
-     * &lt;code&gt;/foo/bar&lt;/code&gt; and the incomming reqest URL is &lt;/code&gt;/foo/bar/baz&lt;/code&gt;, the encoder
-     * mapped to &lt;code&gt;/foo/bar&lt;/code&gt; will handle the request first as it has matching segments
-     * count of 2 while the first one has only matching segments count of 1.
-     * &lt;p&gt;
-     * Note that the method can return value greater then zero even if the encoder can not decode
-     * the request.
-     * 
-     * @param request
-     * @return count of matching segments
-     */
-    int getCompatibilityScore(Request request);
+	/**
+	 * Returns the score representing how compatible this request mapper is to processing the given
+	 * request. When a request comes in all mappers are scored and are tried in order from highest
+	 * score to lowest.
+	 * &lt;p&gt;
+	 * A good criteria for calculating the score is the number of matched url segments. For example
+	 * when there are two encoders for mounted page, one mapped to &lt;code&gt;/foo&lt;/code&gt; another to
+	 * &lt;code&gt;/foo/bar&lt;/code&gt; and the incomming reqest URL is &lt;/code&gt;/foo/bar/baz&lt;/code&gt;, the encoder
+	 * mapped to &lt;code&gt;/foo/bar&lt;/code&gt; will handle the request first as it has matching segments
+	 * count of 2 while the first one has only matching segments count of 1.
+	 * &lt;p&gt;
+	 * Note that the method can return value greater then zero even if the encoder can not decode
+	 * the request.
+	 * 
+	 * @param request
+	 * @return count of matching segments
+	 */
+	int getCompatibilityScore(Request request);
 
-    /**
-     * Returns the {@link Url} for given {@link RequestHandler} or &lt;code&gt;null&lt;/code&gt; if the encoder
-     * does not recognize the request handler.
-     * 
-     * @param requestHandler
-     * @return Url instance or &lt;code&gt;null&lt;/code&gt;.
-     */
-    Url mapHandler(RequestHandler requestHandler);
+	/**
+	 * Returns the {@link Url} for given {@link RequestHandler} or &lt;code&gt;null&lt;/code&gt; if the encoder
+	 * does not recognize the request handler.
+	 * 
+	 * @param requestHandler
+	 * @return Url instance or &lt;code&gt;null&lt;/code&gt;.
+	 */
+	Url mapHandler(RequestHandler requestHandler);
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycle.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycle.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycle.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycle.java Sat Dec  5 00:12:12 2009
@@ -21,9 +21,9 @@
 
 import org.apache.wicket.MetaDataEntry;
 import org.apache.wicket.MetaDataKey;
+import org.apache.wicket.Request;
 import org.apache.wicket.Response;
 import org.apache.wicket.ng.ThreadContext;
-import org.apache.wicket.ng.request.Request;
 import org.apache.wicket.ng.request.RequestHandler;
 import org.apache.wicket.ng.request.RequestMapper;
 import org.apache.wicket.ng.request.Url;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycleContext.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycleContext.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycleContext.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycleContext.java Sat Dec  5 00:12:12 2009
@@ -16,8 +16,8 @@
  */
 package org.apache.wicket.ng.request.cycle;
 
+import org.apache.wicket.Request;
 import org.apache.wicket.Response;
-import org.apache.wicket.ng.request.Request;
 import org.apache.wicket.ng.request.RequestMapper;
 
 

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractBookmarkableMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractBookmarkableMapper.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractBookmarkableMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractBookmarkableMapper.java Sat Dec  5 00:12:12 2009
@@ -16,14 +16,14 @@
  */
 package org.apache.wicket.ng.request.mapper;
 
-import org.apache.wicket.ng.request.Request;
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.request.RequestHandler;
 import org.apache.wicket.ng.request.RequestMapper;
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.component.PageParametersNg;
 import org.apache.wicket.ng.request.component.RequestablePage;
-import org.apache.wicket.ng.request.handler.PageAndComponentProvider;
 import org.apache.wicket.ng.request.handler.DefaultPageProvider;
+import org.apache.wicket.ng.request.handler.PageAndComponentProvider;
 import org.apache.wicket.ng.request.handler.impl.BookmarkableListenerInterfaceRequestHandler;
 import org.apache.wicket.ng.request.handler.impl.BookmarkablePageRequestHandler;
 import org.apache.wicket.ng.request.handler.impl.ListenerInterfaceRequestHandler;
@@ -71,11 +71,11 @@
 		 * @param pageParameters
 		 *            optional parameter providing pageParameters
 		 */
-		public UrlInfo(PageComponentInfo pageComponentInfo, Class&lt;? extends RequestablePage&gt; pageClass,
-				PageParametersNg pageParameters)
+		public UrlInfo(PageComponentInfo pageComponentInfo,
+			Class&lt;? extends RequestablePage&gt; pageClass, PageParametersNg pageParameters)
 		{
 			Checks.argumentNotNull(pageClass, "pageClass");
-			
+
 			this.pageComponentInfo = pageComponentInfo;
 			this.pageParameters = pageParameters != null ? pageParameters : null;
 			this.pageClass = pageClass;
@@ -134,54 +134,56 @@
 	 *         &lt;code&gt;false&lt;/code&gt; otherwise.
 	 */
 	protected abstract boolean pageMustHaveBeenCreatedBookmarkable();
-	
+
 	/**
 	 * @see RequestMapper#getCompatibilityScore(Request)
 	 */
 	public abstract int getCompatibilityScore(Request request);
-	
-	private RequestHandler processBookmarkable(Class&lt;? extends RequestablePage&gt; pageClass, PageParametersNg pageParameters)
+
+	private RequestHandler processBookmarkable(Class&lt;? extends RequestablePage&gt; pageClass,
+		PageParametersNg pageParameters)
 	{
 		DefaultPageProvider provider = new DefaultPageProvider(pageClass, pageParameters);
 		provider.setPageSource(getContext());
 		return new RenderPageRequestHandler(provider);
 	}
 
-	private RequestHandler processHybrid(PageInfo pageInfo, Class&lt;? extends RequestablePage&gt; pageClass,
-			PageParametersNg pageParameters, Integer renderCount)
+	private RequestHandler processHybrid(PageInfo pageInfo,
+		Class&lt;? extends RequestablePage&gt; pageClass, PageParametersNg pageParameters,
+		Integer renderCount)
 	{
-		DefaultPageProvider provider = new DefaultPageProvider(pageInfo.getPageId(), pageClass, pageParameters,
-				renderCount);
+		DefaultPageProvider provider = new DefaultPageProvider(pageInfo.getPageId(), pageClass,
+			pageParameters, renderCount);
 		provider.setPageSource(getContext());
 		return new RenderPageRequestHandler(provider);
 	}
 
-	private RequestHandler processListener(PageComponentInfo pageComponentInfo, Class&lt;? extends RequestablePage&gt; pageClass,
-			PageParametersNg pageParameters)
+	private RequestHandler processListener(PageComponentInfo pageComponentInfo,
+		Class&lt;? extends RequestablePage&gt; pageClass, PageParametersNg pageParameters)
 	{
 		PageInfo pageInfo = pageComponentInfo.getPageInfo();
 		ComponentInfo componentInfo = pageComponentInfo.getComponentInfo();
 		Integer renderCount = componentInfo != null ? componentInfo.getRenderCount() : null;
 
-		RequestListenerInterface listenerInterface = requestListenerInterfaceFromString(componentInfo
-				.getListenerInterface());
+		RequestListenerInterface listenerInterface = requestListenerInterfaceFromString(componentInfo.getListenerInterface());
 
 		if (listenerInterface != null)
 		{
-			PageAndComponentProvider provider = new PageAndComponentProvider(pageInfo.getPageId(), pageClass,
-					pageParameters, renderCount, componentInfo.getComponentPath());
+			PageAndComponentProvider provider = new PageAndComponentProvider(pageInfo.getPageId(),
+				pageClass, pageParameters, renderCount, componentInfo.getComponentPath());
 
 			provider.setPageSource(getContext());
-			
-			return new ListenerInterfaceRequestHandler(provider, listenerInterface, componentInfo.getBehaviorIndex());	
+
+			return new ListenerInterfaceRequestHandler(provider, listenerInterface,
+				componentInfo.getBehaviorIndex());
 		}
 		else
 		{
 			logger.warn("Unknown listener interface '" + componentInfo.getListenerInterface() + "'");
 			return null;
-		}		
+		}
 	}
-	
+
 	public RequestHandler mapRequest(Request request)
 	{
 		UrlInfo urlInfo = parseRequest(request);
@@ -214,7 +216,7 @@
 		}
 		return null;
 	}
-	
+
 	protected boolean checkPageClass(Class&lt;? extends RequestablePage&gt; pageClass)
 	{
 		return true;
@@ -225,7 +227,7 @@
 		if (requestHandler instanceof BookmarkablePageRequestHandler)
 		{
 			// simple bookmarkable URL with no page instance information
-			BookmarkablePageRequestHandler handler = (BookmarkablePageRequestHandler) requestHandler;
+			BookmarkablePageRequestHandler handler = (BookmarkablePageRequestHandler)requestHandler;
 
 			if (!checkPageClass(handler.getPageClass()))
 			{
@@ -233,8 +235,8 @@
 			}
 
 			PageInfo info = new PageInfo();
-			UrlInfo urlInfo = new UrlInfo(new PageComponentInfo(info, null), handler.getPageClass(), handler
-					.getPageParameters());
+			UrlInfo urlInfo = new UrlInfo(new PageComponentInfo(info, null),
+				handler.getPageClass(), handler.getPageParameters());
 
 			return buildUrl(urlInfo);
 		}
@@ -243,7 +245,7 @@
 			// possibly hybrid URL - bookmarkable URL with page instance information
 			// but only allowed if the page was created by bookamarkable URL
 
-			RenderPageRequestHandler handler = (RenderPageRequestHandler) requestHandler;
+			RenderPageRequestHandler handler = (RenderPageRequestHandler)requestHandler;
 			RequestablePage page = handler.getPage();
 
 			if (!checkPageClass(page.getClass()))
@@ -258,9 +260,11 @@
 				{
 					info = new PageInfo(page);
 				}
-				PageComponentInfo pageComponentInfo = info != null ? new PageComponentInfo(info, null) : null;
+				PageComponentInfo pageComponentInfo = info != null ? new PageComponentInfo(info,
+					null) : null;
 
-				UrlInfo urlInfo = new UrlInfo(pageComponentInfo, page.getClass(), handler.getPageParameters());
+				UrlInfo urlInfo = new UrlInfo(pageComponentInfo, page.getClass(),
+					handler.getPageParameters());
 				return buildUrl(urlInfo);
 			}
 			else
@@ -272,7 +276,7 @@
 		else if (requestHandler instanceof BookmarkableListenerInterfaceRequestHandler)
 		{
 			// listener interface URL with page class information
-			BookmarkableListenerInterfaceRequestHandler handler = (BookmarkableListenerInterfaceRequestHandler) requestHandler;
+			BookmarkableListenerInterfaceRequestHandler handler = (BookmarkableListenerInterfaceRequestHandler)requestHandler;
 			RequestablePage page = handler.getPage();
 
 			if (!checkPageClass(page.getClass()))
@@ -282,17 +286,17 @@
 
 			PageInfo pageInfo = new PageInfo(page);
 			ComponentInfo componentInfo = new ComponentInfo(page.getRenderCount(),
-					requestListenerInterfaceToString(handler.getListenerInterface()), handler.getComponent().getPath(),
-					handler.getBehaviorIndex());
+				requestListenerInterfaceToString(handler.getListenerInterface()),
+				handler.getComponent().getPath(), handler.getBehaviorIndex());
 
-			UrlInfo urlInfo = new UrlInfo(new PageComponentInfo(pageInfo, componentInfo), page.getClass(), handler
-					.getPageParameters());
+			UrlInfo urlInfo = new UrlInfo(new PageComponentInfo(pageInfo, componentInfo),
+				page.getClass(), handler.getPageParameters());
 			return buildUrl(urlInfo);
 		}
 
 		return null;
-	}	
+	}
+
 
-	
 	private static Logger logger = LoggerFactory.getLogger(AbstractBookmarkableMapper.class);
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractMapper.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractMapper.java Sat Dec  5 00:12:12 2009
@@ -16,8 +16,8 @@
  */
 package org.apache.wicket.ng.request.mapper;
 
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.Application;
-import org.apache.wicket.ng.request.Request;
 import org.apache.wicket.ng.request.RequestMapper;
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.Url.QueryParameter;
@@ -37,259 +37,259 @@
  */
 public abstract class AbstractMapper implements RequestMapper
 {
-    protected MapperContext getContext()
-    {
-        return Application.get().getEncoderContext();
-    }
-
-    /**
-     * Converts the specified listener interface to String.
-     * 
-     * @param listenerInterface
-     * @return listenerInterface name as string
-     */
-    protected String requestListenerInterfaceToString(RequestListenerInterface listenerInterface)
-    {
-        Checks.argumentNotNull(listenerInterface, "listenerInterface");
-
-        return getContext().requestListenerInterfaceToString(listenerInterface);
-    }
-
-    /**
-     * Creates listener interface from the specified string
-     * 
-     * @param interfaceName
-     * @return listener interface
-     */
-    protected RequestListenerInterface requestListenerInterfaceFromString(String interfaceName)
-    {
-        Checks.argumentNotEmpty(interfaceName, "interfaceName");
-
-        return getContext().requestListenerInterfaceFromString(interfaceName);
-    }
-
-    /**
-     * If the string is in a placeholder format ${key} this method returns the key.
-     * 
-     * @param s
-     * @return placeholder key or &lt;code&gt;null&lt;/code&gt; if string is not in right format
-     */
-    protected static String getPlaceholder(String s)
-    {
-        if (s == null || s.length() &lt; 4 || !s.startsWith("${") || !s.endsWith("}"))
-        {
-            return null;
-        }
-        else
-        {
-            return s.substring(2, s.length() - 1);
-        }
-    }
-
-    /**
-     * Returns true if the given url starts with specified segments. Segments that contain
-     * placelhoders are not compared.
-     * 
-     * @param url
-     * @param segments
-     * @return &lt;code&gt;true&lt;/code&gt; if the URL starts with the specified segments, &lt;code&gt;false&lt;/code&gt;
-     *         otherwise
-     */
-    /*
-     * TODO its funny to have a dependency in this method on the #getPlaceHolder method because we
-     * are forcing everyone who extends this to use the ${placeholder} syntax. We should move
-     * #getPlaceHolder out and rewrite this method to have no dependency on it and match only exact
-     * paths. The mappers that use the syntax will have to provide their own implementations.
-     * 
-     * Either that or have a pluggable placeholder syntax Placeholder { string start, string end}
-     */
-    protected boolean urlStartsWith(Url url, String... segments)
-    {
-        if (url == null)
-        {
-            return false;
-        }
-        else
-        {
-            if (url.getSegments().size() &lt; segments.length)
-            {
-                return false;
-            }
-            else
-            {
-                for (int i = 0; i &lt; segments.length; ++i)
-                {
-                    if (segments[i].equals(url.getSegments().get(i)) == false &amp;&amp;
-                            getPlaceholder(segments[i]) == null)
-                    {
-                        return false;
-                    }
-                }
-            }
-        }
-        return true;
-    }
-
-    /**
-     * Extracts the {@link PageComponentInfo} from the URL. The {@link PageComponentInfo} is encoded
-     * as the very first query parameter and the parameter consists of name only (no value).
-     * 
-     * @param url
-     * 
-     * @return PageComponentInfo instance if one was encoded in URL, &lt;code&gt;null&lt;/code&gt; otherwise.
-     */
-    protected PageComponentInfo getPageComponentInfo(Url url)
-    {
-        if (url == null)
-        {
-            throw new IllegalStateException("Argument 'url' may not be null.");
-        }
-        if (url.getQueryParameters().size() &gt; 0)
-        {
-            QueryParameter param = url.getQueryParameters().get(0);
-            if (Strings.isEmpty(param.getValue()))
-            {
-                return PageComponentInfo.parse(param.getName());
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Encodes the {@link PageComponentInfo} instance as the first query string parameter to the
-     * URL.
-     * 
-     * @param url
-     * @param info
-     */
-    protected void encodePageComponentInfo(Url url, PageComponentInfo info)
-    {
-        if (url == null)
-        {
-            throw new IllegalStateException("Argument 'url' may not be null.");
-        }
-        if (info != null)
-        {
-            String s = info.toString();
-            if (!Strings.isEmpty(s))
-            {
-                QueryParameter parameter = new QueryParameter(s, "");
-                url.getQueryParameters().add(parameter);
-            }
-        }
-    }
-
-    /**
-     * Loads page class with given name.
-     * 
-     * @param name
-     * @return class
-     */
-    protected Class&lt; ? extends RequestablePage&gt; getPageClass(String name)
-    {
-        Checks.argumentNotEmpty(name, "name");
-
-        return Classes.resolveClass(name);
-    }
-
-    /**
-     * Extracts {@link PageParametersNg} from the URL using the given {@link PageParametersEncoder}.
-     * 
-     * @param request
-     * @param segmentsToSkip
-     *            how many URL segments should be skipped because they "belong" to the
-     *            {@link RequestMapper}
-     * @param encoder
-     * @return PageParameters instance
-     */
-    protected PageParametersNg extractPageParameters(Request request, int segmentsToSkip,
-            PageParametersEncoder encoder)
-    {
-        Checks.argumentNotNull(request, "request");
-        Checks.argumentNotNull(encoder, "encoder");
-
-        // strip the segments and first query parameter from URL
-        Url urlCopy = new Url(request.getUrl());
-        while (segmentsToSkip &gt; 0 &amp;&amp; urlCopy.getSegments().isEmpty() == false)
-        {
-            urlCopy.getSegments().remove(0);
-            --segmentsToSkip;
-        }
-
-        if (!urlCopy.getQueryParameters().isEmpty() &amp;&amp;
-                Strings.isEmpty(urlCopy.getQueryParameters().get(0).getValue()))
-        {
-            urlCopy.getQueryParameters().remove(0);
-        }
-
-        PageParametersNg decoded = encoder.decodePageParameters(request.requestWithUrl(urlCopy));
-        return decoded != null ? decoded : new PageParametersNg();
-    }
-
-    /**
-     * Encodes the given {@link PageParametersNg} to the URL using the given
-     * {@link PageParametersEncoder}. The original URL object is unchanged.
-     * 
-     * @param url
-     * @param pageParameters
-     * @param encoder
-     * @return URL with encoded parameters
-     */
-    protected Url encodePageParameters(Url url, PageParametersNg pageParameters,
-            PageParametersEncoder encoder)
-    {
-        Checks.argumentNotNull(url, "url");
-        Checks.argumentNotNull(encoder, "encoder");
-
-        if (pageParameters == null)
-        {
-            pageParameters = new PageParametersNg();
-        }
-
-        Url parametersUrl = encoder.encodePageParameters(pageParameters);
-        if (parametersUrl != null)
-        {
-            // copy the url
-            url = new Url(url);
-
-            for (String s : parametersUrl.getSegments())
-            {
-                url.getSegments().add(s);
-            }
-            for (QueryParameter p : parametersUrl.getQueryParameters())
-            {
-                url.getQueryParameters().add(p);
-            }
-        }
-
-        return url;
-    }
-
-    /**
-     * Convenience method for representing mountPath as array of segments
-     * 
-     * @param mountPath
-     * @return array of path segments
-     */
-    protected String[] getMountSegments(String mountPath)
-    {
-        if (mountPath.startsWith("/"))
-        {
-            mountPath = mountPath.substring(1);
-        }
-        Url url = Url.parse(mountPath);
-
-        if (url.getSegments().isEmpty())
-        {
-            throw new IllegalArgumentException("Mount path must have at least one segment.");
-        }
-
-        String[] res = new String[url.getSegments().size()];
-        for (int i = 0; i &lt; res.length; ++i)
-        {
-            res[i] = url.getSegments().get(i);
-        }
-        return res;
-    }
+	protected MapperContext getContext()
+	{
+		return Application.get().getEncoderContext();
+	}
+
+	/**
+	 * Converts the specified listener interface to String.
+	 * 
+	 * @param listenerInterface
+	 * @return listenerInterface name as string
+	 */
+	protected String requestListenerInterfaceToString(RequestListenerInterface listenerInterface)
+	{
+		Checks.argumentNotNull(listenerInterface, "listenerInterface");
+
+		return getContext().requestListenerInterfaceToString(listenerInterface);
+	}
+
+	/**
+	 * Creates listener interface from the specified string
+	 * 
+	 * @param interfaceName
+	 * @return listener interface
+	 */
+	protected RequestListenerInterface requestListenerInterfaceFromString(String interfaceName)
+	{
+		Checks.argumentNotEmpty(interfaceName, "interfaceName");
+
+		return getContext().requestListenerInterfaceFromString(interfaceName);
+	}
+
+	/**
+	 * If the string is in a placeholder format ${key} this method returns the key.
+	 * 
+	 * @param s
+	 * @return placeholder key or &lt;code&gt;null&lt;/code&gt; if string is not in right format
+	 */
+	protected static String getPlaceholder(String s)
+	{
+		if (s == null || s.length() &lt; 4 || !s.startsWith("${") || !s.endsWith("}"))
+		{
+			return null;
+		}
+		else
+		{
+			return s.substring(2, s.length() - 1);
+		}
+	}
+
+	/**
+	 * Returns true if the given url starts with specified segments. Segments that contain
+	 * placelhoders are not compared.
+	 * 
+	 * @param url
+	 * @param segments
+	 * @return &lt;code&gt;true&lt;/code&gt; if the URL starts with the specified segments, &lt;code&gt;false&lt;/code&gt;
+	 *         otherwise
+	 */
+	/*
+	 * TODO its funny to have a dependency in this method on the #getPlaceHolder method because we
+	 * are forcing everyone who extends this to use the ${placeholder} syntax. We should move
+	 * #getPlaceHolder out and rewrite this method to have no dependency on it and match only exact
+	 * paths. The mappers that use the syntax will have to provide their own implementations.
+	 * 
+	 * Either that or have a pluggable placeholder syntax Placeholder { string start, string end}
+	 */
+	protected boolean urlStartsWith(Url url, String... segments)
+	{
+		if (url == null)
+		{
+			return false;
+		}
+		else
+		{
+			if (url.getSegments().size() &lt; segments.length)
+			{
+				return false;
+			}
+			else
+			{
+				for (int i = 0; i &lt; segments.length; ++i)
+				{
+					if (segments[i].equals(url.getSegments().get(i)) == false &amp;&amp;
+						getPlaceholder(segments[i]) == null)
+					{
+						return false;
+					}
+				}
+			}
+		}
+		return true;
+	}
+
+	/**
+	 * Extracts the {@link PageComponentInfo} from the URL. The {@link PageComponentInfo} is encoded
+	 * as the very first query parameter and the parameter consists of name only (no value).
+	 * 
+	 * @param url
+	 * 
+	 * @return PageComponentInfo instance if one was encoded in URL, &lt;code&gt;null&lt;/code&gt; otherwise.
+	 */
+	protected PageComponentInfo getPageComponentInfo(Url url)
+	{
+		if (url == null)
+		{
+			throw new IllegalStateException("Argument 'url' may not be null.");
+		}
+		if (url.getQueryParameters().size() &gt; 0)
+		{
+			QueryParameter param = url.getQueryParameters().get(0);
+			if (Strings.isEmpty(param.getValue()))
+			{
+				return PageComponentInfo.parse(param.getName());
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Encodes the {@link PageComponentInfo} instance as the first query string parameter to the
+	 * URL.
+	 * 
+	 * @param url
+	 * @param info
+	 */
+	protected void encodePageComponentInfo(Url url, PageComponentInfo info)
+	{
+		if (url == null)
+		{
+			throw new IllegalStateException("Argument 'url' may not be null.");
+		}
+		if (info != null)
+		{
+			String s = info.toString();
+			if (!Strings.isEmpty(s))
+			{
+				QueryParameter parameter = new QueryParameter(s, "");
+				url.getQueryParameters().add(parameter);
+			}
+		}
+	}
+
+	/**
+	 * Loads page class with given name.
+	 * 
+	 * @param name
+	 * @return class
+	 */
+	protected Class&lt;? extends RequestablePage&gt; getPageClass(String name)
+	{
+		Checks.argumentNotEmpty(name, "name");
+
+		return Classes.resolveClass(name);
+	}
+
+	/**
+	 * Extracts {@link PageParametersNg} from the URL using the given {@link PageParametersEncoder}.
+	 * 
+	 * @param request
+	 * @param segmentsToSkip
+	 *            how many URL segments should be skipped because they "belong" to the
+	 *            {@link RequestMapper}
+	 * @param encoder
+	 * @return PageParameters instance
+	 */
+	protected PageParametersNg extractPageParameters(Request request, int segmentsToSkip,
+		PageParametersEncoder encoder)
+	{
+		Checks.argumentNotNull(request, "request");
+		Checks.argumentNotNull(encoder, "encoder");
+
+		// strip the segments and first query parameter from URL
+		Url urlCopy = new Url(request.getUrl());
+		while (segmentsToSkip &gt; 0 &amp;&amp; urlCopy.getSegments().isEmpty() == false)
+		{
+			urlCopy.getSegments().remove(0);
+			--segmentsToSkip;
+		}
+
+		if (!urlCopy.getQueryParameters().isEmpty() &amp;&amp;
+			Strings.isEmpty(urlCopy.getQueryParameters().get(0).getValue()))
+		{
+			urlCopy.getQueryParameters().remove(0);
+		}
+
+		PageParametersNg decoded = encoder.decodePageParameters(request.requestWithUrl(urlCopy));
+		return decoded != null ? decoded : new PageParametersNg();
+	}
+
+	/**
+	 * Encodes the given {@link PageParametersNg} to the URL using the given
+	 * {@link PageParametersEncoder}. The original URL object is unchanged.
+	 * 
+	 * @param url
+	 * @param pageParameters
+	 * @param encoder
+	 * @return URL with encoded parameters
+	 */
+	protected Url encodePageParameters(Url url, PageParametersNg pageParameters,
+		PageParametersEncoder encoder)
+	{
+		Checks.argumentNotNull(url, "url");
+		Checks.argumentNotNull(encoder, "encoder");
+
+		if (pageParameters == null)
+		{
+			pageParameters = new PageParametersNg();
+		}
+
+		Url parametersUrl = encoder.encodePageParameters(pageParameters);
+		if (parametersUrl != null)
+		{
+			// copy the url
+			url = new Url(url);
+
+			for (String s : parametersUrl.getSegments())
+			{
+				url.getSegments().add(s);
+			}
+			for (QueryParameter p : parametersUrl.getQueryParameters())
+			{
+				url.getQueryParameters().add(p);
+			}
+		}
+
+		return url;
+	}
+
+	/**
+	 * Convenience method for representing mountPath as array of segments
+	 * 
+	 * @param mountPath
+	 * @return array of path segments
+	 */
+	protected String[] getMountSegments(String mountPath)
+	{
+		if (mountPath.startsWith("/"))
+		{
+			mountPath = mountPath.substring(1);
+		}
+		Url url = Url.parse(mountPath);
+
+		if (url.getSegments().isEmpty())
+		{
+			throw new IllegalArgumentException("Mount path must have at least one segment.");
+		}
+
+		String[] res = new String[url.getSegments().size()];
+		for (int i = 0; i &lt; res.length; ++i)
+		{
+			res[i] = url.getSegments().get(i);
+		}
+		return res;
+	}
 
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/BookmarkableMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/BookmarkableMapper.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/BookmarkableMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/BookmarkableMapper.java Sat Dec  5 00:12:12 2009
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.ng.request.mapper;
 
-import org.apache.wicket.ng.request.Request;
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.component.PageParametersNg;
 import org.apache.wicket.ng.request.component.RequestablePage;
@@ -61,7 +61,7 @@
 	public BookmarkableMapper(PageParametersEncoder pageParametersEncoder)
 	{
 		Checks.argumentNotNull(pageParametersEncoder, "pageParametersEncoder");
-		
+
 		this.pageParametersEncoder = pageParametersEncoder;
 	}
 
@@ -102,19 +102,21 @@
 			Class&lt;? extends RequestablePage&gt; pageClass = getPageClass(className);
 
 			// extract the PageParameters from URL if there are any
-			PageParametersNg pageParameters = extractPageParameters(request, 3, pageParametersEncoder);
+			PageParametersNg pageParameters = extractPageParameters(request, 3,
+				pageParametersEncoder);
 
 			return new UrlInfo(info, pageClass, pageParameters);
 		}
 		return null;
 	}
-	
+
 	@Override
 	protected boolean pageMustHaveBeenCreatedBookmarkable()
 	{
 		return true;
 	}
 
+	@Override
 	public int getCompatibilityScore(Request request)
 	{
 		// always return 0 here so that the mounts have higher priority

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/BufferedResponseMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/BufferedResponseMapper.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/BufferedResponseMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/BufferedResponseMapper.java Sat Dec  5 00:12:12 2009
@@ -16,9 +16,9 @@
  */
 package org.apache.wicket.ng.request.mapper;
 
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.Session;
 import org.apache.wicket.ng.protocol.http.WebApplication;
-import org.apache.wicket.ng.request.Request;
 import org.apache.wicket.ng.request.RequestHandler;
 import org.apache.wicket.ng.request.RequestMapper;
 import org.apache.wicket.ng.request.Url;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/MountedMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/MountedMapper.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/MountedMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/MountedMapper.java Sat Dec  5 00:12:12 2009
@@ -18,7 +18,7 @@
 
 import java.lang.ref.WeakReference;
 
-import org.apache.wicket.ng.request.Request;
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.component.PageParametersNg;
 import org.apache.wicket.ng.request.component.RequestablePage;
@@ -67,7 +67,7 @@
 	 * @param pageParametersEncoder
 	 */
 	public MountedMapper(String mountPath, Class&lt;? extends RequestablePage&gt; pageClass,
-			PageParametersEncoder pageParametersEncoder)
+		PageParametersEncoder pageParametersEncoder)
 	{
 		Checks.argumentNotEmpty(mountPath, "mountPath");
 		Checks.argumentNotNull(pageClass, "pageClass");
@@ -75,7 +75,7 @@
 
 		this.pageParametersEncoder = pageParametersEncoder;
 		this.pageClass = new WeakReference&lt;Class&lt;? extends RequestablePage&gt;&gt;(pageClass);
-		this.mountSegments = getMountSegments(mountPath);
+		mountSegments = getMountSegments(mountPath);
 	}
 
 	/**
@@ -103,7 +103,8 @@
 			return info;
 		}
 		// check if the URL is long enough and starts with the proper segments
-		else if (url.getSegments().size() &gt;= mountSegments.length &amp;&amp; urlStartsWith(url, mountSegments))
+		else if (url.getSegments().size() &gt;= mountSegments.length &amp;&amp;
+			urlStartsWith(url, mountSegments))
 		{
 			// try to extract page and component information from URL
 			PageComponentInfo info = getPageComponentInfo(url);
@@ -111,7 +112,8 @@
 			Class&lt;? extends RequestablePage&gt; pageClass = this.pageClass.get();
 
 			// extract the PageParameters from URL if there are any
-			PageParametersNg pageParameters = extractPageParameters(request, mountSegments.length, pageParametersEncoder);
+			PageParametersNg pageParameters = extractPageParameters(request, mountSegments.length,
+				pageParametersEncoder);
 
 			// check if there are placeholders in mount segments
 			for (int i = 0; i &lt; mountSegments.length; ++i)
@@ -201,6 +203,7 @@
 		return false;
 	}
 
+	@Override
 	public int getCompatibilityScore(Request request)
 	{
 		if (urlStartsWith(request.getUrl(), mountSegments))

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageInstanceMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageInstanceMapper.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageInstanceMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageInstanceMapper.java Sat Dec  5 00:12:12 2009
@@ -16,12 +16,12 @@
  */
 package org.apache.wicket.ng.request.mapper;
 
-import org.apache.wicket.ng.request.Request;
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.request.RequestHandler;
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.component.RequestablePage;
-import org.apache.wicket.ng.request.handler.PageAndComponentProvider;
 import org.apache.wicket.ng.request.handler.DefaultPageProvider;
+import org.apache.wicket.ng.request.handler.PageAndComponentProvider;
 import org.apache.wicket.ng.request.handler.impl.ListenerInterfaceRequestHandler;
 import org.apache.wicket.ng.request.handler.impl.RenderPageRequestHandler;
 import org.apache.wicket.ng.request.listener.RequestListenerInterface;
@@ -62,30 +62,32 @@
 			PageComponentInfo info = getPageComponentInfo(url);
 			if (info != null &amp;&amp; info.getPageInfo().getPageId() != null)
 			{
-				Integer renderCount = info.getComponentInfo() != null ? info.getComponentInfo().getRenderCount() : null;
+				Integer renderCount = info.getComponentInfo() != null ? info.getComponentInfo()
+					.getRenderCount() : null;
 
 				if (info.getComponentInfo() == null)
 				{
-					DefaultPageProvider provider = new DefaultPageProvider(info.getPageInfo().getPageId(), renderCount);
+					DefaultPageProvider provider = new DefaultPageProvider(info.getPageInfo()
+						.getPageId(), renderCount);
 					provider.setPageSource(getContext());
-					// render page					
+					// render page
 					return new RenderPageRequestHandler(provider);
 				}
 				else
 				{
 					ComponentInfo componentInfo = info.getComponentInfo();
 
-					PageAndComponentProvider provider = new PageAndComponentProvider(info.getPageInfo()
-							.getPageId(), renderCount, componentInfo.getComponentPath());
+					PageAndComponentProvider provider = new PageAndComponentProvider(
+						info.getPageInfo().getPageId(), renderCount,
+						componentInfo.getComponentPath());
 
 					provider.setPageSource(getContext());
-					
+
 					// listener interface
-					RequestListenerInterface listenerInterface = requestListenerInterfaceFromString(componentInfo
-							.getListenerInterface());
+					RequestListenerInterface listenerInterface = requestListenerInterfaceFromString(componentInfo.getListenerInterface());
 
-					return new ListenerInterfaceRequestHandler(provider, listenerInterface, componentInfo
-							.getBehaviorIndex());
+					return new ListenerInterfaceRequestHandler(provider, listenerInterface,
+						componentInfo.getBehaviorIndex());
 				}
 			}
 		}
@@ -98,21 +100,22 @@
 
 		if (requestHandler instanceof RenderPageRequestHandler)
 		{
-			RequestablePage page = ((RenderPageRequestHandler) requestHandler).getPage();
+			RequestablePage page = ((RenderPageRequestHandler)requestHandler).getPage();
 
 			PageInfo i = new PageInfo(page);
 			info = new PageComponentInfo(i, null);
 		}
 		else if (requestHandler instanceof ListenerInterfaceRequestHandler)
 		{
-			ListenerInterfaceRequestHandler handler = (ListenerInterfaceRequestHandler) requestHandler;
+			ListenerInterfaceRequestHandler handler = (ListenerInterfaceRequestHandler)requestHandler;
 			RequestablePage page = handler.getPage();
 			String componentPath = handler.getComponent().getPath();
 			RequestListenerInterface listenerInterface = handler.getListenerInterface();
 
 			PageInfo pageInfo = new PageInfo(page);
 			ComponentInfo componentInfo = new ComponentInfo(page.getRenderCount(),
-					requestListenerInterfaceToString(listenerInterface), componentPath, handler.getBehaviorIndex());
+				requestListenerInterfaceToString(listenerInterface), componentPath,
+				handler.getBehaviorIndex());
 			info = new PageComponentInfo(pageInfo, componentInfo);
 		}
 

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ResourceReferenceMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ResourceReferenceMapper.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ResourceReferenceMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ResourceReferenceMapper.java Sat Dec  5 00:12:12 2009
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.ng.request.mapper;
 
-import org.apache.wicket.ng.request.Request;
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.request.RequestHandler;
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.component.PageParametersNg;
@@ -85,8 +85,8 @@
 			ResourceReferenceAttributes attributes = getResourceReferenceAttributes(url);
 
 			// extract the PageParameters from URL if there are any
-			PageParametersNg pageParameters = extractPageParameters(request,
-				url.getSegments().size(), pageParametersEncoder);
+			PageParametersNg pageParameters = extractPageParameters(request, url.getSegments()
+				.size(), pageParametersEncoder);
 
 			Class&lt;?&gt; scope = resolveClass(className);
 			if (scope != null)
@@ -124,7 +124,7 @@
 	{
 		if (requestHandler instanceof ResourceReferenceRequestHandler)
 		{
-			ResourceReferenceRequestHandler referenceRequestHandler = (ResourceReferenceRequestHandler) requestHandler;
+			ResourceReferenceRequestHandler referenceRequestHandler = (ResourceReferenceRequestHandler)requestHandler;
 			ResourceReference reference = referenceRequestHandler.getResourceReference();
 			Url url = new Url();
 			url.getSegments().add(getContext().getNamespace());

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/SystemMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/SystemMapper.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/SystemMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/SystemMapper.java Sat Dec  5 00:12:12 2009
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.ng.request.mapper;
 
-import org.apache.wicket.ng.request.Request;
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.request.RequestHandler;
 import org.apache.wicket.ng.request.RequestMapper;
 import org.apache.wicket.ng.request.Url;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ThreadsafeCompoundRequestMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ThreadsafeCompoundRequestMapper.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ThreadsafeCompoundRequestMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ThreadsafeCompoundRequestMapper.java Sat Dec  5 00:12:12 2009
@@ -21,14 +21,13 @@
 import java.util.List;
 import java.util.concurrent.CopyOnWriteArrayList;
 
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.request.CompoundRequestMapper;
-import org.apache.wicket.ng.request.Request;
 import org.apache.wicket.ng.request.RequestHandler;
 import org.apache.wicket.ng.request.RequestMapper;
 import org.apache.wicket.ng.request.Url;
 
 
-
 /**
  * Thread safe compound {@link RequestMapper}. The mappers are searched depending on their
  * compatibility score and the orders they were registered. If two or more {@link RequestMapper}s
@@ -38,120 +37,126 @@
  */
 public class ThreadsafeCompoundRequestMapper implements CompoundRequestMapper
 {
-    /* (non-Javadoc)
-     * @see org.apache.wicket.request.ICompoundRequestMapper#register(org.apache.wicket.request.IRequestMapper)
-     */
-    public void register(RequestMapper encoder)
-    {
-        mappers.add(0, encoder);
-    }
-
-    /* (non-Javadoc)
-     * @see org.apache.wicket.request.ICompoundRequestMapper#unregister(org.apache.wicket.request.IRequestMapper)
-     */
-    public void unregister(RequestMapper encoder)
-    {
-        mappers.remove(encoder);
-    }
-
-    private static class EncoderWithSegmentsCount implements Comparable&lt;EncoderWithSegmentsCount&gt;
-    {
-        private final RequestMapper mapper;
-        private final int compatibilityScore;
-
-        public EncoderWithSegmentsCount(RequestMapper encoder, int compatibilityScore)
-        {
-            this.mapper = encoder;
-            this.compatibilityScore = compatibilityScore;
-        }
-
-        public int compareTo(EncoderWithSegmentsCount o)
-        {
-            return o.compatibilityScore - this.compatibilityScore;
-        }
-
-        public RequestMapper getMapper()
-        {
-            return mapper;
-        }
-    };
-
-    /**
-     * Searches the registered {@link RequestMapper}s to find one that can decode the
-     * {@link Request}. Each registered {@link RequestMapper} is asked to provide the matching
-     * segments count. Then the encoders are asked to decode the request in order depending on the
-     * provided segments count.
-     * &lt;p&gt;
-     * The encoder with highest matching segments count that can decode the request is returned.
-     * 
-     * @param request
-     * @return RequestHandler for the request or &lt;code&gt;null&lt;/code&gt; if no encoder for the request is
-     *         found.
-     */
-    public RequestHandler mapRequest(Request request)
-    {
-        List&lt;EncoderWithSegmentsCount&gt; list = new ArrayList&lt;EncoderWithSegmentsCount&gt;(mappers
-                .size());
-
-        for (RequestMapper encoder : mappers)
-        {
-            list.add(new EncoderWithSegmentsCount(encoder, encoder.getCompatibilityScore(request)));
-        }
-
-        Collections.sort(list);
-
-        for (EncoderWithSegmentsCount encoder : list)
-        {
-            RequestHandler handler = encoder.getMapper().mapRequest(request);
-            if (handler != null)
-            {
-                return handler;
-            }
-        }
-
-        return null;
-    }
-
-    /**
-     * Searches the registered {@link RequestMapper}s to find one that can encode the
-     * {@link RequestHandler}. Each registered {@link RequestMapper} is asked to encode the
-     * {@link RequestHandler} until an encoder that can encode the {@link RequestHandler} is found
-     * or no more encoders are left.
-     * &lt;p&gt;
-     * The handlers are searched in reverse order as they have been registered. More recently
-     * registered handlers have bigger priority.
-     * 
-     * @param handler
-     * @return Url for the handler or &lt;code&gt;null&lt;/code&gt; if no encoder for the handler is found.
-     */
-    public Url mapHandler(RequestHandler handler)
-    {
-        for (RequestMapper encoder : mappers)
-        {
-            Url url = encoder.mapHandler(handler);
-            if (url != null)
-            {
-                return url;
-            }
-        }
-        return null;
-    }
-
-    private List&lt;RequestMapper&gt; mappers = new CopyOnWriteArrayList&lt;RequestMapper&gt;();
-
-    /**
-     * The scope of the compound mapper is the highest score of the registered mappers.
-     * 
-     * {@inheritDoc}
-     */
-    public int getCompatibilityScore(Request request)
-    {
-        int score = Integer.MIN_VALUE;
-        for (RequestMapper mapper : mappers)
-        {
-            score = Math.max(score, mapper.getCompatibilityScore(request));
-        }
-        return score;
-    }
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @seeorg.apache.wicket.request.ICompoundRequestMapper#register(org.apache.wicket.request.
+	 * IRequestMapper)
+	 */
+	public void register(RequestMapper encoder)
+	{
+		mappers.add(0, encoder);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @seeorg.apache.wicket.request.ICompoundRequestMapper#unregister(org.apache.wicket.request.
+	 * IRequestMapper)
+	 */
+	public void unregister(RequestMapper encoder)
+	{
+		mappers.remove(encoder);
+	}
+
+	private static class EncoderWithSegmentsCount implements Comparable&lt;EncoderWithSegmentsCount&gt;
+	{
+		private final RequestMapper mapper;
+		private final int compatibilityScore;
+
+		public EncoderWithSegmentsCount(RequestMapper encoder, int compatibilityScore)
+		{
+			mapper = encoder;
+			this.compatibilityScore = compatibilityScore;
+		}
+
+		public int compareTo(EncoderWithSegmentsCount o)
+		{
+			return o.compatibilityScore - compatibilityScore;
+		}
+
+		public RequestMapper getMapper()
+		{
+			return mapper;
+		}
+	};
+
+	/**
+	 * Searches the registered {@link RequestMapper}s to find one that can decode the
+	 * {@link Request}. Each registered {@link RequestMapper} is asked to provide the matching
+	 * segments count. Then the encoders are asked to decode the request in order depending on the
+	 * provided segments count.
+	 * &lt;p&gt;
+	 * The encoder with highest matching segments count that can decode the request is returned.
+	 * 
+	 * @param request
+	 * @return RequestHandler for the request or &lt;code&gt;null&lt;/code&gt; if no encoder for the request is
+	 *         found.
+	 */
+	public RequestHandler mapRequest(Request request)
+	{
+		List&lt;EncoderWithSegmentsCount&gt; list = new ArrayList&lt;EncoderWithSegmentsCount&gt;(
+			mappers.size());
+
+		for (RequestMapper encoder : mappers)
+		{
+			list.add(new EncoderWithSegmentsCount(encoder, encoder.getCompatibilityScore(request)));
+		}
+
+		Collections.sort(list);
+
+		for (EncoderWithSegmentsCount encoder : list)
+		{
+			RequestHandler handler = encoder.getMapper().mapRequest(request);
+			if (handler != null)
+			{
+				return handler;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * Searches the registered {@link RequestMapper}s to find one that can encode the
+	 * {@link RequestHandler}. Each registered {@link RequestMapper} is asked to encode the
+	 * {@link RequestHandler} until an encoder that can encode the {@link RequestHandler} is found
+	 * or no more encoders are left.
+	 * &lt;p&gt;
+	 * The handlers are searched in reverse order as they have been registered. More recently
+	 * registered handlers have bigger priority.
+	 * 
+	 * @param handler
+	 * @return Url for the handler or &lt;code&gt;null&lt;/code&gt; if no encoder for the handler is found.
+	 */
+	public Url mapHandler(RequestHandler handler)
+	{
+		for (RequestMapper encoder : mappers)
+		{
+			Url url = encoder.mapHandler(handler);
+			if (url != null)
+			{
+				return url;
+			}
+		}
+		return null;
+	}
+
+	private final List&lt;RequestMapper&gt; mappers = new CopyOnWriteArrayList&lt;RequestMapper&gt;();
+
+	/**
+	 * The scope of the compound mapper is the highest score of the registered mappers.
+	 * 
+	 * {@inheritDoc}
+	 */
+	public int getCompatibilityScore(Request request)
+	{
+		int score = Integer.MIN_VALUE;
+		for (RequestMapper mapper : mappers)
+		{
+			score = Math.max(score, mapper.getCompatibilityScore(request));
+		}
+		return score;
+	}
 
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/MountMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/MountMapper.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/MountMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/MountMapper.java Sat Dec  5 00:12:12 2009
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.ng.request.mapper.mount;
 
-import org.apache.wicket.ng.request.Request;
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.request.RequestHandler;
 import org.apache.wicket.ng.request.RequestMapper;
 import org.apache.wicket.ng.request.Url;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/MountedRequestMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/MountedRequestMapper.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/MountedRequestMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/MountedRequestMapper.java Sat Dec  5 00:12:12 2009
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.ng.request.mapper.mount;
 
-import org.apache.wicket.ng.request.Request;
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.request.RequestHandler;
 
 /**

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/UnmountedMapperAdapter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/UnmountedMapperAdapter.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/UnmountedMapperAdapter.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/UnmountedMapperAdapter.java Sat Dec  5 00:12:12 2009
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.ng.request.mapper.mount;
 
-import org.apache.wicket.ng.request.Request;
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.request.RequestHandler;
 import org.apache.wicket.ng.request.RequestMapper;
 import org.apache.wicket.ng.request.Url;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/UnmountedRequestHandlerAdapter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/UnmountedRequestHandlerAdapter.java?rev=887460&amp;r1=887459&amp;r2=887460&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/UnmountedRequestHandlerAdapter.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/UnmountedRequestHandlerAdapter.java Sat Dec  5 00:12:12 2009
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.ng.request.mapper.mount;
 
-import org.apache.wicket.ng.request.Request;
+import org.apache.wicket.Request;
 import org.apache.wicket.ng.request.RequestHandler;
 import org.apache.wicket.ng.request.Url;
 




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887453 - in /wicket/trunk/wicket/src: main/java/org/apache/wicket/ main/java/org/apache/wicket/markup/html/ main/java/org/apache/wicket/markup/html/form/ main/java/org/apache/wicket/ng/request/ main/java/org/apache/wicket/protocol/http/ ma...</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091204233626.2E4CD23889BF@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091204233626-2E4CD23889BF@eris-apache-org%3e</id>
<updated>2009-12-04T23:36:25Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Fri Dec  4 23:36:24 2009
New Revision: 887453

URL: http://svn.apache.org/viewvc?rev=887453&amp;view=rev
Log:
wip wicket-ng 

Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/Request.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/AjaxServerAndClientTimeFilter.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/ServerAndClientTimeFilter.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/ServerTimeFilter.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/Url.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/MockHttpServletResponse.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequestCycle.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/CryptedUrlWebRequestCodingStrategy.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/resource/ResourceStreamRequestTarget.java
    wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/UrlTest.java

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Request.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Request.java?rev=887453&amp;r1=887452&amp;r2=887453&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Request.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Request.java Fri Dec  4 23:36:24 2009
@@ -19,6 +19,7 @@
 import java.util.Locale;
 import java.util.Map;
 
+import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.request.IRequestCodingStrategy;
 import org.apache.wicket.request.IRequestCycleProcessor;
 import org.apache.wicket.request.RequestParameters;
@@ -35,9 +36,6 @@
  */
 public abstract class Request
 {
-	/** Any Page decoded for this request */
-	private Page page;
-
 	/** the type safe request parameters object for this request. */
 	private RequestParameters requestParameters;
 
@@ -56,7 +54,7 @@
 	 *            The URL to decode
 	 * @return The decoded url
 	 */
-	public String decodeURL(final String url)
+	public Url decodeURL(final Url url)
 	{
 		return url;
 	}
@@ -67,14 +65,6 @@
 	public abstract Locale getLocale();
 
 	/**
-	 * @return Any Page for this request
-	 */
-	public Page getPage()
-	{
-		return page;
-	}
-
-	/**
 	 * Gets a given (query) parameter by name.
 	 * 
 	 * @param key
@@ -191,30 +181,7 @@
 	 * 
 	 * @return The relative request URL for local use
 	 */
-	public abstract String getURL();
-
-	/**
-	 * THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT CALL IT.
-	 * 
-	 * @param page
-	 *            The Page for this request
-	 */
-	public void setPage(final Page page)
-	{
-		this.page = page;
-	}
-
-	/**
-	 * A request can say if the current request should generated a new version number. If this
-	 * returns true, then all the changes on a page that has versioning enabled is merged with
the
-	 * latest version. Else it will just create a new version.
-	 * 
-	 * @return true if the version must be merged with the previous latest.
-	 */
-	public boolean mergeVersion()
-	{
-		return false;
-	}
+	public abstract Url getUrl();
 
 	/**
 	 * @see java.lang.Object#toString()
@@ -222,7 +189,7 @@
 	@Override
 	public String toString()
 	{
-		return "Request[url=" + getURL() + "]";
+		return "Request[url=" + getUrl() + "]";
 	}
 
 	/**

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/AjaxServerAndClientTimeFilter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/AjaxServerAndClientTimeFilter.java?rev=887453&amp;r1=887452&amp;r2=887453&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/AjaxServerAndClientTimeFilter.java
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/AjaxServerAndClientTimeFilter.java
Fri Dec  4 23:36:24 2009
@@ -78,7 +78,7 @@
 				"&lt;evaluate&gt;&lt;![CDATA[clientTimeVariable = new Date().getTime();]]&gt;&lt;/evaluate&gt;");
 		}
 		log.info(timeTaken + "ms server time taken for request " +
-			RequestCycle.get().getRequest().getURL() + " response size: " + responseBuffer.length());
+			RequestCycle.get().getRequest().getUrl() + " response size: " + responseBuffer.length());
 		return responseBuffer;
 	}
 

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/ServerAndClientTimeFilter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/ServerAndClientTimeFilter.java?rev=887453&amp;r1=887452&amp;r2=887453&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/ServerAndClientTimeFilter.java
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/ServerAndClientTimeFilter.java
Fri Dec  4 23:36:24 2009
@@ -77,7 +77,7 @@
 				JavascriptUtils.SCRIPT_CLOSE_TAG + "\n");
 		}
 		log.info(timeTaken + "ms server time taken for request " +
-			RequestCycle.get().getRequest().getURL() + " response size: " + responseBuffer.length());
+			RequestCycle.get().getRequest().getUrl() + " response size: " + responseBuffer.length());
 		return responseBuffer;
 	}
 }
\ No newline at end of file

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/ServerTimeFilter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/ServerTimeFilter.java?rev=887453&amp;r1=887452&amp;r2=887453&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/ServerTimeFilter.java
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/ServerTimeFilter.java
Fri Dec  4 23:36:24 2009
@@ -58,7 +58,7 @@
 		}
 
 		log.info(timeTaken + "ms server time taken for request " +
-			RequestCycle.get().getRequest().getURL() + " response size: " + responseBuffer.length());
+			RequestCycle.get().getRequest().getUrl() + " response size: " + responseBuffer.length());
 		return responseBuffer;
 	}
 }
\ No newline at end of file

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java?rev=887453&amp;r1=887452&amp;r2=887453&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java Fri Dec
 4 23:36:24 2009
@@ -39,7 +39,7 @@
 import org.apache.wicket.markup.html.form.validation.IFormValidator;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
-import org.apache.wicket.protocol.http.RequestUtils;
+import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.protocol.http.WebRequest;
 import org.apache.wicket.protocol.http.WicketURLDecoder;
 import org.apache.wicket.request.IRequestCycleProcessor;
@@ -235,7 +235,7 @@
 
 		private final Request realRequest;
 
-		private final String url;
+		private final Url url;
 
 		/**
 		 * Construct.
@@ -243,13 +243,11 @@
 		 * @param realRequest
 		 * @param url
 		 */
-		public FormDispatchRequest(final Request realRequest, final String url)
+		public FormDispatchRequest(final Request realRequest, final Url url)
 		{
 			this.realRequest = realRequest;
 			this.url = realRequest.decodeURL(url);
-
-			String queryString = this.url.substring(this.url.indexOf("?") + 1);
-			RequestUtils.decodeUrlParameters(queryString, params);
+			this.url.putQueryParameters(params);
 		}
 
 		/**
@@ -316,10 +314,10 @@
 		}
 
 		/**
-		 * @see org.apache.wicket.Request#getURL()
+		 * @see org.apache.wicket.Request#getUrl()
 		 */
 		@Override
-		public String getURL()
+		public Url getUrl()
 		{
 			return url;
 		}
@@ -1157,7 +1155,7 @@
 		RequestCycle rc = RequestCycle.get();
 		IRequestCycleProcessor processor = rc.getProcessor();
 		final RequestParameters requestParameters = processor.getRequestCodingStrategy().decode(
-			new FormDispatchRequest(rc.getRequest(), url));
+			new FormDispatchRequest(rc.getRequest(), Url.parse(url)));
 		IRequestTarget rt = processor.resolve(rc, requestParameters);
 		if (rt instanceof IListenerInterfaceRequestTarget)
 		{

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/Url.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/Url.java?rev=887453&amp;r1=887452&amp;r2=887453&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/Url.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/Url.java Fri Dec  4 23:36:24
2009
@@ -18,8 +18,10 @@
 
 import java.io.Serializable;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.wicket.ng.protocol.http.WicketURLDecoder;
 import org.apache.wicket.ng.protocol.http.WicketURLEncoder;
@@ -70,6 +72,11 @@
 	{
 	}
 
+	public Url(String string)
+	{
+
+	}
+
 	/**
 	 * Construct.
 	 * 
@@ -120,6 +127,31 @@
 	}
 
 	/**
+	 * Populates the provided {@code params} map with query parameters
+	 * 
+	 * @deprecated the code should be using proper QuaryParameter oriented method, this is just
to
+	 *             help ease migration
+	 */
+	@Deprecated
+	public void putQueryParameters(Map&lt;String, String[]&gt; params)
+	{
+		for (QueryParameter param : getQueryParameters())
+		{
+			String[] array = params.get(param.getName());
+			if (array == null)
+			{
+				array = new String[] { param.getValue() };
+			}
+			else
+			{
+				array = Arrays.copyOf(array, array.length + 1);
+				array[array.length - 1] = param.getValue();
+			}
+			params.put(param.getName(), array);
+		}
+	}
+
+	/**
 	 * Returns whether the URL is absolute.
 	 * 
 	 * @return &lt;code&gt;true&lt;/code&gt; if URL is absolute, &lt;code&gt;false&lt;/code&gt;
otherwise.
@@ -534,4 +566,14 @@
 			}
 		}
 	}
+
+	public void makeAbsolute()
+	{
+		if (isAbsolute())
+		{
+			return;
+		}
+
+		segments.add(null);
+	}
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/MockHttpServletResponse.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/MockHttpServletResponse.java?rev=887453&amp;r1=887452&amp;r2=887453&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/MockHttpServletResponse.java
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/MockHttpServletResponse.java
Fri Dec  4 23:36:24 2009
@@ -527,7 +527,7 @@
 
 	/**
 	 * @return url
-	 * @see org.apache.wicket.Request#getURL()
+	 * @see org.apache.wicket.Request#getUrl()
 	 */
 	private String getURL()
 	{

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequestCycle.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequestCycle.java?rev=887453&amp;r1=887452&amp;r2=887453&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequestCycle.java
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequestCycle.java
Fri Dec  4 23:36:24 2009
@@ -273,7 +273,7 @@
 				// we haven't done the redirect yet; record that we will be
 				// doing that now and redirect
 				session.setMetaData(BROWSER_WAS_POLLED_KEY, Boolean.TRUE);
-				String url = "/" + getRequest().getURL();
+				String url = "/" + getRequest().getUrl();
 				throw new RestartResponseException(newBrowserInfoPage(url));
 			}
 			// if we get here, the redirect already has been done; clear

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java?rev=887453&amp;r1=887452&amp;r2=887453&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java Fri
Dec  4 23:36:24 2009
@@ -169,7 +169,7 @@
 		// The ServletWebRequest is created here to avoid code duplication. The getURL call doesn't
 		// depend on anything wicket specific
 		ServletWebRequest req = new ServletWebRequest(request);
-		String url = req.getURL();
+		String url = req.getUrl().toString();
 
 		// WICKET-2185: strip of query string
 		if (url.indexOf('?') != -1)

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/CryptedUrlWebRequestCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/CryptedUrlWebRequestCodingStrategy.java?rev=887453&amp;r1=887452&amp;r2=887453&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/CryptedUrlWebRequestCodingStrategy.java
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/CryptedUrlWebRequestCodingStrategy.java
Fri Dec  4 23:36:24 2009
@@ -26,6 +26,7 @@
 import org.apache.wicket.Request;
 import org.apache.wicket.RequestCycle;
 import org.apache.wicket.WicketRuntimeException;
+import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.protocol.http.PageExpiredException;
 import org.apache.wicket.protocol.http.RequestUtils;
 import org.apache.wicket.protocol.http.WicketURLDecoder;
@@ -114,7 +115,7 @@
 	 */
 	public RequestParameters decode(final Request request)
 	{
-		String url = request.decodeURL(request.getURL());
+		String url = request.decodeURL(request.getUrl()).toString();
 		String decodedQueryParams = decodeURL(url);
 		if (decodedQueryParams != null)
 		{
@@ -395,7 +396,7 @@
 		private final Request request;
 
 		/** The new URL with the 'x' param decoded */
-		private final String url;
+		private final Url url;
 
 		/**
 		 * The new parameter map with the 'x' param removed and the 'new' one included
@@ -447,7 +448,7 @@
 			{
 				urlBuf.append(url.substring(pos2));
 			}
-			this.url = urlBuf.toString();
+			this.url = Url.parse(urlBuf.toString());
 		}
 
 		/**
@@ -562,10 +563,10 @@
 		}
 
 		/**
-		 * @see org.apache.wicket.Request#getURL()
+		 * @see org.apache.wicket.Request#getUrl()
 		 */
 		@Override
-		public String getURL()
+		public Url getUrl()
 		{
 			return url;
 		}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java?rev=887453&amp;r1=887452&amp;r2=887453&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java
Fri Dec  4 23:36:24 2009
@@ -23,10 +23,9 @@
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.wicket.Application;
-import org.apache.wicket.IRedirectListener;
 import org.apache.wicket.RequestContext;
-import org.apache.wicket.RequestListenerInterface;
 import org.apache.wicket.WicketRuntimeException;
+import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.protocol.http.WebApplication;
 import org.apache.wicket.protocol.http.WebRequest;
 import org.apache.wicket.protocol.http.WicketURLDecoder;
@@ -63,8 +62,6 @@
 	/** Marks this request as an ajax request. */
 	private boolean ajax;
 
-	private boolean forceNewVersion = false;
-
 	/**
 	 * Protected constructor.
 	 * 
@@ -382,10 +379,10 @@
 	}
 
 	/**
-	 * @see org.apache.wicket.Request#getURL()
+	 * @see org.apache.wicket.Request#getUrl()
 	 */
 	@Override
-	public String getURL()
+	public Url getUrl()
 	{
 		/*
 		 * Servlet 2.3 specification :
@@ -419,7 +416,7 @@
 			// Remove leading '/'
 			url = url.substring(1);
 		}
-		return url;
+		return Url.parse(url);
 	}
 
 	/**
@@ -455,39 +452,6 @@
 		this.ajax = ajax;
 	}
 
-	/**
-	 * This method by default calls isAjax(), wicket ajax request do have an header set. And
for all
-	 * the ajax request the versioning should be merged with the previous one. And when it sees
that
-	 * the current request is a redirect to page request the version will also be merged with
the
-	 * previous one because refresh in the browser or redirects to a page shouldn't generate
a new
-	 * version.
-	 * 
-	 * @see org.apache.wicket.Request#mergeVersion()
-	 */
-	@Override
-	public boolean mergeVersion()
-	{
-		if (forceNewVersion == true)
-		{
-			return false;
-		}
-		else
-		{
-			RequestListenerInterface intface = getRequestParameters().getInterface();
-			return isAjax() || intface == IRedirectListener.INTERFACE;
-		}
-	}
-
-	/**
-	 * Allows to create new versions even on AJAX request. This can come handly when the AJAX
-	 * response does a real redirect.
-	 * 
-	 * @param forceNewVersion
-	 */
-	public void setForceNewVersion(boolean forceNewVersion)
-	{
-		this.forceNewVersion = forceNewVersion;
-	}
 
 	/**
 	 * @see org.apache.wicket.protocol.http.WebRequest#newMultipartWebRequest(org.apache.wicket.util.lang.Bytes)

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java?rev=887453&amp;r1=887452&amp;r2=887453&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java
Fri Dec  4 23:36:24 2009
@@ -36,6 +36,7 @@
 import org.apache.wicket.markup.MarkupException;
 import org.apache.wicket.markup.html.INewBrowserWindowListener;
 import org.apache.wicket.markup.html.pages.ExceptionErrorPage;
+import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.protocol.http.PageExpiredException;
 import org.apache.wicket.protocol.http.WebResponse;
 import org.apache.wicket.protocol.http.request.WebErrorCodeResponseTarget;
@@ -302,12 +303,12 @@
 		// NOTE: we NEED to put the '/' in front as otherwise some versions
 		// of application servers (e.g. Jetty 5.1.x) will fail for requests
 		// like '/mysubdir/myfile.css'
-		String url = requestCycle.getRequest().getURL();
-		if ((url.length() &gt; 0 &amp;&amp; url.charAt(0) != '/') || url.length() == 0)
+		Url url = new Url(requestCycle.getRequest().getUrl());
+		if (!url.isAbsolute())
 		{
-			url = '/' + url;
+			url.makeAbsolute();
 		}
-		return new WebExternalResourceRequestTarget(url);
+		return new WebExternalResourceRequestTarget(url.toString());
 	}
 
 	/**
@@ -461,9 +462,6 @@
 		// Does page exist?
 		if (page != null)
 		{
-			// Set page on request
-			requestCycle.getRequest().setPage(page);
-
 			// see whether this resolves to a component call or just the page
 			final String interfaceName = requestParameters.getInterfaceName();
 			if (interfaceName != null)

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java?rev=887453&amp;r1=887452&amp;r2=887453&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java
Fri Dec  4 23:36:24 2009
@@ -254,7 +254,6 @@
 			if ((page != null) &amp;&amp; page.getClass().equals(pageClassRef.get()))
 			{
 				requestParameters.setInterfaceName(IRedirectListener.INTERFACE.getName());
-				RequestCycle.get().getRequest().setPage(page);
 				return new PageRequestTarget(page);
 			}
 			else

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/resource/ResourceStreamRequestTarget.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/resource/ResourceStreamRequestTarget.java?rev=887453&amp;r1=887452&amp;r2=887453&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/resource/ResourceStreamRequestTarget.java
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/resource/ResourceStreamRequestTarget.java
Fri Dec  4 23:36:24 2009
@@ -227,7 +227,9 @@
 			}
 			else
 			{
-				response.detectContentType(requestCycle, requestCycle.getRequest().getURL());
+				response.detectContentType(requestCycle, requestCycle.getRequest()
+					.getUrl()
+					.toString());
 			}
 		}
 

Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/UrlTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/UrlTest.java?rev=887453&amp;r1=887452&amp;r2=887453&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/UrlTest.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/UrlTest.java Fri Dec  4
23:36:24 2009
@@ -18,7 +18,9 @@
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import junit.framework.TestCase;
 
@@ -49,6 +51,18 @@
 		assertEquals(list, url.getQueryParameters());
 	}
 
+	public void testPutParameters()
+	{
+		Url url = Url.parse("foo?color=green&amp;width=50&amp;color=red");
+		Map&lt;String, String[]&gt; params = new HashMap&lt;String, String[]&gt;();
+		url.putQueryParameters(params);
+		assertEquals(2, params.size());
+		assertEquals("50", params.get("width")[0]);
+		assertEquals(2, params.get("color").length);
+		assertEquals("green", params.get("color")[0]);
+		assertEquals("red", params.get("color")[1]);
+	}
+
 	/**
 	 * 
 	 */




</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Commented: (WICKET-2393) Passwords should not be trimmed</title>
<author><name>&quot;Juergen Donnerstag (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c80011125.1259955440904.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c80011125-1259955440904-JavaMail-jira@brutus%3e</id>
<updated>2009-12-04T19:37:20Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

    [ https://issues.apache.org/jira/browse/WICKET-2393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12786102#action_12786102
] 

Juergen Donnerstag commented on WICKET-2393:
--------------------------------------------

as I said: you may subclass shouldTrimInput() and return false.

&gt; Passwords should not be trimmed
&gt; -------------------------------
&gt;
&gt;                 Key: WICKET-2393
&gt;                 URL: https://issues.apache.org/jira/browse/WICKET-2393
&gt;             Project: Wicket
&gt;          Issue Type: Bug
&gt;          Components: wicket
&gt;    Affects Versions: 1.4.0
&gt;            Reporter: Olivier Ribardière
&gt;            Assignee: Juergen Donnerstag
&gt;            Priority: Minor
&gt;             Fix For: 1.4.2
&gt;
&gt;         Attachments: WICKET-2393-fix.patch
&gt;
&gt;   Original Estimate: 1h
&gt;  Remaining Estimate: 1h
&gt;
&gt; When using the SignInPanel, if password input field contains spaces at the begining or
at the end, they are trimmed by the PasswordTextField class.
&gt; Passwords should not be trimed.
&gt; Resolution is probably to override the convertValue method in the PasswordTextField class.
I provided a patch (attached to this issue), please indicate if any problem with it.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887274 - /wicket/branches/wicket-1.4.x/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091204171407.01A1123888FE@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091204171407-01A1123888FE@eris-apache-org%3e</id>
<updated>2009-12-04T17:14:06Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Fri Dec  4 17:14:05 2009
New Revision: 887274

URL: http://svn.apache.org/viewvc?rev=887274&amp;view=rev
Log:
ignore the disabled test

Modified:
    wicket/branches/wicket-1.4.x/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java

Modified: wicket/branches/wicket-1.4.x/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java?rev=887274&amp;r1=887273&amp;r2=887274&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java
(original)
+++ wicket/branches/wicket-1.4.x/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java
Fri Dec  4 17:14:05 2009
@@ -16,10 +16,13 @@
  */
 package org.apache.wicket.extensions.yui.calendar;
 
+import org.junit.Ignore;
+
 
 /**
  * 
  */
+@Ignore
 public class DatePickerTest // extends TestCase
 {
 	// Disabled until we fixed the issue that WicketTestCase or WicketTester is not available
in




</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Commented: (WICKET-2393) Passwords should not be trimmed</title>
<author><name>&quot;Philippe Laflamme (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c1332817614.1259939540778.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1332817614-1259939540778-JavaMail-jira@brutus%3e</id>
<updated>2009-12-04T15:12:20Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

    [ https://issues.apache.org/jira/browse/WICKET-2393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12785958#action_12785958
] 

Philippe Laflamme commented on WICKET-2393:
-------------------------------------------

Why not base the decision on other password entry systems?

Here's the behaviour of some sites/systems:
* JIRA: does not trim
* Google: trims
* Drupal: trims
* sshd: does not trim
* GDM: does not trim
* Hotmail: does not trim
* Windows: does not trim

If the password was created using the same behaviour, all this discussion is moot, because
no one will ever notice whether their password is being trimmed or not...

My suggestion: offer a method for setting the desired behaviour and keep the current trimming
behaviour as default.

&gt; Passwords should not be trimmed
&gt; -------------------------------
&gt;
&gt;                 Key: WICKET-2393
&gt;                 URL: https://issues.apache.org/jira/browse/WICKET-2393
&gt;             Project: Wicket
&gt;          Issue Type: Bug
&gt;          Components: wicket
&gt;    Affects Versions: 1.4.0
&gt;            Reporter: Olivier Ribardière
&gt;            Assignee: Juergen Donnerstag
&gt;            Priority: Minor
&gt;             Fix For: 1.4.2
&gt;
&gt;         Attachments: WICKET-2393-fix.patch
&gt;
&gt;   Original Estimate: 1h
&gt;  Remaining Estimate: 1h
&gt;
&gt; When using the SignInPanel, if password input field contains spaces at the begining or
at the end, they are trimmed by the PasswordTextField class.
&gt; Passwords should not be trimed.
&gt; Resolution is probably to override the convertValue method in the PasswordTextField class.
I provided a patch (attached to this issue), please indicate if any problem with it.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Created: (WICKET-2597) The PagingNavigator.newNavigation method does not provide a markup id of the element to create an navigation for</title>
<author><name>&quot;Vitaly Tsaplin (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c1502224571.1259935700677.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1502224571-1259935700677-JavaMail-jira@brutus%3e</id>
<updated>2009-12-04T14:08:20Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
The PagingNavigator.newNavigation method does not provide a markup id of the element to create
an navigation for
----------------------------------------------------------------------------------------------------------------

                 Key: WICKET-2597
                 URL: https://issues.apache.org/jira/browse/WICKET-2597
             Project: Wicket
          Issue Type: Improvement
          Components: wicket
            Reporter: Vitaly Tsaplin
            Priority: Minor


   The PagingNavigator.newNavigation method does not provide a markup id of the element to
create an navigation for and a javadoc doesn't specify it either. Overriding the method you
have to find out the id in question by looking into the source which is neither convenient
nor safe way. 
   At the moment it looks like the following: 
      protected PagingNavigation newNavigation(final IPageable pageable, final IPagingLabelProvider
labelProvider)
   A fix could be like this:
      protected PagingNavigation newNavigation(String id, final IPageable pageable, final
IPagingLabelProvider labelProvider)


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Commented: (WICKET-2503) Simplified Markup IDs</title>
<author><name>&quot;Juergen Donnerstag (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c1512556376.1259932700723.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1512556376-1259932700723-JavaMail-jira@brutus%3e</id>
<updated>2009-12-04T13:18:20Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

    [ https://issues.apache.org/jira/browse/WICKET-2503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12785920#action_12785920
] 

Juergen Donnerstag commented on WICKET-2503:
--------------------------------------------

I've implemented 1 and 2 based on trunk (1.5) (still on my laptop). Don't think we can reasonably
implement it in 1.4



&gt; Simplified Markup IDs
&gt; ---------------------
&gt;
&gt;                 Key: WICKET-2503
&gt;                 URL: https://issues.apache.org/jira/browse/WICKET-2503
&gt;             Project: Wicket
&gt;          Issue Type: Improvement
&gt;          Components: wicket
&gt;    Affects Versions: 1.4.1
&gt;            Reporter: Ralf Ebert
&gt;
&gt; - If you set a markup id with Component.setMarkupId("..."), this should include setOutputMarkupId(true)
automatically.
&gt; - If the HTML tag in the markup has an id="..." attribute, this should be equivalent
to calling Component.setMarkupId("...").
&gt; - In development mode wicket should yield a warning if rendered markup ids are not unique.
&gt; - Automatically generated Markup IDs should be guaranteed to be stable and not depend
on session / component ordering.
&gt; Motivation: Make it easier to work with automatically generated / manually assigned HTML
IDs for refering to markup elements in test code (browser-based tests, for example Selenium)
and for working with markup ids in javascript code.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Commented: (WICKET-1355) Autocomplete window has wrong position in scrolled context</title>
<author><name>&quot;Erik van Oosten (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c733272650.1259928021733.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c733272650-1259928021733-JavaMail-jira@brutus%3e</id>
<updated>2009-12-04T12:00:21Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

    [ https://issues.apache.org/jira/browse/WICKET-1355?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12785895#action_12785895
] 

Erik van Oosten commented on WICKET-1355:
-----------------------------------------

One disadvantage of positioning the div as sibling of the textfield is that the dropdown div
will never be able to extend the area of the first parent with position absolute. I.e. you
need to make sure that there is enough room  below the textfield within the parent (make sure
some more input fields follow, or just add some empty space). This will happen with modal
windows, but this will not be a problem at all when you have no such parent.

This disadvantage outweights the disadvantage of having no visible dropdown div at all.

&gt; Autocomplete window has wrong position in scrolled context
&gt; ----------------------------------------------------------
&gt;
&gt;                 Key: WICKET-1355
&gt;                 URL: https://issues.apache.org/jira/browse/WICKET-1355
&gt;             Project: Wicket
&gt;          Issue Type: Bug
&gt;          Components: wicket-extensions
&gt;    Affects Versions: 1.3.1
&gt;            Reporter: Erik van Oosten
&gt;            Assignee: Igor Vaynberg
&gt;         Attachments: wicket-1355-wicket-1.3.x-autocomplete.patch, wicket-1355-wicket-1.4.x-autocomplete.patch,
wicket-autocomplete.js
&gt;
&gt;
&gt; When the autocompleted field is located in a scrolled div, the drop-down window is positioned
too far down.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887113 - /wicket/branches/wicket-1.4.4/</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091204084950.EA37323889D1@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091204084950-EA37323889D1@eris-apache-org%3e</id>
<updated>2009-12-04T08:49:50Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Fri Dec  4 08:49:48 2009
New Revision: 887113

URL: http://svn.apache.org/viewvc?rev=887113&amp;view=rev
Log:
why do i always start doing this on friday before 1am??? lets wait to do this until monday

Removed:
    wicket/branches/wicket-1.4.4/



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887111 - in /wicket/branches/wicket-1.4.4: NOTICE wicket/src/main/java/org/apache/wicket/model/StringResourceModel.java wicket/src/test/java/org/apache/wicket/model/ModelToStringTest.java</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091204084005.1872423888FE@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091204084005-1872423888FE@eris-apache-org%3e</id>
<updated>2009-12-04T08:39:38Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Fri Dec  4 08:38:52 2009
New Revision: 887111

URL: http://svn.apache.org/viewvc?rev=887111&amp;view=rev
Log:
fix unit tests

Modified:
    wicket/branches/wicket-1.4.4/NOTICE
    wicket/branches/wicket-1.4.4/wicket/src/main/java/org/apache/wicket/model/StringResourceModel.java
    wicket/branches/wicket-1.4.4/wicket/src/test/java/org/apache/wicket/model/ModelToStringTest.java

Modified: wicket/branches/wicket-1.4.4/NOTICE
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/NOTICE?rev=887111&amp;r1=887110&amp;r2=887111&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/NOTICE (original)
+++ wicket/branches/wicket-1.4.4/NOTICE Fri Dec  4 08:38:52 2009
@@ -12,6 +12,26 @@
     AUTOMATICALLY INCLUDE THE NOTICE IN THIS FILE.
 
 ---------------------------------------------------------------------------
+src/./wicket-guice
+---------------------------------------------------------------------------
+   Apache Wicket
+   Copyright 2007 The Apache Software Foundation
+
+   This product includes software developed at
+   The Apache Software Foundation (http://www.apache.org/).
+
+   This product includes Guice, developed at Google, and licensed
+   under the Apache License 2.0. (http://code.google.com/p/google-guice/).
+---------------------------------------------------------------------------
+src/./wicket-quickstart/NOTICE
+---------------------------------------------------------------------------
+   Apache Wicket
+   Copyright 2007 The Apache Software Foundation
+
+   This product includes software developed at
+   The Apache Software Foundation (http://www.apache.org/).
+
+---------------------------------------------------------------------------
 src/./wicket
 ---------------------------------------------------------------------------
    Apache Wicket
@@ -76,9 +96,9 @@
    [1]: http://the-stickman.com/web-development/javascript/upload-multiple-files-with-a-single-file-element/
 
 ---------------------------------------------------------------------------
-src/./wicket-auth-roles
+src/./wicket-jmx
 ---------------------------------------------------------------------------
-   Apache Wicket Auth Roles
+   Apache Wicket
    Copyright 2007 The Apache Software Foundation
 
    This product includes software developed at
@@ -102,6 +122,47 @@
    Joda.org (http://www.joda.org/).
    
 ---------------------------------------------------------------------------
+src/./wicket-ioc
+---------------------------------------------------------------------------
+   Apache Wicket
+   Copyright 2007 The Apache Software Foundation
+
+   This product includes software developed at
+   The Apache Software Foundation (http://www.apache.org/).
+
+---------------------------------------------------------------------------
+src/./wicket-objectssizeof-agent
+---------------------------------------------------------------------------
+   Apache Wicket
+   Copyright 2007 The Apache Software Foundation
+
+   This product includes software developed at
+   The Apache Software Foundation (http://www.apache.org/).
+
+
+---------------------------------------------------------------------------
+src/./wicket-auth-roles
+---------------------------------------------------------------------------
+   Apache Wicket Auth Roles
+   Copyright 2007 The Apache Software Foundation
+
+   This product includes software developed at
+   The Apache Software Foundation (http://www.apache.org/).
+
+---------------------------------------------------------------------------
+src/./wicket-extensions
+---------------------------------------------------------------------------
+   Apache Wicket Extensions
+   Copyright 2007 The Apache Software Foundation
+
+   This product includes software developed at
+   The Apache Software Foundation (http://www.apache.org/).
+
+   Contains software developed in Apache Turbine, released
+   under the Apache Software License, Version 2.0. 
+   (c) 2001-2005
+
+---------------------------------------------------------------------------
 src/./wicket-examples
 ---------------------------------------------------------------------------
    Apache Wicket Examples
@@ -145,67 +206,6 @@
    which is released under CDDL 1.0 license (http://www.opensource.org/licenses/cddl1.php).
 
 ---------------------------------------------------------------------------
-src/./wicket-extensions
----------------------------------------------------------------------------
-   Apache Wicket Extensions
-   Copyright 2007 The Apache Software Foundation
-
-   This product includes software developed at
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Contains software developed in Apache Turbine, released
-   under the Apache Software License, Version 2.0. 
-   (c) 2001-2005
-
----------------------------------------------------------------------------
-src/./wicket-guice
----------------------------------------------------------------------------
-   Apache Wicket
-   Copyright 2007 The Apache Software Foundation
-
-   This product includes software developed at
-   The Apache Software Foundation (http://www.apache.org/).
-
-   This product includes Guice, developed at Google, and licensed
-   under the Apache License 2.0. (http://code.google.com/p/google-guice/).
----------------------------------------------------------------------------
-src/./wicket-ioc
----------------------------------------------------------------------------
-   Apache Wicket
-   Copyright 2007 The Apache Software Foundation
-
-   This product includes software developed at
-   The Apache Software Foundation (http://www.apache.org/).
-
----------------------------------------------------------------------------
-src/./wicket-jmx
----------------------------------------------------------------------------
-   Apache Wicket
-   Copyright 2007 The Apache Software Foundation
-
-   This product includes software developed at
-   The Apache Software Foundation (http://www.apache.org/).
-
----------------------------------------------------------------------------
-src/./wicket-objectssizeof-agent
----------------------------------------------------------------------------
-   Apache Wicket
-   Copyright 2007 The Apache Software Foundation
-
-   This product includes software developed at
-   The Apache Software Foundation (http://www.apache.org/).
-
-
----------------------------------------------------------------------------
-src/./wicket-quickstart/NOTICE
----------------------------------------------------------------------------
-   Apache Wicket
-   Copyright 2007 The Apache Software Foundation
-
-   This product includes software developed at
-   The Apache Software Foundation (http://www.apache.org/).
-
----------------------------------------------------------------------------
 src/./wicket-spring
 ---------------------------------------------------------------------------
    Apache Wicket

Modified: wicket/branches/wicket-1.4.4/wicket/src/main/java/org/apache/wicket/model/StringResourceModel.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/wicket/src/main/java/org/apache/wicket/model/StringResourceModel.java?rev=887111&amp;r1=887110&amp;r2=887111&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/wicket/src/main/java/org/apache/wicket/model/StringResourceModel.java
(original)
+++ wicket/branches/wicket-1.4.4/wicket/src/main/java/org/apache/wicket/model/StringResourceModel.java
Fri Dec  4 08:38:52 2009
@@ -676,4 +676,11 @@
 		localizer = null;
 		locale = null;
 	}
-}
\ No newline at end of file
+
+	@Override
+	public void setObject(String object)
+	{
+		throw new UnsupportedOperationException();
+	}
+
+}

Modified: wicket/branches/wicket-1.4.4/wicket/src/test/java/org/apache/wicket/model/ModelToStringTest.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/wicket/src/test/java/org/apache/wicket/model/ModelToStringTest.java?rev=887111&amp;r1=887110&amp;r2=887111&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/wicket/src/test/java/org/apache/wicket/model/ModelToStringTest.java
(original)
+++ wicket/branches/wicket-1.4.4/wicket/src/test/java/org/apache/wicket/model/ModelToStringTest.java
Fri Dec  4 08:38:52 2009
@@ -160,19 +160,16 @@
 	public void testLoadableDetachableModel()
 	{
 		LoadableDetachableModel&lt;String&gt; model = new MyLoadableDetachableModel();
-		String expected = "Model:classname=[" + model.getClass().getName() + "]" +
-			":attached=false" + ":tempModelObject=[null]";
-		assertEquals(expected, model.toString());
+		assertTrue(model.toString().contains(":attached=false"));
+		assertTrue(model.toString().contains(":tempModelObject=[null]"));
 
 		model.getObject();
-		expected = "Model:classname=[" + model.getClass().getName() + "]" + ":attached=true" +
-			":tempModelObject=[foo]";
-		assertEquals(expected, model.toString());
+		assertTrue(model.toString().contains(":attached=true"));
+		assertTrue(model.toString().contains(":tempModelObject=[foo]"));
 
 		model.detach();
-		expected = "Model:classname=[" + model.getClass().getName() + "]" + ":attached=false" +
-			":tempModelObject=[null]";
-		assertEquals(expected, model.toString());
+		assertTrue(model.toString().contains(":attached=false"));
+		assertTrue(model.toString().contains(":tempModelObject=[null]"));
 	}
 
 




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887110 - in /wicket/branches/wicket-1.4.x/wicket/src: main/java/org/apache/wicket/model/StringResourceModel.java test/java/org/apache/wicket/model/ModelToStringTest.java</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091204083616.BEEA623888FE@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091204083616-BEEA623888FE@eris-apache-org%3e</id>
<updated>2009-12-04T08:36:02Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Fri Dec  4 08:35:50 2009
New Revision: 887110

URL: http://svn.apache.org/viewvc?rev=887110&amp;view=rev
Log:
fix tests

Modified:
    wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/StringResourceModel.java
    wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/model/ModelToStringTest.java

Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/StringResourceModel.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/StringResourceModel.java?rev=887110&amp;r1=887109&amp;r2=887110&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/StringResourceModel.java
(original)
+++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/StringResourceModel.java
Fri Dec  4 08:35:50 2009
@@ -676,4 +676,10 @@
 		localizer = null;
 		locale = null;
 	}
+
+	@Override
+	public void setObject(String object)
+	{
+		throw new UnsupportedOperationException();
+	}
 }
\ No newline at end of file

Modified: wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/model/ModelToStringTest.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/model/ModelToStringTest.java?rev=887110&amp;r1=887109&amp;r2=887110&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/model/ModelToStringTest.java
(original)
+++ wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/model/ModelToStringTest.java
Fri Dec  4 08:35:50 2009
@@ -160,19 +160,16 @@
 	public void testLoadableDetachableModel()
 	{
 		LoadableDetachableModel&lt;String&gt; model = new MyLoadableDetachableModel();
-		String expected = "Model:classname=[" + model.getClass().getName() + "]" +
-			":attached=false" + ":tempModelObject=[null]";
-		assertEquals(expected, model.toString());
+		assertTrue(model.toString().contains(":attached=false"));
+		assertTrue(model.toString().contains(":tempModelObject=[null]"));
 
 		model.getObject();
-		expected = "Model:classname=[" + model.getClass().getName() + "]" + ":attached=true" +
-			":tempModelObject=[foo]";
-		assertEquals(expected, model.toString());
+		assertTrue(model.toString().contains(":attached=true"));
+		assertTrue(model.toString().contains(":tempModelObject=[foo]"));
 
 		model.detach();
-		expected = "Model:classname=[" + model.getClass().getName() + "]" + ":attached=false" +
-			":tempModelObject=[null]";
-		assertEquals(expected, model.toString());
+		assertTrue(model.toString().contains(":attached=false"));
+		assertTrue(model.toString().contains(":tempModelObject=[null]"));
 	}
 
 




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887109 - in /wicket/trunk/wicket/src: main/java/org/apache/wicket/model/StringResourceModel.java test/java/org/apache/wicket/model/ModelToStringTest.java</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091204083600.A033E23889D1@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091204083600-A033E23889D1@eris-apache-org%3e</id>
<updated>2009-12-04T08:35:48Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Fri Dec  4 08:35:36 2009
New Revision: 887109

URL: http://svn.apache.org/viewvc?rev=887109&amp;view=rev
Log:
fix tests

Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/model/StringResourceModel.java
    wicket/trunk/wicket/src/test/java/org/apache/wicket/model/ModelToStringTest.java

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/model/StringResourceModel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/model/StringResourceModel.java?rev=887109&amp;r1=887108&amp;r2=887109&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/model/StringResourceModel.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/model/StringResourceModel.java Fri
Dec  4 08:35:36 2009
@@ -676,4 +676,10 @@
 		localizer = null;
 		locale = null;
 	}
+
+	@Override
+	public void setObject(String object)
+	{
+		throw new UnsupportedOperationException();
+	}
 }
\ No newline at end of file

Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/model/ModelToStringTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/model/ModelToStringTest.java?rev=887109&amp;r1=887108&amp;r2=887109&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/model/ModelToStringTest.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/model/ModelToStringTest.java Fri Dec
 4 08:35:36 2009
@@ -151,19 +151,16 @@
 	public void testLoadableDetachableModel()
 	{
 		LoadableDetachableModel&lt;String&gt; model = new MyLoadableDetachableModel();
-		String expected = "Model:classname=[" + model.getClass().getName() + "]" +
-			":attached=false" + ":tempModelObject=[null]";
-		assertEquals(expected, model.toString());
+		assertTrue(model.toString().contains(":attached=false"));
+		assertTrue(model.toString().contains(":tempModelObject=[null]"));
 
 		model.getObject();
-		expected = "Model:classname=[" + model.getClass().getName() + "]" + ":attached=true" +
-			":tempModelObject=[foo]";
-		assertEquals(expected, model.toString());
+		assertTrue(model.toString().contains(":attached=true"));
+		assertTrue(model.toString().contains(":tempModelObject=[foo]"));
 
 		model.detach();
-		expected = "Model:classname=[" + model.getClass().getName() + "]" + ":attached=false" +
-			":tempModelObject=[null]";
-		assertEquals(expected, model.toString());
+		assertTrue(model.toString().contains(":attached=false"));
+		assertTrue(model.toString().contains(":tempModelObject=[null]"));
 	}
 
 




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887102 - in /wicket/branches/wicket-1.4.4: ./ archetypes/quickstart/ archetypes/quickstart/src/main/resources/archetype-resources/ testing/wicket-threadtest/ wicket-auth-roles/ wicket-datetime/ wicket-devutils/ wicket-examples/ wicket-exte...</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091204082315.03548238898A@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091204082315-03548238898A@eris-apache-org%3e</id>
<updated>2009-12-04T08:23:01Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Fri Dec  4 08:22:46 2009
New Revision: 887102

URL: http://svn.apache.org/viewvc?rev=887102&amp;view=rev
Log:
changelog and pom versions

Modified:
    wicket/branches/wicket-1.4.4/CHANGELOG-1.4
    wicket/branches/wicket-1.4.4/archetypes/quickstart/pom.xml
    wicket/branches/wicket-1.4.4/archetypes/quickstart/src/main/resources/archetype-resources/pom.xml
    wicket/branches/wicket-1.4.4/pom.xml
    wicket/branches/wicket-1.4.4/testing/wicket-threadtest/pom.xml
    wicket/branches/wicket-1.4.4/wicket-auth-roles/pom.xml
    wicket/branches/wicket-1.4.4/wicket-datetime/pom.xml
    wicket/branches/wicket-1.4.4/wicket-devutils/pom.xml
    wicket/branches/wicket-1.4.4/wicket-examples/pom.xml
    wicket/branches/wicket-1.4.4/wicket-extensions/pom.xml
    wicket/branches/wicket-1.4.4/wicket-guice/pom.xml
    wicket/branches/wicket-1.4.4/wicket-ioc/pom.xml
    wicket/branches/wicket-1.4.4/wicket-jmx/pom.xml
    wicket/branches/wicket-1.4.4/wicket-objectssizeof-agent/pom.xml
    wicket/branches/wicket-1.4.4/wicket-quickstart/pom.xml
    wicket/branches/wicket-1.4.4/wicket-spring/pom.xml
    wicket/branches/wicket-1.4.4/wicket-velocity/pom.xml
    wicket/branches/wicket-1.4.4/wicket/pom.xml

Modified: wicket/branches/wicket-1.4.4/CHANGELOG-1.4
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/CHANGELOG-1.4?rev=887102&amp;r1=887101&amp;r2=887102&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/CHANGELOG-1.4 (original)
+++ wicket/branches/wicket-1.4.4/CHANGELOG-1.4 Fri Dec  4 08:22:46 2009
@@ -1,5 +1,127 @@
 This file contains all changes done on the 1.4 version.
 
+Release Notes - Wicket - Version 1.4.4
+
+** Bug
+    * [WICKET-625] - Wicket doesn't clean up properly when hot-deploying; hangs onto Class
references.
+    * [WICKET-2080] - InjectorHolder is broken when wicket-ioc.jar is shared between multiple
web applications
+    * [WICKET-2317] - Deprecated JavaDoc for org.apache.wicket.behavior.HeaderContributor
+    * [WICKET-2419] - AjaxEditableMultiLineLabel doesn't handle huge text properly
+    * [WICKET-2491] - Ajax multipart broken on mounted pages
+    * [WICKET-2518] - Application_bg.properties property file is incorrectly encoded
+    * [WICKET-2519] - 1.4.2 enclosure problem
+    * [WICKET-2534] - File Handle Leak in URLResourceStream
+    * [WICKET-2545] - NullPointerException thrown from BaseWicketTester isComponent
+    * [WICKET-2546] - DataTable does not generate "thead" tag
+    * [WICKET-2548] - MetaDataKey does not meet hashCode() contract
+    * [WICKET-2550] - DatePicker introduces a bug regarding the back button support of the
browser.
+    * [WICKET-2551] - Bug in WicketTester when submitting forms
+    * [WICKET-2552] - CreditCardValidator accepts invalid inputs
+    * [WICKET-2553] - Wicket-ajax.js: Javascript error on submitting of form with wicketSubmitFormById.
+    * [WICKET-2554] - WebRequestCodingStrategy assumes that a shared resource URL should
always be relative to the Wicket handler
+    * [WICKET-2567] - Images and stylesheets leave open file handles
+    * [WICKET-2568] - Unnecessary method calls in IDataProvider
+    * [WICKET-2570] - Form submitting component is not checked for being enabled during submit
+    * [WICKET-2580] - Javadoc of Component#setOutputMarkupPlaceholderTag is wrong
+    * [WICKET-2582] - org.apache.wicket.markup.html.form.Check should call Component.isEnabledInHierarchy()
+    * [WICKET-2583] - Warnings flood if incorrect credentials endered on SignInPage
+    * [WICKET-2587] - UploadProgressBar producing warning log messages incorrectly
+    * [WICKET-2589] - FeedbackPanel in FormComponentFeedbackBorder throws ConcurrentModificationException
+    * [WICKET-2593] - wicket:message can cause infinite loop in render
+
+** Improvement
+    * [WICKET-12] - open Modal Window without AjaxRequestTarget
+    * [WICKET-2326] - Text on BrowserInfoPage should be customizable
+    * [WICKET-2364] - CLONE -Make LoadableDetachableModel writable
+    * [WICKET-2531] - Open DropDownChoice null value internationalization key
+    * [WICKET-2533] - Behavior for accepted locales should fit the HTTP Specification  
+    * [WICKET-2536] - Guice 2.0 and its maven2 repository groupId
+    * [WICKET-2539] - PackageStringResourceLoader does not look up to superclasses
+    * [WICKET-2540] - Date Validation - message formatting of the date
+    * [WICKET-2564] - Modify wicket-devutils DebugBar so it emits valid XHTML
+    * [WICKET-2573] - Allow applications to chose not to use CGLIB proxies for @SpringBean
injections
+    * [WICKET-2575] - RepeatingView's Javadoc to include newChildId() and add()
+    * [WICKET-2578] - Polish resource files for wicket 1.4.3
+    * [WICKET-2581] - French translation of Wicket-auth resources
+    * [WICKET-2590] - AjaxLazyLoadPanel callback script rendering
+
+** New Feature
+    * [WICKET-1157] - Generic internationalization for Enums
+    * [WICKET-2572] - Add capability for SpringWebApplicationFactory to create its own application
context
+
+Release Notes - Wicket - Version 1.4.3
+
+** Bug
+    * [WICKET-2348] - always insert encoding in http response header
+    * [WICKET-2436] - invalid DataTable markup breaks table layout
+    * [WICKET-2497] - AutoComplete textfield ignores "visible" property within hierarchy.
+    * [WICKET-2501] - BaseWicketTester clickLink calls onBeginRequest two times.
+    * [WICKET-2505] - Button.onSubmit javadoc is misleading
+    * [WICKET-2506] - Regression: "Could not find child with id: &lt;ID&gt; in the wicket:enclosure"
for non-component tag
+    * [WICKET-2507] - Inconsistent resource path using &lt;wicket:link&gt; and HeaderContributor
after second request
+    * [WICKET-2508] - NullPointerException in BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:96)
+    * [WICKET-2513] - wicket:enclosure does not work if child is a container and not a component
(regression from 1.4.1)
+    * [WICKET-2516] - Javadoc for Component.getMarkupId is incorrect
+    * [WICKET-2518] - Application_bg.properties property file is incorrectly encoded
+    * [WICKET-2520] - Use of Object instead of generic T in StringAutoCompleteRenderer
+    * [WICKET-2522] - Easy fix suggestion: In BaseWicketTester 'IFormSubmitting' component
should be the submitting component, not just a 'Button'
+    * [WICKET-2525] - DatePicker consume too much memory
+    * [WICKET-2527] - wicket:enclosure child attribute search path has changed
+    * [WICKET-2528] - CheckBoxMultipleChoice ignores isDisabled() checks
+    * [WICKET-2530] - Class not found when using OSGI class loader
+
+** Improvement
+    * [WICKET-2344] - Performance improvement: more efficient AnnotProxyFieldValueFactory
cache
+    * [WICKET-2459] - Add new German Wicket Book
+    * [WICKET-2511] - Upgrade to SLF4J version 1.5.8
+    * [WICKET-2524] - Configurable Throttle delay for AutoCompleteBehavior
+
+** Wish
+    * [WICKET-2468] - AjaxLazyLoadPanel do not respect especific projects components configuration
+    * [WICKET-2515] - ModalWindow javadoc improvent
+
+Release Notes - Wicket - Version 1.4.2
+
+** Bug
+    * [WICKET-2393] - Passwords should not be trimmed
+    * [WICKET-2430] - Malformed \uxxxx encoding in MultipleUploadField_sl.properties
+    * [WICKET-2433] - Ajax support for multipart forms broken in a nested form
+    * [WICKET-2434] - RequestCycle urlFor ignores existing parameters when appending provided
params
+    * [WICKET-2438] - AjaxEventBehavior not working on feedback message components
+    * [WICKET-2453] - Form.findForm(Component c) bug. When form is part of Border and form
component like TextField is inside another Border , component cannot resolve its form.
+    * [WICKET-2456] - DateTextField cannot work with default converter (or javadoc wrong)
+    * [WICKET-2457] - Flash/ExternalInterface does not work in IE if movie is fetched via
Wicket/Ajax
+    * [WICKET-2458] - JavascriptUtils.escapeQuotes() misses escaping double quotes
+    * [WICKET-2461] - AjaxPagingNavigationIncrementLink does not work without AjaxPagingNavigator
component
+    * [WICKET-2463] - Ajax miltipart form submitting ignores setDefaultFormProcessing(false)
+    * [WICKET-2466] - javadoc the CryptedUrlWebRequestCodingStrategy needs to be update/corrected
to reflect the usage of session-id for encryption and hence URLs which were bookmarkable before
will NOT remain bookmarkable. 
+    * [WICKET-2475] - NPE after application hot redeployment
+    * [WICKET-2477] - AjaxEditableChoiceLabel does not detach choices model
+    * [WICKET-2478] - TabbedPanel rendering bug
+    * [WICKET-2485] - IComponentResolvers are not supported inside wicket:enclosure
+    * [WICKET-2488] - QuickFix proposal WicketTesterHelper.assertEquals(final Collection&lt;?&gt;
expects, final Collection&lt;?&gt; actuals) should compare list sizes
+
+** Improvement
+    * [WICKET-626] - profile Wicket for 1.4.0
+    * [WICKET-2435] - TabbedPanel extract factory method for tabs-container
+    * [WICKET-2439] - Improve MixedParamUrlCodingStrategy, introduce Hybrid
+    * [WICKET-2444] - Internal Spring beans should be ignored
+    * [WICKET-2445] - FormInput.java needs the validators updated. 
+    * [WICKET-2449] - Fix javadoc biggest mistakes - mainly @Deprecated tags
+    * [WICKET-2454] - IE8: be more verbose if ajax refresh fails
+    * [WICKET-2469] - Allow using a different FileItemFactory by extracting a method in MultipartServletWebRequest
class
+    * [WICKET-2492] - Application_pt_BR.properties path
+
+** New Feature
+    * [WICKET-2395] - add MixedParamHybridUrlCodingStrategy
+    * [WICKET-2483] - Access to WizardModel.conditions
+    * [WICKET-2517] - adding class ExactErrorLevelFeedbackMessageFilter which displays exact
one Error Level
+
+** Wish
+    * [WICKET-2120] - widen visibiliy of GuiceProxyTargetLocator  and  findBindingAnnotation
 
+    * [WICKET-2462] - Would it possible add chinese resource label for WizardButton eg. CancelButton,
NextButton and PreviousButton etc.
+    * [WICKET-2489] - need to know if a component has been added to the AjaxRequestTarget
+
 Release Notes - Wicket - Version 1.4.1
 
 

Modified: wicket/branches/wicket-1.4.4/archetypes/quickstart/pom.xml
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/archetypes/quickstart/pom.xml?rev=887102&amp;r1=887101&amp;r2=887102&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/archetypes/quickstart/pom.xml (original)
+++ wicket/branches/wicket-1.4.4/archetypes/quickstart/pom.xml Fri Dec  4 08:22:46 2009
@@ -3,7 +3,7 @@
   &lt;parent&gt;
 		&lt;groupId&gt;org.apache.wicket&lt;/groupId&gt;
 		&lt;artifactId&gt;wicket-parent&lt;/artifactId&gt;
-		&lt;version&gt;1.4-SNAPSHOT&lt;/version&gt;
+		&lt;version&gt;1.4.4&lt;/version&gt;
 		&lt;relativePath&gt;../../pom.xml&lt;/relativePath&gt;
   &lt;/parent&gt;
   

Modified: wicket/branches/wicket-1.4.4/archetypes/quickstart/src/main/resources/archetype-resources/pom.xml
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/archetypes/quickstart/src/main/resources/archetype-resources/pom.xml?rev=887102&amp;r1=887101&amp;r2=887102&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/archetypes/quickstart/src/main/resources/archetype-resources/pom.xml
(original)
+++ wicket/branches/wicket-1.4.4/archetypes/quickstart/src/main/resources/archetype-resources/pom.xml
Fri Dec  4 08:22:46 2009
@@ -127,7 +127,7 @@
 		&lt;/plugins&gt;
 	&lt;/build&gt;
 	&lt;properties&gt;
-		&lt;wicket.version&gt;1.4-SNAPSHOT&lt;/wicket.version&gt;
+		&lt;wicket.version&gt;1.4.4&lt;/wicket.version&gt;
 		&lt;jetty.version&gt;6.1.4&lt;/jetty.version&gt;
 	&lt;/properties&gt;
 	#end

Modified: wicket/branches/wicket-1.4.4/pom.xml
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/pom.xml?rev=887102&amp;r1=887101&amp;r2=887102&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/pom.xml (original)
+++ wicket/branches/wicket-1.4.4/pom.xml Fri Dec  4 08:22:46 2009
@@ -19,7 +19,7 @@
 	&lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
 	&lt;groupId&gt;org.apache.wicket&lt;/groupId&gt;
 	&lt;artifactId&gt;wicket-parent&lt;/artifactId&gt;
-	&lt;version&gt;1.4-SNAPSHOT&lt;/version&gt;
+	&lt;version&gt;1.4.4&lt;/version&gt;
 	&lt;packaging&gt;pom&lt;/packaging&gt;
 	&lt;name&gt;Wicket Parent&lt;/name&gt;
 	&lt;description&gt;Wicket is a Java-based open source component web application framework.&lt;/description&gt;
@@ -219,9 +219,9 @@
 		&lt;url&gt;http://wicketstuff.org/bamboo&lt;/url&gt;
 	&lt;/ciManagement&gt;
 	&lt;scm&gt;
-		&lt;connection&gt;scm:svn:http://svn.apache.org/repos/asf/wicket/trunk&lt;/connection&gt;
-		&lt;developerConnection&gt;scm:svn:https://svn.apache.org/repos/asf/wicket/trunk&lt;/developerConnection&gt;
-		&lt;url&gt;http://svn.apache.org/viewvc/wicket/trunk&lt;/url&gt;
+		&lt;connection&gt;scm:svn:http://svn.apache.org/repos/asf/wicket/releases/wicket-1.4.4&lt;/connection&gt;
+		&lt;developerConnection&gt;scm:svn:https://svn.apache.org/repos/asf/wicket/releases/wicket-1.4.4&lt;/developerConnection&gt;
+		&lt;url&gt;http://svn.apache.org/viewvc/wicket/releases/wicket-1.4.4&lt;/url&gt;
 	&lt;/scm&gt;
 	&lt;mailingLists&gt;
 		&lt;mailingList&gt;

Modified: wicket/branches/wicket-1.4.4/testing/wicket-threadtest/pom.xml
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/testing/wicket-threadtest/pom.xml?rev=887102&amp;r1=887101&amp;r2=887102&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/testing/wicket-threadtest/pom.xml (original)
+++ wicket/branches/wicket-1.4.4/testing/wicket-threadtest/pom.xml Fri Dec  4 08:22:46 2009
@@ -23,7 +23,7 @@
 	&lt;parent&gt;
 		&lt;groupId&gt;org.apache.wicket&lt;/groupId&gt;
 		&lt;artifactId&gt;wicket-parent&lt;/artifactId&gt;
-		&lt;version&gt;1.4-SNAPSHOT&lt;/version&gt;
+		&lt;version&gt;1.4.4&lt;/version&gt;
 		&lt;relativePath&gt;../../pom.xml&lt;/relativePath&gt;
 	&lt;/parent&gt;
 

Modified: wicket/branches/wicket-1.4.4/wicket-auth-roles/pom.xml
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/wicket-auth-roles/pom.xml?rev=887102&amp;r1=887101&amp;r2=887102&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/wicket-auth-roles/pom.xml (original)
+++ wicket/branches/wicket-1.4.4/wicket-auth-roles/pom.xml Fri Dec  4 08:22:46 2009
@@ -23,7 +23,7 @@
 	&lt;parent&gt;
 		&lt;groupId&gt;org.apache.wicket&lt;/groupId&gt;
 		&lt;artifactId&gt;wicket-parent&lt;/artifactId&gt;
-		&lt;version&gt;1.4-SNAPSHOT&lt;/version&gt;
+		&lt;version&gt;1.4.4&lt;/version&gt;
 		&lt;relativePath&gt;../pom.xml&lt;/relativePath&gt;
 	&lt;/parent&gt;
 

Modified: wicket/branches/wicket-1.4.4/wicket-datetime/pom.xml
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/wicket-datetime/pom.xml?rev=887102&amp;r1=887101&amp;r2=887102&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/wicket-datetime/pom.xml (original)
+++ wicket/branches/wicket-1.4.4/wicket-datetime/pom.xml Fri Dec  4 08:22:46 2009
@@ -21,7 +21,7 @@
 	&lt;parent&gt;
 		&lt;groupId&gt;org.apache.wicket&lt;/groupId&gt;
 		&lt;artifactId&gt;wicket-parent&lt;/artifactId&gt;
-		&lt;version&gt;1.4-SNAPSHOT&lt;/version&gt;
+		&lt;version&gt;1.4.4&lt;/version&gt;
 		&lt;relativePath&gt;../pom.xml&lt;/relativePath&gt;
 	&lt;/parent&gt;
 	&lt;artifactId&gt;wicket-datetime&lt;/artifactId&gt;

Modified: wicket/branches/wicket-1.4.4/wicket-devutils/pom.xml
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/wicket-devutils/pom.xml?rev=887102&amp;r1=887101&amp;r2=887102&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/wicket-devutils/pom.xml (original)
+++ wicket/branches/wicket-1.4.4/wicket-devutils/pom.xml Fri Dec  4 08:22:46 2009
@@ -23,7 +23,7 @@
 	&lt;parent&gt;
 		&lt;groupId&gt;org.apache.wicket&lt;/groupId&gt;
 		&lt;artifactId&gt;wicket-parent&lt;/artifactId&gt;
-		&lt;version&gt;1.4-SNAPSHOT&lt;/version&gt;
+		&lt;version&gt;1.4.4&lt;/version&gt;
 		&lt;relativePath&gt;../pom.xml&lt;/relativePath&gt;
 	&lt;/parent&gt;
 

Modified: wicket/branches/wicket-1.4.4/wicket-examples/pom.xml
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/wicket-examples/pom.xml?rev=887102&amp;r1=887101&amp;r2=887102&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/wicket-examples/pom.xml (original)
+++ wicket/branches/wicket-1.4.4/wicket-examples/pom.xml Fri Dec  4 08:22:46 2009
@@ -21,7 +21,7 @@
 	&lt;parent&gt;
 		&lt;groupId&gt;org.apache.wicket&lt;/groupId&gt;
 		&lt;artifactId&gt;wicket-parent&lt;/artifactId&gt;
-		&lt;version&gt;1.4-SNAPSHOT&lt;/version&gt;
+		&lt;version&gt;1.4.4&lt;/version&gt;
 		&lt;relativePath&gt;../pom.xml&lt;/relativePath&gt;
 	&lt;/parent&gt;
 	&lt;artifactId&gt;wicket-examples&lt;/artifactId&gt;

Modified: wicket/branches/wicket-1.4.4/wicket-extensions/pom.xml
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/wicket-extensions/pom.xml?rev=887102&amp;r1=887101&amp;r2=887102&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/wicket-extensions/pom.xml (original)
+++ wicket/branches/wicket-1.4.4/wicket-extensions/pom.xml Fri Dec  4 08:22:46 2009
@@ -23,7 +23,7 @@
 	&lt;parent&gt;
 		&lt;groupId&gt;org.apache.wicket&lt;/groupId&gt;
 		&lt;artifactId&gt;wicket-parent&lt;/artifactId&gt;
-		&lt;version&gt;1.4-SNAPSHOT&lt;/version&gt;
+		&lt;version&gt;1.4.4&lt;/version&gt;
 		&lt;relativePath&gt;../pom.xml&lt;/relativePath&gt;
 	&lt;/parent&gt;
 

Modified: wicket/branches/wicket-1.4.4/wicket-guice/pom.xml
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/wicket-guice/pom.xml?rev=887102&amp;r1=887101&amp;r2=887102&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/wicket-guice/pom.xml (original)
+++ wicket/branches/wicket-1.4.4/wicket-guice/pom.xml Fri Dec  4 08:22:46 2009
@@ -23,7 +23,7 @@
 	&lt;parent&gt;
 		&lt;groupId&gt;org.apache.wicket&lt;/groupId&gt;
 		&lt;artifactId&gt;wicket-parent&lt;/artifactId&gt;
-		&lt;version&gt;1.4-SNAPSHOT&lt;/version&gt;
+		&lt;version&gt;1.4.4&lt;/version&gt;
 		&lt;relativePath&gt;../pom.xml&lt;/relativePath&gt;
 	&lt;/parent&gt;
 

Modified: wicket/branches/wicket-1.4.4/wicket-ioc/pom.xml
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/wicket-ioc/pom.xml?rev=887102&amp;r1=887101&amp;r2=887102&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/wicket-ioc/pom.xml (original)
+++ wicket/branches/wicket-1.4.4/wicket-ioc/pom.xml Fri Dec  4 08:22:46 2009
@@ -23,7 +23,7 @@
 	&lt;parent&gt;
 		&lt;groupId&gt;org.apache.wicket&lt;/groupId&gt;
 		&lt;artifactId&gt;wicket-parent&lt;/artifactId&gt;
-		&lt;version&gt;1.4-SNAPSHOT&lt;/version&gt;
+		&lt;version&gt;1.4.4&lt;/version&gt;
 		&lt;relativePath&gt;../pom.xml&lt;/relativePath&gt;
 	&lt;/parent&gt;
 

Modified: wicket/branches/wicket-1.4.4/wicket-jmx/pom.xml
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/wicket-jmx/pom.xml?rev=887102&amp;r1=887101&amp;r2=887102&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/wicket-jmx/pom.xml (original)
+++ wicket/branches/wicket-1.4.4/wicket-jmx/pom.xml Fri Dec  4 08:22:46 2009
@@ -23,7 +23,7 @@
 	&lt;parent&gt;
 		&lt;groupId&gt;org.apache.wicket&lt;/groupId&gt;
 		&lt;artifactId&gt;wicket-parent&lt;/artifactId&gt;
-		&lt;version&gt;1.4-SNAPSHOT&lt;/version&gt;
+		&lt;version&gt;1.4.4&lt;/version&gt;
 		&lt;relativePath&gt;../pom.xml&lt;/relativePath&gt;
 	&lt;/parent&gt;
 

Modified: wicket/branches/wicket-1.4.4/wicket-objectssizeof-agent/pom.xml
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/wicket-objectssizeof-agent/pom.xml?rev=887102&amp;r1=887101&amp;r2=887102&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/wicket-objectssizeof-agent/pom.xml (original)
+++ wicket/branches/wicket-1.4.4/wicket-objectssizeof-agent/pom.xml Fri Dec  4 08:22:46 2009
@@ -21,7 +21,7 @@
 	&lt;parent&gt;
 		&lt;groupId&gt;org.apache.wicket&lt;/groupId&gt;
 		&lt;artifactId&gt;wicket-parent&lt;/artifactId&gt;
-		&lt;version&gt;1.4-SNAPSHOT&lt;/version&gt;
+		&lt;version&gt;1.4.4&lt;/version&gt;
 		&lt;relativePath&gt;../pom.xml&lt;/relativePath&gt;
 	&lt;/parent&gt;
 

Modified: wicket/branches/wicket-1.4.4/wicket-quickstart/pom.xml
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/wicket-quickstart/pom.xml?rev=887102&amp;r1=887101&amp;r2=887102&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/wicket-quickstart/pom.xml (original)
+++ wicket/branches/wicket-1.4.4/wicket-quickstart/pom.xml Fri Dec  4 08:22:46 2009
@@ -23,7 +23,7 @@
 	&lt;parent&gt;
 		&lt;groupId&gt;org.apache.wicket&lt;/groupId&gt;
 		&lt;artifactId&gt;wicket-parent&lt;/artifactId&gt;
-		&lt;version&gt;1.4-SNAPSHOT&lt;/version&gt;
+		&lt;version&gt;1.4.4&lt;/version&gt;
 		&lt;relativePath&gt;../pom.xml&lt;/relativePath&gt;
 	&lt;/parent&gt;
 

Modified: wicket/branches/wicket-1.4.4/wicket-spring/pom.xml
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/wicket-spring/pom.xml?rev=887102&amp;r1=887101&amp;r2=887102&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/wicket-spring/pom.xml (original)
+++ wicket/branches/wicket-1.4.4/wicket-spring/pom.xml Fri Dec  4 08:22:46 2009
@@ -23,7 +23,7 @@
 	&lt;parent&gt;
 		&lt;groupId&gt;org.apache.wicket&lt;/groupId&gt;
 		&lt;artifactId&gt;wicket-parent&lt;/artifactId&gt;
-		&lt;version&gt;1.4-SNAPSHOT&lt;/version&gt;
+		&lt;version&gt;1.4.4&lt;/version&gt;
 		&lt;relativePath&gt;../pom.xml&lt;/relativePath&gt;
 	&lt;/parent&gt;
 

Modified: wicket/branches/wicket-1.4.4/wicket-velocity/pom.xml
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/wicket-velocity/pom.xml?rev=887102&amp;r1=887101&amp;r2=887102&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/wicket-velocity/pom.xml (original)
+++ wicket/branches/wicket-1.4.4/wicket-velocity/pom.xml Fri Dec  4 08:22:46 2009
@@ -23,7 +23,7 @@
 	&lt;parent&gt;
 		&lt;groupId&gt;org.apache.wicket&lt;/groupId&gt;
 		&lt;artifactId&gt;wicket-parent&lt;/artifactId&gt;
-		&lt;version&gt;1.4-SNAPSHOT&lt;/version&gt;
+		&lt;version&gt;1.4.4&lt;/version&gt;
 		&lt;relativePath&gt;../pom.xml&lt;/relativePath&gt;
 	&lt;/parent&gt;
 

Modified: wicket/branches/wicket-1.4.4/wicket/pom.xml
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.4/wicket/pom.xml?rev=887102&amp;r1=887101&amp;r2=887102&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.4/wicket/pom.xml (original)
+++ wicket/branches/wicket-1.4.4/wicket/pom.xml Fri Dec  4 08:22:46 2009
@@ -23,7 +23,7 @@
 	&lt;parent&gt;
 		&lt;groupId&gt;org.apache.wicket&lt;/groupId&gt;
 		&lt;artifactId&gt;wicket-parent&lt;/artifactId&gt;
-		&lt;version&gt;1.4-SNAPSHOT&lt;/version&gt;
+		&lt;version&gt;1.4.4&lt;/version&gt;
 		&lt;relativePath&gt;../pom.xml&lt;/relativePath&gt;
 	&lt;/parent&gt;
 




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887097 - in /wicket/branches: wicket-1.4.4/ wicket-1.4.5/</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091204081551.21C2D23889D1@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091204081551-21C2D23889D1@eris-apache-org%3e</id>
<updated>2009-12-04T08:15:50Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Fri Dec  4 08:15:47 2009
New Revision: 887097

URL: http://svn.apache.org/viewvc?rev=887097&amp;view=rev
Log:
fix version number

Added:
    wicket/branches/wicket-1.4.4/   (props changed)
      - copied from r887096, wicket/branches/wicket-1.4.5/
Removed:
    wicket/branches/wicket-1.4.5/

Propchange: wicket/branches/wicket-1.4.4/
------------------------------------------------------------------------------
--- subclipse:tags (added)
+++ subclipse:tags Fri Dec  4 08:15:47 2009
@@ -0,0 +1,5 @@
+550610,wicket-1.3.0-beta2,/wicket/tags/wicket-1.3.0-beta2,tag
+567792,wicket-1.3.0-beta3,/wicket/tags/wicket-1.3.0-beta3,tag
+582590,wicket-1.3.0-beta4,/wicket/tags/wicket-1.3.0-beta4,tag
+591745,wicket-1.3.0-rc1,/wicket/tags/wicket-1.3.0-rc1,tag
+601799,wicket-1.3.0-rc2,/wicket/tags/wicket-1.3.0-rc2,tag

Propchange: wicket/branches/wicket-1.4.4/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Dec  4 08:15:47 2009
@@ -0,0 +1,4 @@
+target
+.metadata
+.project
+velocity.log

Propchange: wicket/branches/wicket-1.4.4/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Fri Dec  4 08:15:47 2009
@@ -0,0 +1,2 @@
+/wicket/sandbox/jthomerson/experimental/wicket-devutils:760296-760351,760353-760355
+/wicket/trunk/wicket-devutils:760352




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887095 - /wicket/branches/wicket-1.4.5/</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091204081254.BDF9D23889D1@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091204081254-BDF9D23889D1@eris-apache-org%3e</id>
<updated>2009-12-04T08:12:54Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Fri Dec  4 08:12:51 2009
New Revision: 887095

URL: http://svn.apache.org/viewvc?rev=887095&amp;view=rev
Log:
release branch

Added:
    wicket/branches/wicket-1.4.5/   (props changed)
      - copied from r887094, wicket/branches/wicket-1.4.x/

Propchange: wicket/branches/wicket-1.4.5/
------------------------------------------------------------------------------
--- subclipse:tags (added)
+++ subclipse:tags Fri Dec  4 08:12:51 2009
@@ -0,0 +1,5 @@
+550610,wicket-1.3.0-beta2,/wicket/tags/wicket-1.3.0-beta2,tag
+567792,wicket-1.3.0-beta3,/wicket/tags/wicket-1.3.0-beta3,tag
+582590,wicket-1.3.0-beta4,/wicket/tags/wicket-1.3.0-beta4,tag
+591745,wicket-1.3.0-rc1,/wicket/tags/wicket-1.3.0-rc1,tag
+601799,wicket-1.3.0-rc2,/wicket/tags/wicket-1.3.0-rc2,tag

Propchange: wicket/branches/wicket-1.4.5/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Dec  4 08:12:51 2009
@@ -0,0 +1,4 @@
+target
+.metadata
+.project
+velocity.log

Propchange: wicket/branches/wicket-1.4.5/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Fri Dec  4 08:12:51 2009
@@ -0,0 +1,2 @@
+/wicket/sandbox/jthomerson/experimental/wicket-devutils:760296-760351,760353-760355
+/wicket/trunk/wicket-devutils:760352




</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Resolved: (WICKET-2317) Deprecated JavaDoc for org.apache.wicket.behavior.HeaderContributor</title>
<author><name>&quot;Igor Vaynberg (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c498034204.1259913921940.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c498034204-1259913921940-JavaMail-jira@brutus%3e</id>
<updated>2009-12-04T08:05:21Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/jira/browse/WICKET-2317?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Igor Vaynberg resolved WICKET-2317.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 1.4.4
         Assignee: Igor Vaynberg

&gt; Deprecated JavaDoc for org.apache.wicket.behavior.HeaderContributor
&gt; -------------------------------------------------------------------
&gt;
&gt;                 Key: WICKET-2317
&gt;                 URL: https://issues.apache.org/jira/browse/WICKET-2317
&gt;             Project: Wicket
&gt;          Issue Type: Bug
&gt;          Components: wicket
&gt;    Affects Versions: 1.4-RC5
&gt;         Environment: Any
&gt;            Reporter: Stefan Lindner
&gt;            Assignee: Igor Vaynberg
&gt;            Priority: Trivial
&gt;             Fix For: 1.4.4
&gt;
&gt;
&gt; The JAvadoc says
&gt;      "A shortcut for common cases is to call forCss(Class, String) to contribute a package
css file or forJavaScript(Class, String) to contribute a packaged javascript file."
&gt; But alls "for..." methods are marked as deprecated

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887094 - /wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/behavior/HeaderContributor.java</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091204080344.8A23B23889E5@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091204080344-8A23B23889E5@eris-apache-org%3e</id>
<updated>2009-12-04T08:03:43Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Fri Dec  4 08:03:39 2009
New Revision: 887094

URL: http://svn.apache.org/viewvc?rev=887094&amp;view=rev
Log:
WICKET-2317 Deprecated JavaDoc for org.apache.wicket.behavior.HeaderContributor
Issue: WICKET-2317

Modified:
    wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/behavior/HeaderContributor.java

Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/behavior/HeaderContributor.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/behavior/HeaderContributor.java?rev=887094&amp;r1=887093&amp;r2=887094&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/behavior/HeaderContributor.java
(original)
+++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/behavior/HeaderContributor.java
Fri Dec  4 08:03:39 2009
@@ -24,13 +24,7 @@
 /**
  * A {@link org.apache.wicket.behavior.AbstractHeaderContributor} behavior that is specialized
on
  * package resources. If you use this class, you have to pre-register the resources you want
to
- * contribute. A shortcut for common cases is to call {@link #forCss(Class, String)} to contribute
a
- * package css file or {@link #forJavaScript(Class, String)} to contribute a packaged javascript
- * file. For instance:
- * 
- * &lt;pre&gt;
- * add(HeaderContributor.forCss(MyPanel.class, &amp;quot;mystyle.css&amp;quot;));
- * &lt;/pre&gt;
+ * contribute.
  * 
  * @author Eelco Hillenius
  * @author Matej Knopp




</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Commented: (WICKET-2503) Simplified Markup IDs</title>
<author><name>&quot;Igor Vaynberg (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c301692233.1259913681067.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c301692233-1259913681067-JavaMail-jira@brutus%3e</id>
<updated>2009-12-04T08:01:21Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

    [ https://issues.apache.org/jira/browse/WICKET-2503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12785808#action_12785808
] 

Igor Vaynberg commented on WICKET-2503:
---------------------------------------

nicely put, any ideas on how to implement this:

Automatically generated Markup IDs should be guaranteed to be stable and not depend on session
/ component ordering

or:

If the HTML tag in the markup has an id="..." attribute, this should be equivalent to calling
Component.setMarkupId("..."). 

&gt; Simplified Markup IDs
&gt; ---------------------
&gt;
&gt;                 Key: WICKET-2503
&gt;                 URL: https://issues.apache.org/jira/browse/WICKET-2503
&gt;             Project: Wicket
&gt;          Issue Type: Improvement
&gt;          Components: wicket
&gt;    Affects Versions: 1.4.1
&gt;            Reporter: Ralf Ebert
&gt;
&gt; - If you set a markup id with Component.setMarkupId("..."), this should include setOutputMarkupId(true)
automatically.
&gt; - If the HTML tag in the markup has an id="..." attribute, this should be equivalent
to calling Component.setMarkupId("...").
&gt; - In development mode wicket should yield a warning if rendered markup ids are not unique.
&gt; - Automatically generated Markup IDs should be guaranteed to be stable and not depend
on session / component ordering.
&gt; Motivation: Make it easier to work with automatically generated / manually assigned HTML
IDs for refering to markup elements in test code (browser-based tests, for example Selenium)
and for working with markup ids in javascript code.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Resolved: (WICKET-2364) CLONE -Make LoadableDetachableModel writable</title>
<author><name>&quot;Igor Vaynberg (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c2121534581.1259913560829.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c2121534581-1259913560829-JavaMail-jira@brutus%3e</id>
<updated>2009-12-04T07:59:20Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/jira/browse/WICKET-2364?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Igor Vaynberg resolved WICKET-2364.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 1.5-M1
                   1.4.4
         Assignee: Igor Vaynberg

after looking at your patch i decided to go with the simpler option of making setobject()
work, the alternative adds too much complexity

&gt; CLONE -Make LoadableDetachableModel writable
&gt; --------------------------------------------
&gt;
&gt;                 Key: WICKET-2364
&gt;                 URL: https://issues.apache.org/jira/browse/WICKET-2364
&gt;             Project: Wicket
&gt;          Issue Type: Improvement
&gt;          Components: wicket
&gt;    Affects Versions: 1.4-RC6
&gt;            Reporter: Michael Mikhulya
&gt;            Assignee: Igor Vaynberg
&gt;             Fix For: 1.4.4, 1.5-M1
&gt;
&gt;         Attachments: LoadableDetachableModel.java.patch
&gt;
&gt;
&gt; To keep it compatible with current usage:
&gt; public final void setObject(Object obj) {
&gt;     reload(obj);
&gt;     tempModelObject = obj;
&gt; }
&gt; protected void reload(Object obj) {
&gt;     throw new OperationNotSupportedException("Read only model");
&gt; }
&gt; Subclasses can now implement their own write logic. This is necessary for for instance
stand alone dropdownchoice components that need to store their selection.
&gt; e.g.
&gt; MyPage {
&gt;     IModel&lt;SchoolYear&gt; selectedSchoolYear;
&gt;     public MyPage() {
&gt;         selectedSchoolYear = new HibernateModel&lt;SchoolYear&gt;(SchoolYear.current());
&gt;         new SchoolYearDropDownChoice(this, "schoolyear", selectedSchoolYear);
&gt;     }
&gt; }
&gt; If HibernateModel is not writeable then the selected SchoolYear instance would end up
in the session.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887091 - /wicket/trunk/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091204075722.650A923889E5@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091204075722-650A923889E5@eris-apache-org%3e</id>
<updated>2009-12-04T07:57:21Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Fri Dec  4 07:57:19 2009
New Revision: 887091

URL: http://svn.apache.org/viewvc?rev=887091&amp;view=rev
Log:
WICKET-2364 Make LoadableDetachableModel writable
Issue: WICKET-2364

Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java?rev=887091&amp;r1=887090&amp;r2=887091&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java
Fri Dec  4 07:57:19 2009
@@ -51,7 +51,7 @@
  * @param &lt;T&gt;
  *            The Model Object type
  */
-public abstract class LoadableDetachableModel&lt;T&gt; extends AbstractReadOnlyModel&lt;T&gt;
+public abstract class LoadableDetachableModel&lt;T&gt; implements IModel&lt;T&gt;
 {
 	/**
 	 * 
@@ -90,7 +90,6 @@
 	/**
 	 * @see org.apache.wicket.model.IDetachable#detach()
 	 */
-	@Override
 	public void detach()
 	{
 		if (attached)
@@ -113,7 +112,6 @@
 	/**
 	 * @see org.apache.wicket.model.IModel#getObject()
 	 */
-	@Override
 	public T getObject()
 	{
 		if (!attached)
@@ -176,4 +174,19 @@
 	protected void onDetach()
 	{
 	}
+
+
+	/**
+	 * Manually loads the model with the specified object. Subsequent calls to {@link #getObject()}
+	 * will return {@code object} until {@link #detach()} is called.
+	 * 
+	 * @param object
+	 *            The object to set into the model
+	 */
+	public void setObject(final T object)
+	{
+		attached = true;
+		transientModelObject = object;
+	}
+
 }




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887090 - /wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091204075719.8DEB7238898A@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091204075719-8DEB7238898A@eris-apache-org%3e</id>
<updated>2009-12-04T07:57:17Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Fri Dec  4 07:57:13 2009
New Revision: 887090

URL: http://svn.apache.org/viewvc?rev=887090&amp;view=rev
Log:
WICKET-2364 Make LoadableDetachableModel writable
Issue: WICKET-2364

Modified:
    wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java

Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java?rev=887090&amp;r1=887089&amp;r2=887090&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java
(original)
+++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java
Fri Dec  4 07:57:13 2009
@@ -51,7 +51,7 @@
  * @param &lt;T&gt;
  *            The Model Object type
  */
-public abstract class LoadableDetachableModel&lt;T&gt; extends AbstractReadOnlyModel&lt;T&gt;
+public abstract class LoadableDetachableModel&lt;T&gt; implements IModel&lt;T&gt;
 {
 	/**
 	 * 
@@ -90,7 +90,6 @@
 	/**
 	 * @see org.apache.wicket.model.IDetachable#detach()
 	 */
-	@Override
 	public void detach()
 	{
 		if (attached)
@@ -113,7 +112,6 @@
 	/**
 	 * @see org.apache.wicket.model.IModel#getObject()
 	 */
-	@Override
 	public T getObject()
 	{
 		if (!attached)
@@ -176,4 +174,19 @@
 	protected void onDetach()
 	{
 	}
+
+
+	/**
+	 * Manually loads the model with the specified object. Subsequent calls to {@link #getObject()}
+	 * will return {@code object} until {@link #detach()} is called.
+	 * 
+	 * @param object
+	 *            The object to set into the model
+	 */
+	public void setObject(final T object)
+	{
+		attached = true;
+		transientModelObject = object;
+	}
+
 }




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887089 - /wicket/branches/wicket-1.4.x/wicket-spring/src/main/java/org/apache/wicket/spring/SpringWebApplicationFactory.java</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091204072742.5C36C23889E5@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091204072742-5C36C23889E5@eris-apache-org%3e</id>
<updated>2009-12-04T07:27:42Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Fri Dec  4 07:27:41 2009
New Revision: 887089

URL: http://svn.apache.org/viewvc?rev=887089&amp;view=rev
Log:
fix bug

Modified:
    wicket/branches/wicket-1.4.x/wicket-spring/src/main/java/org/apache/wicket/spring/SpringWebApplicationFactory.java

Modified: wicket/branches/wicket-1.4.x/wicket-spring/src/main/java/org/apache/wicket/spring/SpringWebApplicationFactory.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket-spring/src/main/java/org/apache/wicket/spring/SpringWebApplicationFactory.java?rev=887089&amp;r1=887088&amp;r2=887089&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket-spring/src/main/java/org/apache/wicket/spring/SpringWebApplicationFactory.java
(original)
+++ wicket/branches/wicket-1.4.x/wicket-spring/src/main/java/org/apache/wicket/spring/SpringWebApplicationFactory.java
Fri Dec  4 07:27:41 2009
@@ -140,7 +140,7 @@
 		}
 
 		String beanName = filter.getFilterConfig().getInitParameter("applicationBean");
-		return createApplication(additionalContext, beanName);
+		return createApplication((additionalContext != null) ? additionalContext : ac, beanName);
 	}
 
 	private WebApplication createApplication(ApplicationContext ac, String beanName)




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887088 - /wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/SpringWebApplicationFactory.java</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091204072737.EB0D3238898A@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091204072737-EB0D3238898A@eris-apache-org%3e</id>
<updated>2009-12-04T07:27:37Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Fri Dec  4 07:27:37 2009
New Revision: 887088

URL: http://svn.apache.org/viewvc?rev=887088&amp;view=rev
Log:
fix bug

Modified:
    wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/SpringWebApplicationFactory.java

Modified: wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/SpringWebApplicationFactory.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/SpringWebApplicationFactory.java?rev=887088&amp;r1=887087&amp;r2=887088&amp;view=diff
==============================================================================
--- wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/SpringWebApplicationFactory.java
(original)
+++ wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/SpringWebApplicationFactory.java
Fri Dec  4 07:27:37 2009
@@ -136,7 +136,7 @@
 		}
 
 		String beanName = filter.getFilterConfig().getInitParameter("applicationBean");
-		return createApplication(additionalContext, beanName);
+		return createApplication((additionalContext != null) ? additionalContext : ac, beanName);
 	}
 
 	private WebApplication createApplication(ApplicationContext ac, String beanName)




</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Commented: (WICKET-2506) Regression: &quot;Could not find child with id: &lt;ID&gt; in the wicket:enclosure&quot; for non-component tag</title>
<author><name>&quot;Marat Radchenko (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c1618387418.1259910560719.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1618387418-1259910560719-JavaMail-jira@brutus%3e</id>
<updated>2009-12-04T07:09:20Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

    [ https://issues.apache.org/jira/browse/WICKET-2506?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12785793#action_12785793
] 

Marat Radchenko commented on WICKET-2506:
-----------------------------------------

Douglas, you can't experience this issue since it has testcase that was added to wicket testsuite
and passes correctly. What you might see is WICKET-2519, that is fixed in 1.4.4

&gt; Regression: "Could not find child with id: &lt;ID&gt; in the wicket:enclosure" for non-component
tag
&gt; ----------------------------------------------------------------------------------------------
&gt;
&gt;                 Key: WICKET-2506
&gt;                 URL: https://issues.apache.org/jira/browse/WICKET-2506
&gt;             Project: Wicket
&gt;          Issue Type: Bug
&gt;          Components: wicket
&gt;    Affects Versions: 1.4.2
&gt;            Reporter: Marat Radchenko
&gt;            Assignee: Juergen Donnerstag
&gt;             Fix For: 1.4.3, 1.5-M1
&gt;
&gt;         Attachments: enclosure-bug.tar.gz
&gt;
&gt;
&gt; Attached testcase passes with wicket-1.4.1 but fails with 1.4.2 saying:
&gt; org.apache.wicket.WicketRuntimeException: Could not find child with id: radio in the
wicket:enclosure
&gt; 	at org.apache.wicket.markup.html.internal.Enclosure.checkChildComponent(Enclosure.java:210)
&gt; 	at org.apache.wicket.markup.html.internal.Enclosure.ensureAllChildrenPresent(Enclosure.java:249)
&gt; 	at org.apache.wicket.markup.html.internal.Enclosure.onComponentTagBody(Enclosure.java:169)
&gt; 	at org.apache.wicket.Component.renderComponent(Component.java:2626)
&gt; 	at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
&gt; 	at org.apache.wicket.Component.render(Component.java:2457)
&gt; 	at org.apache.wicket.MarkupContainer.autoAdd(MarkupContainer.java:229)
&gt; 	at org.apache.wicket.markup.resolver.EnclosureResolver.resolve(EnclosureResolver.java:61)
&gt; 	at org.apache.wicket.markup.resolver.ComponentResolvers.resolve(ComponentResolvers.java:81)
&gt; 	at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1418)
&gt; 	at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
&gt; 	at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1501)
&gt; 	at org.apache.wicket.Component.renderComponent(Component.java:2626)
&gt; 	at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
&gt; 	at org.apache.wicket.Component.render(Component.java:2457)
&gt; 	at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1414)
&gt; 	at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1528)
&gt; 	at org.apache.wicket.Page.onRender(Page.java:1545)
&gt; 	at org.apache.wicket.Component.render(Component.java:2457)
&gt; 	at org.apache.wicket.Page.renderPage(Page.java:914)
&gt; 	at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond(BookmarkablePageRequestTarget.java:262)
&gt; 	at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105)
&gt; 	at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1258)
&gt; 	at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
&gt; 	at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
&gt; 	at org.apache.wicket.RequestCycle.request(RequestCycle.java:594)
&gt; 	at org.apache.wicket.protocol.http.MockWebApplication.processRequestCycle(MockWebApplication.java:478)
&gt; 	at org.apache.wicket.protocol.http.MockWebApplication.processRequestCycle(MockWebApplication.java:390)
&gt; 	at org.apache.wicket.util.tester.BaseWicketTester.startPage(BaseWicketTester.java:300)
&gt; 	at org.apache.wicket.EnclosurePageTest.testRender(EnclosurePageTest.java:23)
&gt; 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
&gt; 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
&gt; 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
&gt; 	at java.lang.reflect.Method.invoke(Method.java:597)
&gt; 	at junit.framework.TestCase.runTest(TestCase.java:154)
&gt; 	at junit.framework.TestCase.runBare(TestCase.java:127)
&gt; 	at junit.framework.TestResult$1.protect(TestResult.java:106)
&gt; 	at junit.framework.TestResult.runProtected(TestResult.java:124)
&gt; 	at junit.framework.TestResult.run(TestResult.java:109)
&gt; 	at junit.framework.TestCase.run(TestCase.java:118)
&gt; 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
&gt; 	at junit.framework.TestSuite.run(TestSuite.java:203)
&gt; 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
&gt; 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
&gt; 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
&gt; 	at java.lang.reflect.Method.invoke(Method.java:597)
&gt; 	at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
&gt; 	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
&gt; 	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
&gt; 	at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
&gt; 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
&gt; 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
&gt; 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
&gt; 	at java.lang.reflect.Method.invoke(Method.java:597)
&gt; 	at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
&gt; 	at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Assigned: (WICKET-2569) Inheritance layout excludes XML header from output</title>
<author><name>&quot;Igor Vaynberg (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c781665871.1259910441225.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c781665871-1259910441225-JavaMail-jira@brutus%3e</id>
<updated>2009-12-04T07:07:21Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/jira/browse/WICKET-2569?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Igor Vaynberg reassigned WICKET-2569:
-------------------------------------

    Assignee: Juergen Donnerstag

so whats the verdict here?

&gt; Inheritance layout excludes XML header from output
&gt; --------------------------------------------------
&gt;
&gt;                 Key: WICKET-2569
&gt;                 URL: https://issues.apache.org/jira/browse/WICKET-2569
&gt;             Project: Wicket
&gt;          Issue Type: Bug
&gt;    Affects Versions: 1.3.7, 1.4.3
&gt;            Reporter: Neil Curzon
&gt;            Assignee: Juergen Donnerstag
&gt;         Attachments: wicket-2569.tgz
&gt;
&gt;
&gt; When using inheritance layout, if the superclass (Layout class) has an ?xml header at
the top, it's excluded from the rendering of subclasses, if they have an associated html file.
If the subclass has no .html file associated with it, the ?xml header is preserved in the
rendering output.
&gt; To reproduce: Create a SuperPage class extending WebPage. At the top of SuperPage.html,
put "&lt;?xml version="1.0" encoding="utf-8"?&gt;" . Create two subclasses of SuperPage, one
with an HTML file and one without. View the sub pages. Notice when the one with an HTML file
is rendered, the xml header is excluded.
&gt; Expected: The ?xml header should always be preserved in the rendered output as it's vital
to the layout.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Updated: (WICKET-2585) Improve validator messages</title>
<author><name>&quot;Igor Vaynberg (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c393551385.1259910201098.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c393551385-1259910201098-JavaMail-jira@brutus%3e</id>
<updated>2009-12-04T07:03:21Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/jira/browse/WICKET-2585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Igor Vaynberg updated WICKET-2585:
----------------------------------

    Fix Version/s: 1.5-M1

we cannot do this in 1.4.x because it will change existing behavior.

&gt; Improve validator messages
&gt; --------------------------
&gt;
&gt;                 Key: WICKET-2585
&gt;                 URL: https://issues.apache.org/jira/browse/WICKET-2585
&gt;             Project: Wicket
&gt;          Issue Type: Improvement
&gt;          Components: wicket
&gt;    Affects Versions: 1.4.3
&gt;            Reporter: Giovanni Quarella
&gt;            Priority: Minor
&gt;             Fix For: 1.5-M1
&gt;
&gt;
&gt; Currently
&gt; StringValidator.minimum='${input}' is shorter than the minimum of ${minimum} characters.
&gt; If you add a StringValidator to PasswordTextField the password is shown as clear text.
Even though the password is partial, this is not good.
&gt; Anyway this and others validators should replace ${input} with ${label} as default.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Resolved: (WICKET-2593) wicket:message can cause infinite loop in render</title>
<author><name>&quot;Igor Vaynberg (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c108630313.1259910200779.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c108630313-1259910200779-JavaMail-jira@brutus%3e</id>
<updated>2009-12-04T07:03:20Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/jira/browse/WICKET-2593?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Igor Vaynberg resolved WICKET-2593.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 1.5-M1
                   1.4.4
         Assignee: Igor Vaynberg

&gt; wicket:message can cause infinite loop in render
&gt; ------------------------------------------------
&gt;
&gt;                 Key: WICKET-2593
&gt;                 URL: https://issues.apache.org/jira/browse/WICKET-2593
&gt;             Project: Wicket
&gt;          Issue Type: Bug
&gt;          Components: wicket
&gt;    Affects Versions: 1.4.3
&gt;            Reporter: Sebastiaan van Erk
&gt;            Assignee: Igor Vaynberg
&gt;            Priority: Minor
&gt;             Fix For: 1.4.4, 1.5-M1
&gt;
&gt;
&gt; This works for me:
&gt; &lt;wicket:message key="key"&gt;bla&lt;/wicket:message
&gt; This causes an infinite loop:
&gt; &lt;wicket:message key="key"&gt;bla &lt;a href="bla"&gt;bla&lt;/a&gt; bla&lt;/wicket:message&gt;
&gt; Generally I don't use markup in a wicket:message but I just copy pasted this for mockup
purposes; I think it should work, but it definately shouldn't go into an infinite loop.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887082 - in /wicket/trunk/wicket/src: main/java/org/apache/wicket/markup/resolver/ test/java/org/apache/wicket/markup/resolver/</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091204061656.66B5323889E5@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091204061656-66B5323889E5@eris-apache-org%3e</id>
<updated>2009-12-04T06:16:56Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Fri Dec  4 06:16:55 2009
New Revision: 887082

URL: http://svn.apache.org/viewvc?rev=887082&amp;view=rev
Log:
WICKET-2953 wicket:message can cause infinite loop in render
Issue: WICKET-2953

Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java
    wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/resolver/SimplePageExpectedResult_1.html
    wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/resolver/SimplePage_1.html

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java?rev=887082&amp;r1=887081&amp;r2=887082&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java
Fri Dec  4 06:16:55 2009
@@ -376,6 +376,10 @@
 								component.render();
 								markupStream.skipComponent();
 							}
+							else
+							{
+								markupStream.next();
+							}
 							childTags.put(id, response.getBuffer());
 						}
 						finally

Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/resolver/SimplePageExpectedResult_1.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/resolver/SimplePageExpectedResult_1.html?rev=887082&amp;r1=887081&amp;r2=887082&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/resolver/SimplePageExpectedResult_1.html
(original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/resolver/SimplePageExpectedResult_1.html
Fri Dec  4 06:16:55 2009
@@ -4,6 +4,10 @@
   &lt;wicket:message key="myKey"&gt;myValue&lt;/wicket:message&gt;
   &lt;wicket:message key="myKeyNotExsts"&gt;&lt;/wicket:message&gt;
   &lt;wicket:message key="myKey"&gt;myValue&lt;/wicket:message&gt;
+
+  &lt;!-- wicket message with some raw markup --&gt;
+  &lt;wicket:message key="myKey"&gt;myValue&lt;/wicket:message&gt;
+
   &lt;span wicket:id="message"&gt;here it goes&lt;/span&gt;
   &lt;span wicket:message="attr-name:i18n-key" attr-name="my i18n key"&gt;test 2&lt;/span&gt;
   &lt;span wicket:id="message2" wicket:message="attr-name:i18n-key" attr-name="my i18n key"&gt;here
it goes&lt;/span&gt;

Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/resolver/SimplePage_1.html
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/resolver/SimplePage_1.html?rev=887082&amp;r1=887081&amp;r2=887082&amp;view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/resolver/SimplePage_1.html
(original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/resolver/SimplePage_1.html
Fri Dec  4 06:16:55 2009
@@ -4,6 +4,10 @@
   &lt;wicket:message key="myKey"&gt;Default Text&lt;/wicket:message&gt;
   &lt;wicket:message key="myKeyNotExsts"/&gt;
   &lt;wicket:message key="myKey"/&gt;
+
+  &lt;!-- wicket message with some raw markup --&gt;
+  &lt;wicket:message key="myKey"&gt;blah &lt;a href="blah"&gt;blah&lt;/a&gt; blah&lt;/wicket:message&gt;
+
   &lt;span wicket:id="message"&gt;test&lt;/span&gt;
   &lt;span wicket:message="attr-name:i18n-key"&gt;test 2&lt;/span&gt;
   &lt;span wicket:id="message2" wicket:message="attr-name:i18n-key"&gt;test 2&lt;/span&gt;




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887081 - in /wicket/branches/wicket-1.4.x/wicket/src: main/java/org/apache/wicket/markup/resolver/ test/java/org/apache/wicket/markup/resolver/</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091204061639.04F2A23889B8@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091204061639-04F2A23889B8@eris-apache-org%3e</id>
<updated>2009-12-04T06:16:38Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Fri Dec  4 06:16:38 2009
New Revision: 887081

URL: http://svn.apache.org/viewvc?rev=887081&amp;view=rev
Log:
WICKET-2953 wicket:message can cause infinite loop in render
Issue: WICKET-2953

Modified:
    wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java
    wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/resolver/SimplePageExpectedResult_1.html
    wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/resolver/SimplePage_1.html

Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java?rev=887081&amp;r1=887080&amp;r2=887081&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java
(original)
+++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/resolver/WicketMessageResolver.java
Fri Dec  4 06:16:38 2009
@@ -364,8 +364,13 @@
 							if (component != null)
 							{
 								component.render(markupStream);
+								childTags.put(id, response.getBuffer());
 							}
-							childTags.put(id, response.getBuffer());
+							else
+							{
+								markupStream.next();
+							}
+
 						}
 						finally
 						{

Modified: wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/resolver/SimplePageExpectedResult_1.html
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/resolver/SimplePageExpectedResult_1.html?rev=887081&amp;r1=887080&amp;r2=887081&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/resolver/SimplePageExpectedResult_1.html
(original)
+++ wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/resolver/SimplePageExpectedResult_1.html
Fri Dec  4 06:16:38 2009
@@ -4,6 +4,10 @@
   &lt;wicket:message key="myKey"&gt;myValue&lt;/wicket:message&gt;
   &lt;wicket:message key="myKeyNotExsts"&gt;&lt;/wicket:message&gt;
   &lt;wicket:message key="myKey"&gt;myValue&lt;/wicket:message&gt;
+
+  &lt;!-- wicket message with some raw markup --&gt;
+  &lt;wicket:message key="myKey"&gt;myValue&lt;/wicket:message&gt;
+
   &lt;span wicket:id="message"&gt;here it goes&lt;/span&gt;
   &lt;span wicket:message="attr-name:i18n-key" attr-name="my i18n key"&gt;test 2&lt;/span&gt;
   &lt;span wicket:id="message2" wicket:message="attr-name:i18n-key" attr-name="my i18n key"&gt;here
it goes&lt;/span&gt;

Modified: wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/resolver/SimplePage_1.html
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/resolver/SimplePage_1.html?rev=887081&amp;r1=887080&amp;r2=887081&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/resolver/SimplePage_1.html
(original)
+++ wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/resolver/SimplePage_1.html
Fri Dec  4 06:16:38 2009
@@ -4,6 +4,10 @@
   &lt;wicket:message key="myKey"&gt;Default Text&lt;/wicket:message&gt;
   &lt;wicket:message key="myKeyNotExsts"/&gt;
   &lt;wicket:message key="myKey"/&gt;
+
+  &lt;!-- wicket message with some raw markup --&gt;
+  &lt;wicket:message key="myKey"&gt;blah &lt;a href="blah"&gt;blah&lt;/a&gt; blah&lt;/wicket:message&gt;
+
   &lt;span wicket:id="message"&gt;test&lt;/span&gt;
   &lt;span wicket:message="attr-name:i18n-key"&gt;test 2&lt;/span&gt;
   &lt;span wicket:id="message2" wicket:message="attr-name:i18n-key"&gt;test 2&lt;/span&gt;




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887080 - in /wicket/branches/wicket-1.4.x: pom.xml wicket-examples/src/test/java/org/apache/wicket/examples/AllTests.java</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091204060508.EB18723889B8@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091204060508-EB18723889B8@eris-apache-org%3e</id>
<updated>2009-12-04T06:05:08Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Fri Dec  4 06:05:08 2009
New Revision: 887080

URL: http://svn.apache.org/viewvc?rev=887080&amp;view=rev
Log:
bump junit to 4.7

Modified:
    wicket/branches/wicket-1.4.x/pom.xml
    wicket/branches/wicket-1.4.x/wicket-examples/src/test/java/org/apache/wicket/examples/AllTests.java

Modified: wicket/branches/wicket-1.4.x/pom.xml
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/pom.xml?rev=887080&amp;r1=887079&amp;r2=887080&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/pom.xml (original)
+++ wicket/branches/wicket-1.4.x/pom.xml Fri Dec  4 06:05:08 2009
@@ -317,7 +317,7 @@
 			&lt;dependency&gt;
 				&lt;groupId&gt;junit&lt;/groupId&gt;
 				&lt;artifactId&gt;junit&lt;/artifactId&gt;
-				&lt;version&gt;3.8.1&lt;/version&gt;
+				&lt;version&gt;4.7&lt;/version&gt;
 				&lt;scope&gt;provided&lt;/scope&gt;
 			&lt;/dependency&gt;
 			&lt;dependency&gt;

Modified: wicket/branches/wicket-1.4.x/wicket-examples/src/test/java/org/apache/wicket/examples/AllTests.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket-examples/src/test/java/org/apache/wicket/examples/AllTests.java?rev=887080&amp;r1=887079&amp;r2=887080&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket-examples/src/test/java/org/apache/wicket/examples/AllTests.java
(original)
+++ wicket/branches/wicket-1.4.x/wicket-examples/src/test/java/org/apache/wicket/examples/AllTests.java
Fri Dec  4 06:05:08 2009
@@ -17,6 +17,7 @@
 package org.apache.wicket.examples;
 
 import junit.framework.Test;
+import junit.framework.TestCase;
 import junit.framework.TestSuite;
 
 import org.apache.wicket.examples.ajax.prototype.AjaxTest;
@@ -77,42 +78,34 @@
 		return new JettyTestCaseDecorator(suite);
 	}
 
-	/**
-	 * Construct.
-	 */
 	public AllTests()
 	{
 		super();
 	}
 
-	/**
-	 * Construct.
-	 * 
-	 * @param arg0
-	 */
-	public AllTests(Class&lt;?&gt; arg0)
+	public AllTests(Class&lt;? extends TestCase&gt; theClass, String name)
 	{
-		super(arg0);
+		super(theClass, name);
 	}
 
-	/**
-	 * Construct.
-	 * 
-	 * @param arg0
-	 * @param arg1
-	 */
-	public AllTests(Class&lt;?&gt; arg0, String arg1)
+	public AllTests(Class&lt;? extends TestCase&gt; theClass)
 	{
-		super(arg0, arg1);
+		super(theClass);
 	}
 
-	/**
-	 * Construct.
-	 * 
-	 * @param arg0
-	 */
-	public AllTests(String arg0)
+	public AllTests(Class&lt;? extends TestCase&gt;[] classes, String name)
+	{
+		super(classes, name);
+	}
+
+	public AllTests(Class&lt;?&gt;... classes)
 	{
-		super(arg0);
+		super(classes);
 	}
+
+	public AllTests(String name)
+	{
+		super(name);
+	}
+
 }




</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Resolved: (WICKET-2594) TabbedPanel, tabsVisibilityCache throws IndexOutOfBounds</title>
<author><name>&quot;Igor Vaynberg (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c86189934.1259906601173.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c86189934-1259906601173-JavaMail-jira@brutus%3e</id>
<updated>2009-12-04T06:03:21Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/jira/browse/WICKET-2594?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Igor Vaynberg resolved WICKET-2594.
-----------------------------------

    Resolution: Fixed
      Assignee: Igor Vaynberg

i committed the visibility cache change but not the test

&gt; TabbedPanel, tabsVisibilityCache throws IndexOutOfBounds
&gt; --------------------------------------------------------
&gt;
&gt;                 Key: WICKET-2594
&gt;                 URL: https://issues.apache.org/jira/browse/WICKET-2594
&gt;             Project: Wicket
&gt;          Issue Type: Bug
&gt;          Components: wicket-extensions
&gt;    Affects Versions: 1.4.3
&gt;            Reporter: Thies Edeling
&gt;            Assignee: Igor Vaynberg
&gt;         Attachments: TabbedPanelTest.java
&gt;
&gt;
&gt; With wicket extensions 1.4.3, TabbedPanel throws an IndexOutOfBounds exception on the
tabsVisibilityCache array when adding more tabs after the panel is rendered.
&gt; The onBeforeRender method calls the isTabVisible method which initializes an array of
booleans for visibility caching. The length of this array is the amount of tabs added at that
time. When - through ajax - a new tab is added after rendering and setSelectedTab is called
an exception is thrown at:
&gt;    Boolean visible = tabsVisibilityCache[tabIndex];
&gt; Fix: increase the array before checking or use a List. In TabbedPanel
&gt; 	private boolean isTabVisible(int tabIndex)
&gt; 	{
&gt; 		if (tabsVisibilityCache == null)
&gt; 		{
&gt; 			tabsVisibilityCache = new Boolean[getTabs().size()];
&gt; 		}
&gt; 		if (tabsVisibilityCache.length &lt; tabIndex + 1)
&gt; 		{
&gt; 			tabsVisibilityCache = Arrays.copyOf(tabsVisibilityCache, tabIndex + 1);		
&gt; 		}
&gt; 		
&gt; 		if (tabsVisibilityCache.length &gt; 0)
&gt; 		{
&gt; 			Boolean visible = tabsVisibilityCache[tabIndex];
&gt; 			
&gt; 			if (visible == null)
&gt; 			{
&gt; 				visible = getTabs().get(tabIndex).isVisible();
&gt; 				tabsVisibilityCache[tabIndex] = visible;
&gt; 			}
&gt; 			
&gt; 			return visible;
&gt; 		}
&gt; 		else
&gt; 		{
&gt; 			return false;
&gt; 		}
&gt; 	}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Commented: (WICKET-2594) TabbedPanel, tabsVisibilityCache throws IndexOutOfBounds</title>
<author><name>&quot;Igor Vaynberg (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c1020914040.1259906600849.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c1020914040-1259906600849-JavaMail-jira@brutus%3e</id>
<updated>2009-12-04T06:03:20Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

    [ https://issues.apache.org/jira/browse/WICKET-2594?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12785777#action_12785777
] 

Igor Vaynberg commented on WICKET-2594:
---------------------------------------

the testcase doesnt make sense. it will fail even after the change in setSelectedTab(), you
cannot call setSelectedTab(x) before there are x tabs in the tabbed panel...

&gt; TabbedPanel, tabsVisibilityCache throws IndexOutOfBounds
&gt; --------------------------------------------------------
&gt;
&gt;                 Key: WICKET-2594
&gt;                 URL: https://issues.apache.org/jira/browse/WICKET-2594
&gt;             Project: Wicket
&gt;          Issue Type: Bug
&gt;          Components: wicket-extensions
&gt;    Affects Versions: 1.4.3
&gt;            Reporter: Thies Edeling
&gt;         Attachments: TabbedPanelTest.java
&gt;
&gt;
&gt; With wicket extensions 1.4.3, TabbedPanel throws an IndexOutOfBounds exception on the
tabsVisibilityCache array when adding more tabs after the panel is rendered.
&gt; The onBeforeRender method calls the isTabVisible method which initializes an array of
booleans for visibility caching. The length of this array is the amount of tabs added at that
time. When - through ajax - a new tab is added after rendering and setSelectedTab is called
an exception is thrown at:
&gt;    Boolean visible = tabsVisibilityCache[tabIndex];
&gt; Fix: increase the array before checking or use a List. In TabbedPanel
&gt; 	private boolean isTabVisible(int tabIndex)
&gt; 	{
&gt; 		if (tabsVisibilityCache == null)
&gt; 		{
&gt; 			tabsVisibilityCache = new Boolean[getTabs().size()];
&gt; 		}
&gt; 		if (tabsVisibilityCache.length &lt; tabIndex + 1)
&gt; 		{
&gt; 			tabsVisibilityCache = Arrays.copyOf(tabsVisibilityCache, tabIndex + 1);		
&gt; 		}
&gt; 		
&gt; 		if (tabsVisibilityCache.length &gt; 0)
&gt; 		{
&gt; 			Boolean visible = tabsVisibilityCache[tabIndex];
&gt; 			
&gt; 			if (visible == null)
&gt; 			{
&gt; 				visible = getTabs().get(tabIndex).isVisible();
&gt; 				tabsVisibilityCache[tabIndex] = visible;
&gt; 			}
&gt; 			
&gt; 			return visible;
&gt; 		}
&gt; 		else
&gt; 		{
&gt; 			return false;
&gt; 		}
&gt; 	}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887079 - /wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java</title>
<author><name>ivaynberg@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c20091204060215.EEEA023889B8@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091204060215-EEEA023889B8@eris-apache-org%3e</id>
<updated>2009-12-04T06:02:15Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: ivaynberg
Date: Fri Dec  4 06:02:15 2009
New Revision: 887079

URL: http://svn.apache.org/viewvc?rev=887079&amp;view=rev
Log:
WICKET-2594
Issue: WICKET-2594

Modified:
    wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java

Modified: wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java?rev=887079&amp;r1=887078&amp;r2=887079&amp;view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
(original)
+++ wicket/branches/wicket-1.4.x/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
Fri Dec  4 06:02:15 2009
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.extensions.markup.html.tabs;
 
+import java.util.Arrays;
 import java.util.List;
 
 import org.apache.wicket.Component;
@@ -384,6 +385,11 @@
 			tabsVisibilityCache = new Boolean[tabs.size()];
 		}
 
+		if (tabsVisibilityCache.length &lt; tabIndex + 1)
+		{
+			tabsVisibilityCache = Arrays.copyOf(tabsVisibilityCache, tabIndex + 1);
+		}
+
 		if (tabsVisibilityCache.length &gt; 0)
 		{
 			Boolean visible = tabsVisibilityCache[tabIndex];




</pre>
</div>
</content>
</entry>
<entry>
<title>[jira] Resolved: (WICKET-2550) DatePicker introduces a bug regarding the back button support of the browser.</title>
<author><name>&quot;Igor Vaynberg (JIRA)&quot; &lt;jira@apache.org&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/wicket-commits/200912.mbox/%3c683725003.1259905521126.JavaMail.jira@brutus%3e"/>
<id>urn:uuid:%3c683725003-1259905521126-JavaMail-jira@brutus%3e</id>
<updated>2009-12-04T05:45:21Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

     [ https://issues.apache.org/jira/browse/WICKET-2550?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Igor Vaynberg resolved WICKET-2550.
-----------------------------------

    Resolution: Won't Fix
      Assignee: Igor Vaynberg

in wicket ajax actions do not alter browser history (the url doesnt change when "show data"
button is pressed) and so the back button is not always deterministic. if a component is added
to the page that alter's the pages' last modified value the browser may re-request the page
and because the ajax action does not have its own url the page is reverted to its original
state. in other words same would happen if you pressed the refresh button in the browser after
pressing the "show data" button.

&gt; DatePicker introduces a bug regarding the back button support of the browser.
&gt; -----------------------------------------------------------------------------
&gt;
&gt;                 Key: WICKET-2550
&gt;                 URL: https://issues.apache.org/jira/browse/WICKET-2550
&gt;             Project: Wicket
&gt;          Issue Type: Bug
&gt;          Components: wicket, wicket-extensions
&gt;    Affects Versions: 1.4.1, 1.4.2, 1.4.3
&gt;            Reporter: Martín Bigio
&gt;            Assignee: Igor Vaynberg
&gt;             Fix For: 1.4.4
&gt;
&gt;         Attachments: QuickStart.zip
&gt;
&gt;
&gt; The attached QuickStart reproduces the bug that the DatePicker behavior introduces.
&gt; 1) Click the "show data" ajax button.
&gt; 2) Click the submit non ajax button.
&gt; 3) Click the back button of the browser.
&gt; As you can see the displayed page doesn't contain the list of strings that appeared in
step 1!. If you remove the DatePicker behavior from the TextField and repeat the same process,
it works as expected.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



</pre>
</div>
</content>
</entry>
</feed>
