It seems to work just as well by using the conversation scope, with less code
and, of course, a smaller footprint.
| package org.domain.myProject.session;
|
| import static javax.persistence.PersistenceContextType.EXTENDED;
|
| import java.util.List;
|
| import javax.ejb.Remove;
| import javax.ejb.Stateful;
| import javax.persistence.EntityManager;
| import javax.persistence.PersistenceContext;
|
| import org.domain.myProject.entity.User;
| import org.domain.myProject.session.local.EditUserLocal;
| import org.jboss.seam.ScopeType;
| import org.jboss.seam.annotations.Begin;
| import org.jboss.seam.annotations.Destroy;
| import org.jboss.seam.annotations.End;
| import org.jboss.seam.annotations.Factory;
| import org.jboss.seam.annotations.In;
| import org.jboss.seam.annotations.Logger;
| import org.jboss.seam.annotations.Name;
| import org.jboss.seam.annotations.Out;
| import org.jboss.seam.annotations.Scope;
| import org.jboss.seam.annotations.datamodel.DataModel;
| import org.jboss.seam.annotations.datamodel.DataModelSelection;
| import org.jboss.seam.faces.FacesMessages;
| import org.jboss.seam.log.Log;
|
| @Stateful
| @Name("editUser")
| @Scope(ScopeType.CONVERSATION)
| public class EditUserForm implements EditUserLocal {
|
| @Logger
| private Log log;
|
| @In
| FacesMessages facesMessages;
|
| @PersistenceContext(type = EXTENDED)
| private EntityManager em;
|
| @DataModelSelection
| @Out(required=false)
| private User user;
|
| @DataModel
| private List<User> users;
|
| @SuppressWarnings("unchecked")
| @Factory("users")
| @Begin
| public void findUsers(){
| log.info("*********************************************
Finding the users");
| if (users == null)
| log.info("users is null");
| else if (users.size() == 0)
| log.info("users has a size of zero");
| else
| log.info("Strange, because users has " +users.size() +
" entries");
|
| users = em.createQuery("from User u").getResultList();
| }
|
| public void remove(){
| log.info("Deleting " +user.getName());
| em.remove(user);
| users.remove(user);
| }
|
| @End
| public void clear(){
| //We're clearing user since it is being outjected and would
otherwise populate the entry page.
| user = null;
| }
|
| public void update() {
| log.info("Updating " + user.getId());
| em.persist(user);
| }
|
| @Destroy @Remove
| public void destroy() {}
| }
|
Using it like this though, doesn't require the ScopeType.PAGE at all, which was
what I originally wanted.
Is this kind of situation just not applicable to using the PAGE scope? If not,
when would we use it?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4121447#4121447
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4121447
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user