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.