Hi Sven, On Mon, Jan 28, 2019 at 1:48 PM <[email protected]> wrote:
> 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 > Why this change has been made ? Now the name "AbstractPersistentPageStore" is probably not good, because it is not "persistent" anymore. > { > 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<>(); > >
