John,
can you please create an issue at
http://jira.codehaus.org/browse/CASTOR
and attach all relevant files. Ideally you could (should) attach a
working test case (if possible based upon the test case template we supply).
Kind Regards
Werner
On 25.02.2011 21:45, John Dzak wrote:
Hello list,
I've been having a problem with keeping elements ordered according to the
mapping file when marshalling an object. The mapping file is being used
because changes I make to the mapping file are immediately reflected in the
marshaled output. I'm also not using the static marshal method. I put my
code, mapping file, expected output, and actual output in pastebin[1] for
easier reading. I also included those artifacts below for the mailing
archive.
Does anyone have any suggestions?
Thanks,
John
[1]: http://pastebin.com/Htg4FBq7
------------------------------
-------------------------------
/* Marshaller */
ResourceLoader resourceLoader = new DefaultResourceLoader();
StringWriter writer = new StringWriter();
Marshaller marshaller = new Marshaller(writer);
URL url =
resourceLoader.getResource("classpath:castor-mapping.xml").getURL();
Mapping mapping = new Mapping();
mapping.loadMapping(url);
marshaller.setMapping(mapping);
marshaller.marshal(inputObject);
/* Marshaller */
-----------------------------------------------------------------
/* Mapping XML */
<?xml version="1.0"?>
<mapping>
<description>Description of the mapping</description>
<class
name="edu.northwestern.bioinformatics.studycalendar.domain.ScheduledStudySegment"
auto-complete="false">
<field name="root">
<bind-xml name="root" node="attribute" location="id"/>
</field>
<field name="extension">
<bind-xml name="extension" node="attribute" location="id"/>
</field>
<field name="startDate"
handler="edu.northwestern.bioinformatics.studycalendar.xml.writers.nes.DateFieldHandler"
type="string">
<bind-xml name="value" node="attribute" location="start-date"/>
</field>
<field name="startDay"
handler="edu.northwestern.bioinformatics.studycalendar.xml.writers.nes.IntegerFieldHandler"
type="integer">
<bind-xml name="value" node="attribute" location="start-day"/>
</field>
<field name="studySegment">
<bind-xml name="study-segment-id" node="element"/>
</field>
<field name="activities"
type="edu.northwestern.bioinformatics.studycalendar.domain.ScheduledActivity"
collection="arraylist">
<bind-xml name="scheduled-activity" node="element"/>
</field>
</class>
</mapping>
/* Mapping XML */
------------------------------------------------------
/* Expected Output */
<?xml version="1.0"?>
<scheduled-study-segment>
<id root="NU" extension="200.1"/>
<start-date value="20091205"/>
<start-day value="3"/>
<study-segment-id root="NU" extension="200.2"/>
<scheduled-activity/>
<scheduled-activity/>
</scheduled-study-segment>
/* Expected Output */
--------------------------------------------------------
/* Actual Output */
<?xml version="1.0" encoding="UTF-8"?>
<scheduled-study-segment>
<study-segment-id root="NU" extension="200.2"/>
<scheduled-activity/>
<scheduled-activity/>
<id root="NU" extension="200.1"/>
<start-date value="20091205"/>
<start-day value="3"/>
</scheduled-study-segment>
/* Actual Output */
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email