[
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