Hi Rafael, Please create a quickstart and attach it to Jira or upload it somewhere so we can debug it. I'm sure you leak Page instances and this causes the problem. As I already suggested - you should use PageReference to get to the outer page(s).
On Mon, May 27, 2013 at 10:50 PM, Rafael Barrera Oro <[email protected]>wrote: > Hello Martin! Thanks for the quick reply! > > Indeed, i was aware that after a serialization/deserialization the JVM > instance will not be the same, however, my problem is that attribute values > are not maintained (or at least the right objects are not being used) > > i found out the following by debugging > > //the following object has certain java object id > secondPopup = new SecondPopup("id"); > > secondPopup.setWindowClosedCallback(new WindowClosedCallback() { > private static final long serialVersionUID = 1L; > > public void onClose(AjaxRequestTarget target) { > SecondPopup secondPopup; > //here the id changes, and from here on all the pages and popups are > copies from the ones created before > secondPopup = (SecondPopup)getPage().get("secondPopup"); > > if(secondPopup.isOk()) > FirstPopupPage.this.confirm(target); > } > }); > > because of this, all changes made from this event handler are invisible > > Does it ring a bell for anyone? if you find confusing (i know it is) please > tell me and i'll try to explain myself better > > thanks in advance! > Rafael > > > > > 2013/5/27 Martin Grigorov <[email protected]> > > > Hi, > > > > I guess you already know that Wicket serializes the pages at the end of > the > > request cycle. > > After deserialization the object id is no more the same as the one before > > serialization. > > You should not rely on "same JVM instance". > > > > Check Wicket-Examples demo for ModalWindow. It uses PageReference to get > > access to the page instance that opened the ModalWindow. > > > > > > > > On Mon, May 27, 2013 at 11:16 AM, Rafael Barrera Oro <[email protected] > > >wrote: > > > > > Hello! > > > > > > I have such a weird problem i dont think i will be able to explain it > in > > > one shot, i'll try anyway. > > > > > > The thing is have a page (a class that descends from WebPage) that > uses a > > > popup (using a class that descends from ModalWindow), and the popup > > itself > > > shows a new popup (again, by using a ModalWindow descendant class). The > > > (very weird) problem is that after the second popup is shown (the popup > > > within the popup, that is) the objects the execution path seems to > return > > > to are different! > > > > > > The flow is something like the following: > > > > > > page (java object id A) opens popup -> popup (java object id B) opens > > popup > > > -> popup asks for yes or no (either way its closed) > > > > > > by debbuging i see that after this, the java object id of the first > popup > > > is not B anymore! > > > > > > The thing that i find most weird is that this only happens if the > second > > > popup is opened, could the opening or closing of the popup cause > > something > > > like this? > > > > > > I know it sounds weird, it does not make any sense and its very much > more > > > likely to be a mistake unseen by me than a bug in the JDK :P but i > wanted > > > to ask anyway, in case someone has seen or heard about something that > > > resembles this (even if it does very vaguely) > > > > > > Thanks in advance! > > > Rafael > > > > > >
