[JIRA] Created: (CAY-763) XML Deserialization fails on relationships when using a mapping file

From: Robert Zeigler (JIRA) ("Robert)
Date: Mon Feb 26 2007 - 16:20:50 EST

  • Next message: Andrus Adamchik: "Re: mvn build failure: missing com.atlassian.confluence:confluence-soap:jar:2.0"

    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

    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.
    



    This archive was generated by hypermail 2.0.0 : Mon Feb 26 2007 - 16:21:35 EST