Jan Cerny created WICKET-6380:
---------------------------------
Summary: AbstractWebSocketProcessor.onClose() rewrites possibly
wider processed and stored touchedPages to only Page itself
Key: WICKET-6380
URL: https://issues.apache.org/jira/browse/WICKET-6380
Project: Wicket
Issue Type: Bug
Components: wicket-native-websocket
Affects Versions: 7.7.0, 8.0.0
Environment: Java 8, Tomcat 8.5.6, Firefox 53.0.2, Wicket 7.7.0 (most
probably 8.0.0 affected as well by seeing just code)
Reporter: Jan Cerny
Assignee: Martin Grigorov
*scenario:*
* When setResponsePage(new NewResponsePage(customParams)) is called e.g. within
AjaxLink.onClick() on a Page
* and default RenderStrategy.REDIRECT_TO_BUFFER is used
* PersistentRequestAdapter.storeTouchedPages() stores (Page and
NewResponsePage) to pageStore and as setSessionAttribute()
* unfortunatelly AbstractWebSocketProcessor.onClose() touch and stores only a
Page (on the same session attribute)
*problem:*
A new request on NewResponsePage always instantiate NewResponsePage (once we
using custom NoOpPageStore implements IPageStore)
*solutions:*
# restrict ourselves to default constructor with PageParams
#* BUT when trigerring AjaxLink.onClick() on NewResponsePage newly instantiated
(button) component within Border could not be found (because of queueToBorder
feature)
# use 1 + RenderStrategy.REDIRECT_TO_RENDER
#* solves the previous BUT
#* less performing (and a lot of code changes we wanna avoid)
# use DefaultPageManagerProvider
#* less performing (we wanna avoid)
# swallow onClose broadcast
#* a bit hard with wicket-native-websocket-javax package
#* *could there be some support for that?*
# *some other easier solution - any idea?*
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)