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
> >
>