You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2014/01/13 14:53:35 UTC
[1/2] git commit: Methods in interface are public implicitly
Updated Branches:
refs/heads/sandbox/preserve-page-parameters-and-execute-listener-interface-after-expiration [created] a1f862629
Methods in interface are public implicitly
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/ce702dcb
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/ce702dcb
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/ce702dcb
Branch: refs/heads/sandbox/preserve-page-parameters-and-execute-listener-interface-after-expiration
Commit: ce702dcb248752ada954c51a66868a4795c468cf
Parents: 5de39f4
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon Jan 13 15:29:56 2014 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon Jan 13 15:29:56 2014 +0200
----------------------------------------------------------------------
.../request/component/IRequestableComponent.java | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/ce702dcb/wicket-core/src/main/java/org/apache/wicket/request/component/IRequestableComponent.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/request/component/IRequestableComponent.java b/wicket-core/src/main/java/org/apache/wicket/request/component/IRequestableComponent.java
index 2566dcc..adc0c9f 100644
--- a/wicket-core/src/main/java/org/apache/wicket/request/component/IRequestableComponent.java
+++ b/wicket-core/src/main/java/org/apache/wicket/request/component/IRequestableComponent.java
@@ -34,21 +34,21 @@ public interface IRequestableComponent
*
* @return Colon separated path to this component in the component hierarchy
*/
- public String getPageRelativePath();
+ String getPageRelativePath();
/**
* Gets the id of this component.
*
* @return The id of this component
*/
- public String getId();
+ String getId();
/**
* Returns page this component belongs to.
*
* @return page instance or <code>null</code>
*/
- public IRequestablePage getPage();
+ IRequestablePage getPage();
/**
* Gets the component at the given path.
@@ -57,7 +57,7 @@ public interface IRequestableComponent
* Path to component
* @return The component at the path
*/
- public IRequestableComponent get(String path);
+ IRequestableComponent get(String path);
/**
* Gets a stable id for the specified behavior. The id remains stable from the point this method
@@ -66,7 +66,7 @@ public interface IRequestableComponent
* @param behavior
* @return a stable id for the specified behavior
*/
- public int getBehaviorId(Behavior behavior);
+ int getBehaviorId(Behavior behavior);
/**
* Gets the behavior for the specified id
@@ -76,7 +76,7 @@ public interface IRequestableComponent
* @throws InvalidBehaviorIdException
* when behavior with this id cannot be found
*/
- public Behavior getBehaviorById(int id);
+ Behavior getBehaviorById(int id);
/**
* Detaches the component.
@@ -104,5 +104,5 @@ public interface IRequestableComponent
*
* </p>
*/
- public void detach();
+ void detach();
}
[2/2] git commit: WICKET-5068 PageParameters missing from re-created
Page WICKET-5070 Optionally execute Callback Behavior on Re-construction
after Expiry WICKET-5001 Recovery of bookmarkable Page after Session Expiry
Posted by mg...@apache.org.
WICKET-5068 PageParameters missing from re-created Page
WICKET-5070 Optionally execute Callback Behavior on Re-construction after Expiry
WICKET-5001 Recovery of bookmarkable Page after Session Expiry
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/a1f86262
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/a1f86262
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/a1f86262
Branch: refs/heads/sandbox/preserve-page-parameters-and-execute-listener-interface-after-expiration
Commit: a1f862629c223b675a31c4ba9fb7e07c27279090
Parents: ce702dc
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon Jan 13 15:52:17 2014 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon Jan 13 15:52:17 2014 +0200
----------------------------------------------------------------------
.../src/main/java/org/apache/wicket/Component.java | 5 +++++
.../handler/ListenerInterfaceRequestHandler.java | 5 ++++-
.../request/mapper/AbstractBookmarkableMapper.java | 6 ------
.../request/component/IRequestableComponent.java | 6 ++++++
.../org/apache/wicket/settings/PageSettings.java | 16 ++++++++++++++++
.../test/java/org/apache/wicket/MockComponent.java | 6 ++++++
.../core/request/mapper/PackageMapperTest.java | 4 ++--
.../markup/html/link/MountedPageLinkTest.java | 4 +---
8 files changed, 40 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/a1f86262/wicket-core/src/main/java/org/apache/wicket/Component.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/Component.java b/wicket-core/src/main/java/org/apache/wicket/Component.java
index e139f99..62d67ac 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Component.java
+++ b/wicket-core/src/main/java/org/apache/wicket/Component.java
@@ -4551,4 +4551,9 @@ public abstract class Component
return getBehaviors(null);
}
+ @Override
+ public boolean canCallListenerInterfaceAfterExpiry()
+ {
+ return getApplication().getPageSettings().canCallListenerInterfaceAfterExpiry();
+ }
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/a1f86262/wicket-core/src/main/java/org/apache/wicket/core/request/handler/ListenerInterfaceRequestHandler.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/ListenerInterfaceRequestHandler.java b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/ListenerInterfaceRequestHandler.java
index 84592d7..76fa264 100644
--- a/wicket-core/src/main/java/org/apache/wicket/core/request/handler/ListenerInterfaceRequestHandler.java
+++ b/wicket-core/src/main/java/org/apache/wicket/core/request/handler/ListenerInterfaceRequestHandler.java
@@ -186,7 +186,10 @@ public class ListenerInterfaceRequestHandler
: RedirectPolicy.AUTO_REDIRECT;
final IPageProvider pageProvider = new PageProvider(page);
- if (freshPage && (isStateless == false || component == null))
+ final boolean canCallListenerInterfaceAfterExpiry = component != null
+ ? component.canCallListenerInterfaceAfterExpiry()
+ : false;
+ if (!canCallListenerInterfaceAfterExpiry && freshPage && (isStateless == false || component == null))
{
// A listener interface is invoked on an expired page.
http://git-wip-us.apache.org/repos/asf/wicket/blob/a1f86262/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java
index 3e86718..5074ac0 100644
--- a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java
+++ b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java
@@ -279,12 +279,6 @@ public abstract class AbstractBookmarkableMapper extends AbstractComponentMapper
if (listenerInterface != null)
{
- if (pageInfo.getPageId() != null)
- {
- // WICKET-4594 - ignore the parsed parameters for stateful pages
- pageParameters = null;
- }
-
PageAndComponentProvider provider = new PageAndComponentProvider(pageInfo.getPageId(),
pageClass, pageParameters, renderCount, componentInfo.getComponentPath());
http://git-wip-us.apache.org/repos/asf/wicket/blob/a1f86262/wicket-core/src/main/java/org/apache/wicket/request/component/IRequestableComponent.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/request/component/IRequestableComponent.java b/wicket-core/src/main/java/org/apache/wicket/request/component/IRequestableComponent.java
index adc0c9f..bea84e5 100644
--- a/wicket-core/src/main/java/org/apache/wicket/request/component/IRequestableComponent.java
+++ b/wicket-core/src/main/java/org/apache/wicket/request/component/IRequestableComponent.java
@@ -105,4 +105,10 @@ public interface IRequestableComponent
* </p>
*/
void detach();
+
+ /**
+ * @return {@code true} if it is save to call the listener interface on this component
+ * when the owner page is freshly created after expiration
+ */
+ boolean canCallListenerInterfaceAfterExpiry();
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/a1f86262/wicket-core/src/main/java/org/apache/wicket/settings/PageSettings.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/settings/PageSettings.java b/wicket-core/src/main/java/org/apache/wicket/settings/PageSettings.java
index 19ddaa0..6096d1d 100644
--- a/wicket-core/src/main/java/org/apache/wicket/settings/PageSettings.java
+++ b/wicket-core/src/main/java/org/apache/wicket/settings/PageSettings.java
@@ -45,6 +45,12 @@ public class PageSettings
private boolean recreateMountedPagesAfterExpiry = true;
/**
+ * determines whether component's listener interface can be executed
+ * when its owner page is freshly created after expiration
+ */
+ private boolean canCallListenerInterfaceAfterExpiry = false;
+
+ /**
* Adds a component resolver to the list.
*
* @param resolver
@@ -115,4 +121,14 @@ public class PageSettings
{
this.recreateMountedPagesAfterExpiry = recreateMountedPagesAfterExpiry;
}
+
+ public boolean canCallListenerInterfaceAfterExpiry()
+ {
+ return canCallListenerInterfaceAfterExpiry;
+ }
+
+ public void setCanCallListenerInterfaceAfterExpiry(boolean canCallListenerInterfaceAfterExpiry)
+ {
+ this.canCallListenerInterfaceAfterExpiry = canCallListenerInterfaceAfterExpiry;
+ }
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/a1f86262/wicket-core/src/test/java/org/apache/wicket/MockComponent.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/MockComponent.java b/wicket-core/src/test/java/org/apache/wicket/MockComponent.java
index aafe6e9..f0046f2 100644
--- a/wicket-core/src/test/java/org/apache/wicket/MockComponent.java
+++ b/wicket-core/src/test/java/org/apache/wicket/MockComponent.java
@@ -137,6 +137,12 @@ public class MockComponent implements IRequestableComponent
{
}
+ @Override
+ public boolean canCallListenerInterfaceAfterExpiry()
+ {
+ return false;
+ }
+
public boolean canCallListenerInterface()
{
return true;
http://git-wip-us.apache.org/repos/asf/wicket/blob/a1f86262/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PackageMapperTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PackageMapperTest.java b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PackageMapperTest.java
index bc2d8c4..2a4635b 100644
--- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PackageMapperTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PackageMapperTest.java
@@ -239,9 +239,9 @@ public class PackageMapperTest extends AbstractMapperTest
assertEquals("foo:bar", h.getComponent().getPageRelativePath());
PageParameters p = h.getPageParameters();
- assertEquals(0, p.getIndexedCount());
+ assertEquals(2, p.getIndexedCount());
- assertEquals(0, p.getNamedKeys().size());
+ assertEquals(2, p.getNamedKeys().size());
}
/**
http://git-wip-us.apache.org/repos/asf/wicket/blob/a1f86262/wicket-core/src/test/java/org/apache/wicket/markup/html/link/MountedPageLinkTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/link/MountedPageLinkTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/link/MountedPageLinkTest.java
index 398638c..0093571 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/link/MountedPageLinkTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/link/MountedPageLinkTest.java
@@ -98,9 +98,7 @@ public class MountedPageLinkTest extends WicketTestCase
url = url.replace("?0", "?3");
tester.executeUrl(url);
- // request parameters to callback urls should be ignored for the re-created page
- // (WICKET-4594)
- tester.assertContainsNot("param=value");
+ tester.assertContains("param=value");
}
/**