Hi,

after unmarshalling an object hierarchy, with 'masterobject = ZitatDB.unmarshal(new 
FileReader("example.xml"))', i was trying to make it persistent, i.e. i do a 
'db.create(masterobject)', but i kept running into:

-------------
[TEST] Castor: Creating zitatdb.ZitatDB (null)
java.lang.StackOverflowError
at org.exolab.castor.persist.ClassMolder.getPriority(Unknown
Source) . . .
at
org.exolab.castor.persist.ClassMolder.getPriority(ClassMolder.java:635)
Exception in thread "main" 
-------------

So, i looked up the line 635 in ClassMolder.java and found a hint to bug #963. I 
wanted to post to your list, but fortunately, after an upgrade to your daily snapshot 
from cvs no stackoverflow occured anymore and it turned out to be my bad: i had 
forgotten one call to set a backlink to master for bi-directional reference in a 
add-operation of master class ZitatDB. Plus another mistake: i used name instead of 
many-key attribute for a 1:1 reference in the master class mapping (field element).

Now, it works so far :-)

My object hierarchy looks similar to attached gif (except for some SourceGenerator 
generated descriptors classes, an extra class QuelleTypChoice and some superclasses: 
"Typ"). 


Thanks for Castor! + Regards, dan


PS
Smaller problem: how to code the {or} restriction for the QuelleTypChoice (see 
attached diagram) - please feel free if some idea comes to your mind :-)



<<attachment: data_model.gif>>

Reply via email to