Author: ehillenius Date: Tue Jun 12 10:36:36 2007 New Revision: 546572 URL: http://svn.apache.org/viewvc?view=rev&rev=546572 Log: put request parameters reference back in again. This change wasn't in anyone's way, and people on the list expressed that this was helping them. It makes sense to have a reference to the request parameters the request was resolved with in the request cycle. Unless someone can point out an actual and urgent problem with it, in which case we can remove it again.
Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/PageParameters.java incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/PageParameters.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/PageParameters.java?view=diff&rev=546572&r1=546571&r2=546572 ============================================================================== --- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/PageParameters.java (original) +++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/PageParameters.java Tue Jun 12 10:36:36 2007 @@ -38,18 +38,21 @@ */ public final class PageParameters extends ValueMap { - private static final long serialVersionUID = 1L; - /** * Null value for page parameters */ public static final PageParameters NULL = new PageParameters(); + private static final long serialVersionUID = 1L; + /** * Constructor */ public PageParameters() { + super(); + + setOnRequestCycle(); } /** @@ -62,6 +65,8 @@ public PageParameters(final Map parameterMap) { super(parameterMap); + + setOnRequestCycle(); } /** @@ -96,6 +101,8 @@ { super(); + setOnRequestCycle(); + // We can not use ValueMaps constructor as it uses // VariableAssignmentParser which is more suitable for markup // attributes, rather than URL parameters. URL param keys for @@ -130,6 +137,19 @@ put(key, value); } + } + } + + /** + * Set this on request cycle. Request will decide whether to keep it as a + * reference or not. + */ + private void setOnRequestCycle() + { + RequestCycle cycle = RequestCycle.get(); + if (cycle != null) + { + cycle.setPageParameters(this); } } } Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java?view=diff&rev=546572&r1=546571&r2=546572 ============================================================================== --- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java (original) +++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java Tue Jun 12 10:36:36 2007 @@ -243,6 +243,12 @@ /** holds the stack of set [EMAIL PROTECTED] IRequestTarget}, the last set op top. */ private transient final ArrayListStack requestTargets = new ArrayListStack(3); + /** + * Any page parameters. Only set when the request is resolving and the + * parameters are passed into a page. + */ + private PageParameters pageParameters; + /** The session object. */ private Session session; @@ -322,6 +328,18 @@ } /** + * Any set page parameters. Typically only available when a request to a + * bookmarkable page with a [EMAIL PROTECTED] Page#Page(PageParameters)} constructor + * was made. + * + * @return the page parameters or null + */ + public final PageParameters getPageParameters() + { + return this.pageParameters; + } + + /** * Gets the processor for delegated request cycle handling. * * @return the processor for delegated request cycle handling @@ -1204,6 +1222,21 @@ // Clear ThreadLocal reference; makes sense as this object should not be // reused current.set(null); + } + + /** + * Possibly set the page parameters. Only set when the request is resolving + * and the parameters are passed into a page. + * + * @param parameters + * the parameters to set + */ + final void setPageParameters(PageParameters parameters) + { + if (currentStep == RESOLVE_TARGET) + { + this.pageParameters = parameters; + } } /**