[ 
https://issues.apache.org/jira/browse/WICKET-6182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15358678#comment-15358678
 ] 

Ravi Knox edited comment on WICKET-6182 at 7/1/16 9:58 AM:
-----------------------------------------------------------

-Works!-
-Thank you.-

Sorry, but I have to correct myself.

The way I use it, it still does not work.
In a nutshell that's what we try to archive:
Save a cookie on a client browser under the path of the current page. 
The page does have a *mandatory named parameter*!
If the Session expires. The SessionExpiredPage will read the cookie and start a 
redirect.

What happens now is that by the time the AbstractBookmarkableMapper wants to 
generate the URL of the component, before including the existent parameters, 
it does an getRecreateMountedPagesAfterExpiry() check (see 
https://github.com/apache/wicket/blob/f71a2d33c2ff9dbb669066a3dfc7b58229824b0e/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java#L479).
 which answers false and the existing parameters are not added to the new 
UrlInfo object.

That in return will lead to a failure when calling setPlaceholders(copy, url) 
(see 
https://github.com/apache/wicket/blob/f71a2d33c2ff9dbb669066a3dfc7b58229824b0e/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/MountedMapper.java#L206)
 and results in a null url return value, that lets wicket default to the 
generic URL we had before.

Edit:
Better github urls


was (Author: ravi knox):
-Works!-
-Thank you.-

Sorry, but I have to correct myself.

The way I use it, it still does not work.
In a nutshell that's what we try to archive:
Save a cookie on a client browser under the path of the current page. 
The page does have a *mandatory named parameter*!
If the Session expires. The SessionExpiredPage will read the cookie and start a 
redirect.

What happens now is that by the time the AbstractBookmarkableMapper wants to 
generate the URL of the component, before including the existent parameters, 
it does an getRecreateMountedPagesAfterExpiry() check (see 
https://github.com/apache/wicket/blob/wicket-7.x/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java#L479).
 which answers false and the existing parameters are not added to the new 
UrlInfo object.

That in return will lead to a failure when calling setPlaceholders(copy, url) 
(see 
https://github.com/apache/wicket/blob/wicket-7.x/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/MountedMapper.java#L206)
 and results in a null url return value, that lets wicket default to the 
generic URL we had before.

> Remove recreateBookmarkablePagesAfterExpiry check in 
> Component#createRequestHandler
> -----------------------------------------------------------------------------------
>
>                 Key: WICKET-6182
>                 URL: https://issues.apache.org/jira/browse/WICKET-6182
>             Project: Wicket
>          Issue Type: Improvement
>          Components: wicket
>    Affects Versions: 7.2.0
>            Reporter: Ravi Knox
>            Assignee: Martin Grigorov
>             Fix For: 8.0.0-M1, 7.4.0
>
>
> When setting setRecreateBookmarkablePagesAfterExpiry(false) wicket does not 
> use the BookmarkableListenerInterfaceRequestHandler in 
> Component#createRequestHandler() for mounted Pages.
> That makes it impossible to read cookies that have the mounted page as its 
> path because the Listener URL points to 
> http://some-url.com/wicket/page?1-1IBehaviorListener... instead of 
> http://some-url.com/myPage/?1-1IBehaviorListener...
> See also
> http://apache-wicket.1842946.n4.nabble.com/Implications-of-setRecreateBookmarkablePagesAfterExpiry-td4674899.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to