]
Norman Richards resolved JBSEAM-1857.
-------------------------------------
Resolution: Done
Thanks for finding this one.
ManagedEntityIdentityInterceptor nulls fields incorrectly in
reentrant calls to conversation scoped components
--------------------------------------------------------------------------------------------------------------
Key: JBSEAM-1857
URL:
http://jira.jboss.com/jira/browse/JBSEAM-1857
Project: JBoss Seam
Issue Type: Bug
Components: Core
Affects Versions: 2.0.0.BETA1
Environment: Seam 2.0.0.BETA1, also jboss-seam-CVS.2007-08-22_00-49-47
Reporter: Kahli Burke
Assigned To: Norman Richards
Priority: Blocker
Fix For: 2.0.0.CR1
Attachments: ManagedEntityIdentityInterceptor.patch.txt
When a conversation component method is called in a reentrant fashion, entity fields are
nulled incorrectly.
The scenario is as follows:
I. Component A method is called
A. entityIdsToRefs(). (reinject entity fields)
B. Method invoked
C. Component A calls method in object B
D. Object B calls method in Component A.
i. entityIdsToRefs()
ii. Method invoked
iii. entityRefsToIds(). (disinject entity fields, set to null, save in conversation)
E. entityRefsToIds(). (fields are already null, so clearWrapper is called, and the
objects are removed from the conversation)
II. Component A method is called, values are null, and cannot be retrieved from the
conversation context (they are in the removals map)
The solution seems to be the same as what was done with the BijectionInterceptor in
JBSEAM-631. I wonder if this also might be related to JBSEAM-1840?
I've attached a patch that fixes the problem for me, please review.
Thanks!
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: