Okay, I am a bit confused how the EJB3 session beans + Seam + Seam managed
entity managers work. I have looked at the examples, and none seem to do this.
What I am doing:
I am creating a registration site for a conference. The registration process is
a wizard invovling 3-x number of steps. On the first step, I am creating a
Registration object and adding it to my Conference object (collections mapped
via one-to-many). The registration has several children objects called
BreakoutSessionRegistration, and the Conference has several children of type
BreakoutSession.
On the beginRegistration:
@Begin(join=true)
| @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
| public String beginRegistration()
| {
| this.registration = new Registration();
| this.registration.setConference(conference);
| this.conference.getRegistrations().add(registration);
| for (BreakoutSession bs : this.conference.getBreakoutSessions())
| {
| BreakoutSessionRegistration bsr = new
BreakoutSessionRegistration();
| bsr.setRegistration(registration);
| bsr.setSession(bs);
| bsr.setNumberOfAttendees((short)0);
|
bsr.getRegistration().getBreakoutRegistrations().add(bsr);
| bsr.getSession().getRegistrations().add(bsr);
| }
|
| return "beginRegistration";
| }
|
So now, I want the user to continue to edit this registration object and
breakout sessions over several pages of a wizard.
I also want to have a cancel button:
| @End
| public String cancel()
| {
| // what to do here?
| return "canceled";
| }
|
I don't want anything committed to the database until my save() method is
called. I also want the cancel button to undo its changes. In this same
"action" class, I have a list of all the registrations for the current user and
a list of all the conferences. I get this list before I ever being a
conversation.
My beginRegistration method starts the conversation. The problem is that the
conversation is dirty and therefore so is the list of my conversations. When
the user cancels, I want to restore the "virgin" state of the conferences and
registrations.
Is this possible? I tried entityManager.refresh(Object) on the conference, but
it did not like the fact that the registration was not in the database (null
identifier error).
I'm really having a hard time with getting a good grasp of how to use the
extended persistence manager, long running conversations and the ability to
cancel or save.
Thanks in advance, I'm really at a loss.
Andrew
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3938048#3938048
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3938048
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user