You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jc...@apache.org on 2007/10/30 21:16:11 UTC
svn commit: r590423 - in
/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request: ./
target/coding/ target/component/
Author: jcompagner
Date: Tue Oct 30 13:16:10 2007
New Revision: 590423
URL: http://svn.apache.org/viewvc?rev=590423&view=rev
Log:
extra fix for stateless urls on not stateless pages.
Now the bookmarkablelistenerinterfacerequest will try to resolve the page from the session before creating a new one
Modified:
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/BookmarkablePageRequestTargetUrlCodingStrategy.java
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/PackageRequestTargetUrlCodingStrategy.java
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkableListenerInterfaceRequestTarget.java
Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java?rev=590423&r1=590422&r2=590423&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java Tue Oct 30 13:16:10 2007
@@ -238,7 +238,8 @@
{
return new BookmarkableListenerInterfaceRequestTarget(requestParameters
.getPageMapName(), pageClass, params, requestParameters
- .getComponentPath(), requestParameters.getInterfaceName());
+ .getComponentPath(), requestParameters.getInterfaceName(),
+ requestParameters.getVersionNumber());
}
}
else
Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/BookmarkablePageRequestTargetUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/BookmarkablePageRequestTargetUrlCodingStrategy.java?rev=590423&r1=590422&r2=590423&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/BookmarkablePageRequestTargetUrlCodingStrategy.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/BookmarkablePageRequestTargetUrlCodingStrategy.java Tue Oct 30 13:16:10 2007
@@ -62,7 +62,7 @@
throw new IllegalArgumentException("Argument bookmarkablePageClass must be not null");
}
- this.bookmarkablePageClassRef = new WeakReference(bookmarkablePageClass);
+ bookmarkablePageClassRef = new WeakReference(bookmarkablePageClass);
this.pageMapName = pageMapName;
}
@@ -97,7 +97,8 @@
WebRequestCodingStrategy.addInterfaceParameters(interfaceParameter, requestParameters);
return new BookmarkableListenerInterfaceRequestTarget(pageMapName,
(Class)bookmarkablePageClassRef.get(), parameters, requestParameters
- .getComponentPath(), requestParameters.getInterfaceName());
+ .getComponentPath(), requestParameters.getInterfaceName(),
+ requestParameters.getVersionNumber());
}
else
{
@@ -145,13 +146,13 @@
IBookmarkablePageRequestTarget target = (IBookmarkablePageRequestTarget)requestTarget;
if (((Class)bookmarkablePageClassRef.get()).equals(target.getPageClass()))
{
- if (this.pageMapName == null)
+ if (pageMapName == null)
{
return true;
}
else
{
- return this.pageMapName.equals(target.getPageMapName());
+ return pageMapName.equals(target.getPageMapName());
}
}
}
Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java?rev=590423&r1=590422&r2=590423&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java Tue Oct 30 13:16:10 2007
@@ -186,7 +186,7 @@
WebRequestCodingStrategy.addInterfaceParameters(interfaceParameter, requestParameters);
return new BookmarkableListenerInterfaceRequestTarget(pageMapName, (Class)pageClassRef
.get(), parameters, requestParameters.getComponentPath(), requestParameters
- .getInterfaceName());
+ .getInterfaceName(), requestParameters.getVersionNumber());
}
else if (pageId == null)
{
Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/PackageRequestTargetUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/PackageRequestTargetUrlCodingStrategy.java?rev=590423&r1=590422&r2=590423&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/PackageRequestTargetUrlCodingStrategy.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/PackageRequestTargetUrlCodingStrategy.java Tue Oct 30 13:16:10 2007
@@ -118,7 +118,7 @@
WebRequestCodingStrategy.addInterfaceParameters(interfaceParameter, requestParameters);
return new BookmarkableListenerInterfaceRequestTarget(pageMapName,
bookmarkablePageClass, parameters, requestParameters.getComponentPath(),
- requestParameters.getInterfaceName());
+ requestParameters.getInterfaceName(), requestParameters.getVersionNumber());
}
else
{
Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java?rev=590423&r1=590422&r2=590423&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java Tue Oct 30 13:16:10 2007
@@ -153,7 +153,8 @@
{
return new BookmarkableListenerInterfaceRequestTarget(pageMapName,
(Class)bookmarkablePageClassRef.get(), parameters, requestParameters
- .getComponentPath(), requestParameters.getInterfaceName());
+ .getComponentPath(), requestParameters.getInterfaceName(),
+ requestParameters.getVersionNumber());
}
else
{
Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkableListenerInterfaceRequestTarget.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkableListenerInterfaceRequestTarget.java?rev=590423&r1=590422&r2=590423&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkableListenerInterfaceRequestTarget.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkableListenerInterfaceRequestTarget.java Tue Oct 30 13:16:10 2007
@@ -21,6 +21,7 @@
import org.apache.wicket.PageParameters;
import org.apache.wicket.RequestCycle;
import org.apache.wicket.RequestListenerInterface;
+import org.apache.wicket.Session;
import org.apache.wicket.WicketRuntimeException;
import org.apache.wicket.protocol.http.request.WebRequestCodingStrategy;
import org.apache.wicket.util.string.AppendingStringBuffer;
@@ -36,6 +37,7 @@
{
private final String componentPath;
private final String interfaceName;
+ private final int versionNumber;
/**
* This constructor is called when a stateless link is clicked on but the page wasn't found in
@@ -47,13 +49,16 @@
* @param pageParameters
* @param componentPath
* @param interfaceName
+ * @param versionNumber
*/
public BookmarkableListenerInterfaceRequestTarget(String pageMapName, Class pageClass,
- PageParameters pageParameters, String componentPath, String interfaceName)
+ PageParameters pageParameters, String componentPath, String interfaceName,
+ int versionNumber)
{
super(pageMapName, pageClass, pageParameters);
this.componentPath = componentPath;
this.interfaceName = interfaceName;
+ this.versionNumber = versionNumber;
}
/**
@@ -73,7 +78,7 @@
RequestListenerInterface listenerInterface)
{
this(pageMapName, pageClass, pageParameters, component.getPath(), listenerInterface
- .getName());
+ .getName(), component.getPage().getCurrentVersionNumber());
int version = component.getPage().getCurrentVersionNumber();
@@ -107,7 +112,15 @@
public void processEvents(RequestCycle requestCycle)
{
- Page page = getPage(requestCycle);
+ Page page = getPage();
+ if (page == null)
+ {
+ page = Session.get().getPage(getPageMapName(), componentPath, -1);
+ if (page == null)
+ {
+ page = getPage(requestCycle);
+ }
+ }
final String pageRelativeComponentPath = Strings.afterFirstPathComponent(componentPath,
Component.PATH_SEPARATOR);
Component component = page.get(pageRelativeComponentPath);