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

Dan Allen (JIRA) jira-events at lists.jboss.org
Thu Dec 4 03:19:37 EST 2008


    [ https://jira.jboss.org/jira/browse/JBSEAM-1814?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12441074#action_12441074 ] 

Dan Allen commented on JBSEAM-1814:
-----------------------------------

I have already implemented some of the solutions suggested in this issue. First, the MEI is disabled by default and can be activated by the distributable property on <core:init>. I also make isRef() smarter so that it is really only working on entity instances and nothing else (it still works with JSF data models I think).

Yes, MEI is needed if you have SFSB that can passivate or if you are using HTTP session replication. I have written a new chapter in the reference guide that covers these two topics. It is definitely a work in progress because we are still trying to rethink this interceptor anyway.

This issue is going to require more investigation, so we have to move resolution of it to 2.1.2 (though you get the changes I already mentioned).

> DataModel wrapped data is set to null by ManagedEntityIdentityInterceptor
> -------------------------------------------------------------------------
>
>                 Key: JBSEAM-1814
>                 URL: https://jira.jboss.org/jira/browse/JBSEAM-1814
>             Project: Seam
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0.0.BETA1
>         Environment: seam cvs (20070816.1709)
>            Reporter: Matt Drees
>            Assignee: Dan Allen
>            Priority: Minor
>             Fix For: 2.1.2.CR1
>
>
> 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: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the seam-issues mailing list