[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-1814) DataModel wrapped data is set to null by ManagedEntityIdentityInterceptor
Alex Savitsky (JIRA)
jira-events at lists.jboss.org
Fri Jun 20 10:19:37 EDT 2008
[ http://jira.jboss.com/jira/browse/JBSEAM-1814?page=comments#action_12418184 ]
Alex Savitsky commented on JBSEAM-1814:
---------------------------------------
An updated isRef version - the one I currently use in my projects:
if (value instanceof Collection) {
Collection c = (Collection) value;
if (!c.isEmpty()) {
Iterator i = c.iterator();
while (i.hasNext()) {
Object o = i.next();
if (o == null) {
continue;
}
return Seam.getEntityClass(o.getClass()) != null;
}
}
return false;
}
return Seam.getEntityClass(value.getClass()) != null;
Though it might be a good idea to limit the # of checked elements to some reasonable amount, for performance reasons
> DataModel wrapped data is set to null by ManagedEntityIdentityInterceptor
> -------------------------------------------------------------------------
>
> Key: JBSEAM-1814
> URL: http://jira.jboss.com/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
> Assigned To: Norman Richards
> Priority: Minor
> Fix For: The future
>
>
> 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