This is an automated email from the ASF dual-hosted git repository.
svenmeier pushed a commit to branch WICKET-6563
in repository https://gitbox.apache.org/repos/asf/wicket.git
The following commit(s) were added to refs/heads/WICKET-6563 by this push:
new e47c3be WICKET-6563 correct MockPageStore
e47c3be is described below
commit e47c3be5883f3ade700c1a69bf2f9600530a9f6d
Author: Sven Meier <[email protected]>
AuthorDate: Mon Jan 28 12:35:35 2019 +0100
WICKET-6563 correct MockPageStore
and allow extending AbstractPersistentPageStore without implementing
IPersistentPageStore
---
.../src/main/java/org/apache/wicket/mock/MockPageStore.java | 11 +++++++++--
.../apache/wicket/pageStore/AbstractPersistentPageStore.java | 3 +--
.../main/java/org/apache/wicket/pageStore/DiskPageStore.java | 3 +--
.../main/java/org/apache/wicket/pageStore/FilePageStore.java | 2 +-
.../java/org/apache/wicket/pageStore/InMemoryPageStore.java | 2 +-
5 files changed, 13 insertions(+), 8 deletions(-)
diff --git
a/wicket-core/src/main/java/org/apache/wicket/mock/MockPageStore.java
b/wicket-core/src/main/java/org/apache/wicket/mock/MockPageStore.java
index 449c3e7..ec9c52c 100644
--- a/wicket-core/src/main/java/org/apache/wicket/mock/MockPageStore.java
+++ b/wicket-core/src/main/java/org/apache/wicket/mock/MockPageStore.java
@@ -49,7 +49,7 @@ public class MockPageStore implements IPageStore
public IManageablePage getPage(IPageContext context, int id)
{
for (IManageablePage page : pages) {
- if (page .getPageId() == id) {
+ if (page.getPageId() == id) {
return page;
}
}
@@ -59,7 +59,12 @@ public class MockPageStore implements IPageStore
@Override
public void removePage(IPageContext context, final IManageablePage page)
{
- pages.remove(page);
+ for (IManageablePage candidate : pages) {
+ if (candidate.getPageId() == page.getPageId()) {
+ pages.remove(candidate);
+ return;
+ }
+ }
}
@Override
@@ -77,6 +82,8 @@ public class MockPageStore implements IPageStore
@Override
public void addPage(IPageContext context, IManageablePage page)
{
+ removePage(context, page);
+
pages.addLast(page);
}
}
\ No newline at end of file
diff --git
a/wicket-core/src/main/java/org/apache/wicket/pageStore/AbstractPersistentPageStore.java
b/wicket-core/src/main/java/org/apache/wicket/pageStore/AbstractPersistentPageStore.java
index 918e8c1..de35467 100644
---
a/wicket-core/src/main/java/org/apache/wicket/pageStore/AbstractPersistentPageStore.java
+++
b/wicket-core/src/main/java/org/apache/wicket/pageStore/AbstractPersistentPageStore.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
*
* @see #getSessionIdentifier(IPageContext, boolean)
*/
-public abstract class AbstractPersistentPageStore implements
IPersistentPageStore
+public abstract class AbstractPersistentPageStore implements IPageStore
{
private static final String KEY = "wicket:persistentPageStore";
@@ -219,7 +219,6 @@ public abstract class AbstractPersistentPageStore
implements IPersistentPageStor
}
- @Override
public String getSessionIdentifier(IPageContext context)
{
return getSessionIdentifier(context, true);
diff --git
a/wicket-core/src/main/java/org/apache/wicket/pageStore/DiskPageStore.java
b/wicket-core/src/main/java/org/apache/wicket/pageStore/DiskPageStore.java
index 3fdaa55..f291dd2 100644
--- a/wicket-core/src/main/java/org/apache/wicket/pageStore/DiskPageStore.java
+++ b/wicket-core/src/main/java/org/apache/wicket/pageStore/DiskPageStore.java
@@ -47,7 +47,6 @@ import org.apache.wicket.util.file.Files;
import org.apache.wicket.util.io.IOUtils;
import org.apache.wicket.util.lang.Args;
import org.apache.wicket.util.lang.Bytes;
-import org.apache.wicket.util.lang.Classes;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -64,7 +63,7 @@ import org.slf4j.LoggerFactory;
* This leads to pages with identical id superfluously kept in the file, while
older pages are prematurely expelled.
* Any following request to these older pages will then fail with {@link
PageExpiredException}.
*/
-public class DiskPageStore extends AbstractPersistentPageStore
+public class DiskPageStore extends AbstractPersistentPageStore implements
IPersistentPageStore
{
private static final Logger log =
LoggerFactory.getLogger(DiskPageStore.class);
diff --git
a/wicket-core/src/main/java/org/apache/wicket/pageStore/FilePageStore.java
b/wicket-core/src/main/java/org/apache/wicket/pageStore/FilePageStore.java
index 8ebd85c..5c5390a 100644
--- a/wicket-core/src/main/java/org/apache/wicket/pageStore/FilePageStore.java
+++ b/wicket-core/src/main/java/org/apache/wicket/pageStore/FilePageStore.java
@@ -52,7 +52,7 @@ import org.slf4j.LoggerFactory;
* in its own file. This improves on a {@link DiskPageStore disadvantage of
DiskPageStore} surfacing
* with alternating Ajax requests from different browser tabs.
*/
-public class FilePageStore extends AbstractPersistentPageStore
+public class FilePageStore extends AbstractPersistentPageStore implements
IPersistentPageStore
{
private static final String ATTRIBUTE_PAGE_TYPE =
"user.wicket_page_type";
diff --git
a/wicket-core/src/main/java/org/apache/wicket/pageStore/InMemoryPageStore.java
b/wicket-core/src/main/java/org/apache/wicket/pageStore/InMemoryPageStore.java
index 9ea6476..1de3214 100644
---
a/wicket-core/src/main/java/org/apache/wicket/pageStore/InMemoryPageStore.java
+++
b/wicket-core/src/main/java/org/apache/wicket/pageStore/InMemoryPageStore.java
@@ -38,7 +38,7 @@ import org.apache.wicket.util.lang.Classes;
/**
* A storage of pages in memory.
*/
-public class InMemoryPageStore extends AbstractPersistentPageStore
+public class InMemoryPageStore extends AbstractPersistentPageStore implements
IPersistentPageStore
{
private final Map<String, MemoryData> datas = new ConcurrentHashMap<>();