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<>();

Reply via email to