[
http://issues.apache.org/jira/browse/JDO-414?page=comments#action_12449826 ]
Michelle Caisse commented on JDO-414:
-------------------------------------
Oops. What I meant was to skip the call to ternaryObj.addChild(secondaryObj)
in the following code snippet:
InstanceCallbackClass ternaryObj = new
InstanceCallbackClass("ternaryObj", stillLaterDate, 3, 3.3, (short)-30, '3',
null);
pm.makePersistent(ternaryObj);
ternaryObj.addChild(secondaryObj); // SKIP THIS LINE!!
ternaryObj.addChild(primaryObj);
t.commit();
> CallingJdoPreclear tries to add the same instance to multiple 1-M relations
> ---------------------------------------------------------------------------
>
> Key: JDO-414
> URL: http://issues.apache.org/jira/browse/JDO-414
> Project: JDO
> Issue Type: Bug
> Components: tck2
> Affects Versions: JDO 2 final
> Reporter: Marc Prud'hommeaux
> Assigned To: Michelle Caisse
> Priority: Minor
>
> The CallingJdoPreclear test tries to add the same instance to multiple
> one-to-many relations in different instances, which may result in validation
> errors at commit time. The code that does this is:
> primaryObj.addChild(secondaryObj); // primaryObj contains one child;
> secondaryObj contains none. primaryObj is now dirty
> ...
> ternaryObj.addChild(secondaryObj);
> Errors can be worked around by removing secondaryObj from primaryObj.children
> before adding it to ternaryObj. E.g.:
> primaryObj.addChild(secondaryObj); // primaryObj contains one child;
> secondaryObj contains none. primaryObj is now dirty
> primaryObj.children.remove(secondaryObj);
> ...
> ternaryObj.addChild(secondaryObj);
> Alternately, the call to "primaryObj.addChild(secondaryObj);" can probably
> just be skipped ... it doesn't look like it would impact the test case.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira