diff --git a/datastores-parent/datastore-common/src/main/java/org/wicketstuff/datastores/common/SessionQuotaManagingDataStore.java b/datastores-parent/datastore-common/src/main/java/org/wicketstuff/datastores/common/SessionQuotaManagingDataStore.java index 222da17dd5..4b29a2e040 100644 --- a/datastores-parent/datastore-common/src/main/java/org/wicketstuff/datastores/common/SessionQuotaManagingDataStore.java +++ b/datastores-parent/datastore-common/src/main/java/org/wicketstuff/datastores/common/SessionQuotaManagingDataStore.java @@ -66,14 +66,7 @@ public SessionQuotaManagingDataStore(IPageStore delegate, Bytes maxBytes) private SessionData getSessionData(IPageContext context, boolean create) { - return context.getSessionData(KEY, () -> { - if (create) - { - return dataCreator.get(); - } - - return null; - }); + return context.getSessionData(KEY, create ? dataCreator : null); } @Override diff --git a/datastores-parent/datastore-tests/src/main/java/org/wicketstuff/datastores/common/SessionQuotaManagingDataStoreTest.java b/datastores-parent/datastore-tests/src/main/java/org/wicketstuff/datastores/common/SessionQuotaManagingDataStoreTest.java index 35b5eaa85e..3027e696df 100644 --- a/datastores-parent/datastore-tests/src/main/java/org/wicketstuff/datastores/common/SessionQuotaManagingDataStoreTest.java +++ b/datastores-parent/datastore-tests/src/main/java/org/wicketstuff/datastores/common/SessionQuotaManagingDataStoreTest.java @@ -1,10 +1,13 @@ package org.wicketstuff.datastores.common; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; +import org.apache.wicket.MetaDataKey; import org.apache.wicket.mock.MockPageContext; import org.apache.wicket.mock.MockPageStore; import org.apache.wicket.pageStore.IPageContext; @@ -97,7 +100,19 @@ public void removePage() { } @Test - void addPageDoesNotRemovePageFromDelegate() { + public void removePageShouldNotSupplyDefaultValueWhenGettingSessionData() { + MockPageStore delegate = new MockPageStore(); + + IPageContext context = mock(IPageContext.class); + + IPageStore quotaStore = new SessionQuotaManagingDataStore(delegate, Bytes.bytes(page1.getData().length + page3.getData().length)); + quotaStore.removePage(context, page1); + + verify(context).getSessionData(any(MetaDataKey.class), eq(null)); + } + + @Test + void addPageDoesNotRemovePageFromDelegate() { IPageStore delegate = mock(IPageStore.class); IPageContext context = new MockPageContext();