[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-1814) DataModel wrapped data is set to null by ManagedEntityIdentityInterceptor

Matt Drees (JIRA) jira-events at lists.jboss.org
Thu Sep 27 02:10:40 EDT 2007

    [ http://jira.jboss.com/jira/browse/JBSEAM-1814?page=comments#action_12378935 ] 
Matt Drees commented on JBSEAM-1814:

By the way, I think nulling the wrappedData of any member DataModels in a conversational component hurts more than it helps.  Sure, the wrapped data gets reset when you invoke a method on the owning component, but that means *only* the owning component can use it.  If anyone asks the owning component for a reference to the member DataModel, they get an empty DataModel.  This really defeats the purpose of a DataModel, as I see it.

Let me know if my comment is unclear.

> DataModel wrapped data is set to null by ManagedEntityIdentityInterceptor
> -------------------------------------------------------------------------
>                 Key: JBSEAM-1814
>                 URL: http://jira.jboss.com/jira/browse/JBSEAM-1814
>             Project: JBoss Seam
>          Issue Type: Bug
>    Affects Versions: 2.0.0.BETA1
>         Environment: seam cvs (20070816.1709)
>            Reporter: Matt Drees
>         Assigned To: Gavin King
>            Priority: Minor
> The following test fails:
> @Name("dataModelComponent")
> @Scope(ScopeType.CONVERSATION)
> public class DataModelComponent extends EntityQuery {
>    @Override
>    public String getEjbql() {
>       return "from java.lang.Object o";
>    }
> }
> public class DataModelComponentTest extends SeamTest {
>    @Test
>    public void test() throws Exception {
>       new FacesRequest() {
>          @Override
>          protected void renderResponse() throws Exception {
>             DataModel model = (DataModel) getValue("#{dataModelComponent.dataModel}");
>             assert model.getWrappedData() != null;
>          }
>       }.run();
>    }
> }
> Because the component is conversation-scoped, a ManagedEntityIdentityInterceptor is attached, which nulls the wrapped List after getDataModel() is called.
> In the referenced forum, Gavin indicated he hadn't decided whether this should be expected behavior or not, and asked for a jira issue.  
> If it is expected behavior (I hope not), I think either EntityQuery should not have a getDataModel() attribute, or it should be documented and/or programmatically enforced that EntityQuerys should not be conversation-scoped.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the seam-issues mailing list