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

Matt Drees (JIRA) jira-events at lists.jboss.org
Fri Aug 17 19:18:00 EDT 2007


     [ http://jira.jboss.com/jira/browse/JBSEAM-1814?page=all ]

Matt Drees updated JBSEAM-1814:
-------------------------------

    Description: 
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.

  was:
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.


Better formatting of code.

> 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
>            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