[jboss-user] [JBoss Seam] - Re: Does DataModelSelection work in a Stateless Session Bean
twocoasttb
do-not-reply at jboss.com
Wed Jan 31 20:30:19 EST 2007
Ok. I understand why PAGE scope is appropriate, and recognize why it's the right scope for my finder bean. A conversation isn't required until an item in the list is selected for editing. A SFSB can't have PAGE scope (right?), so I assume the DataModel should. So my finder bean now looks like this:
@SuppressWarnings("serial")
| @Stateful
| @Name("organizationFinder")
| public class OrganizationFinderBean implements OrganizationFinder, Serializable {
|
| @PersistenceContext
| private EntityManager em;
|
| @In (required=false)
| @Out (required=false)
| private Organization organization;
|
| @DataModel(scope=ScopeType.PAGE)
| private List<Organization> organizations;
|
| @DataModelSelection
| Organization selectedOrganization;
|
| @Logger
| private Log log;
|
| @SuppressWarnings("unchecked")
| @Factory
| public void getOrganizations() {
| organizations = em.createQuery("select o from Organization o order by o.name")
| .getResultList();
| }
|
| @Begin
| public String newOrganization() {
| organization = new Organization();
| return "newOrganization";
| }
|
| @Begin
| public String selectOrganization() {
| organization = em.merge(selectedOrganization);
| return "editOrganization";
| }
|
| @Remove @Destroy
| public void destroy() {}
| }
and my dataTable looks like this:
<h:dataTable id="organizations" value="#{organizations}" var="o">
| <h:column>
| <f:facet name="header">Prefix</f:facet>
| #{o.prefix}
| </h:column>
| <h:column>
| <f:facet name="header">Name</f:facet>
| #{o.name}
| </h:column>
| <h:column>
| <f:facet name="header">Legal Name</f:facet>
| #{o.legalName}
| </h:column>
| <h:column>
| <f:facet name="header">Action</f:facet>
| <s:link id="editOrganization" value="Edit"
| action="#{organizationFinder.selectOrganization}"/>
| </h:column>
| </h:dataTable>
When I select an item in the list I get the following exception:
javax.ejb.EJBException: java.lang.IllegalArgumentException: attempt to create merge event with null entity
Based on a post I just saw, I think I'll try injecting the DataModelSelection directly into my edit bean. It seems though, based on prior comments and reading the docs, that the above should work. I assume I'm missing something stupid... Any ideas will be much appreciated.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4009154#4009154
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4009154
More information about the jboss-user
mailing list