[
https://issues.apache.org/jira/browse/WICKET-6563?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16832797#comment-16832797
]
Sven Meier commented on WICKET-6563:
------------------------------------
I've had to adjust some things:
* IPageManager#untouchPage() is back now - for symmetry I renamed #addPage()
back to #touchPage()
* InSessionPageStore supports two usages now, as a cache and a persistent
store - wicketstuff-gae-initializer uses both simultaneously
The second point made me aware of a limitation I wasn't aware before:
A page store implementation can be used once in chain of stores only, if it
stores data by MetaData in the session. Thus InSessionPageStore uses two
different keys dependent on whether it is used as cache in front of a delegate
or as a persistent store.
> Rework page and data storage
> ----------------------------
>
> Key: WICKET-6563
> URL: https://issues.apache.org/jira/browse/WICKET-6563
> Project: Wicket
> Issue Type: Improvement
> Components: wicket
> Affects Versions: 9.0.0-M1
> Reporter: Sven Meier
> Assignee: Sven Meier
> Priority: Minor
> Fix For: 9.0.0-M1
>
>
> IPageManager, IPageStore and IDataStore are riddled with complicated and
> error-prone code aiming to do one simple thing: keeping pages around.
> There are multiple problems with the current implementation:
> * PageStoreManger does too muchÂ
> ** it handles request and session storage
> ** it contains workarounds for DiskDataStore, when the sessionId changes
> * IPageStore/AbstractPageStore
> ** has no access to IPageManagerContext
> ** juggles with byte[], serialization and conversion
> * IDataStore introduces an unncecessary third layer into the API
> Additional or specialized stores are difficult to implement.
> We should rework that.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)