There are two things that come up.

1) Per my comment, I think we deliberately removed the ability to
auto-register with a DC.  Perhaps that was a bad decision, perhaps not.
Now that I've been prodded a bit, I'll try to dig up the proper thread.

2) If we do decide that auto-registration may be a bad idea, then the
problem is a result of trying to associate two unregistered DOs.  This
is something that needs to be addressed at a higher level and is slated
for 3.0.x.  It would be a big change to throw into a "stable" release.

-- 
Kevin

> -----Original Message-----
> From: Andrus Adamchik [mailto:[EMAIL PROTECTED] 
> Sent: Thursday, April 19, 2007 8:49 AM
> To: [email protected]
> Subject: Fwd: [JIRA] Commented: (CAY-763) XML Deserialization 
> fails on relationships when using a mapping file
> 
> Kevin,
> 
> I can apply the patch attached by Robert. Any objections? 
> (honestly I haven't spent much time lately looking into XML 
> serialization, so I will only run our existing test suite to 
> ensure it passes)
> 
> Andrus
> 
> 
> Begin forwarded message:
> > From: "Robert Zeigler (JIRA)" <[email protected]>
> > Date: April 19, 2007 3:28:44 PM GMT+03:00
> > To: [EMAIL PROTECTED]
> > Subject: [JIRA] Commented: (CAY-763) XML Deserialization fails on 
> > relationships when using a mapping file
> >
> >
> >     [ https://issues.apache.org/cayenne/browse/CAY-763? 
> > page=com.atlassian.jira.plugin.system.issuetabpanels:comment-
> > tabpanel#action_12292 ]
> >
> > Robert Zeigler commented on CAY-763:
> > ------------------------------------
> >
> > Any progress on this front?
> >
> >
> >> XML Deserialization fails on relationships when using a 
> mapping file
> >> 
> --------------------------------------------------------------------
> >>
> >>                 Key: CAY-763
> >>                 URL: 
> https://issues.apache.org/cayenne/browse/CAY-763
> >>             Project: Cayenne
> >>          Issue Type: Bug
> >>          Components: Cayenne Core Library
> >>    Affects Versions: 1.2 [STABLE], 2.0 [STABLE]
> >>         Environment: Any
> >>            Reporter: Robert Zeigler
> >>         Assigned To: Andrus Adamchik
> >>         Attachments: cay-763.patch
> >>
> >>
> >> When XMLDecoder deserializes objects using a mapping 
> descriptor, no 
> >> objects are registered with a datacontext until after all objects 
> >> have been initialized. However, cayenne requires a non- null 
> >> datacontext to correctly handle relationships. Hence, dataobjects 
> >> using the default cayenne handling of relationships 
> (either to-one or 
> >> to-many) will be unable to deserialize objects from XML 
> (due to null 
> >> pointers).
> >> In the case of a collection, the getXXX method will return 
> null, and 
> >> the XMLMappingDescriptor fails to "sense" a collection.
> >> In the case of a to-one relationship, a NPE exception is thrown 
> >> trying to set the child property of the parent object.
> >> The simplest way to fix this would be to make XMLMappingDescriptor 
> >> DataContext-capable (ie: will register objects with a 
> datacontext, if 
> >> one is provided, as the objects are created). I've done this in a 
> >> local copy of the code. I will attach a patch when I get a minute.
> >
> > --
> > This message is automatically generated by JIRA.
> > -
> > You can reply to this email to add a comment to the issue online.
> >
> >
> 
> 

Reply via email to