Isidoro,
This should be working properly in Castor 0.9.5.3.
--Keith
> "Legido Mart�nez, Isidoro" wrote:
>
> Probably I'm doing something wrong, but I don't get the expected
> result when marshalling
> objects if I use the <include .../> into de mapping file.
> I will explain :-)
>
> ---------------------
> Initial situation
> ---------------------
> + Classes
> public class NodeCommon
> {
> public String id;
> }
>
> public class NodeGui extends NodeCommon
> {
> public String idGui;
> }
>
> + Mapping file
>
> [common.xml] -> Mapping for 'NodeCommon'
> <?xml version="1.0" encoding="UTF-8"?>
> <mapping xmlns="">
> <class name="NodeCommon" auto-complete="false">
> <map-to xml="nodeCommon"/>
> <field name="id" type="string" required="true" direct="true">
> <bind-xml name="id" node="attribute"/>
> </field>
> </class>
> </mapping>
>
> [gui.xml] -> Mapping for 'NodeGui' (which extends 'NodeCommon')
> <?xml version="1.0" encoding="UTF-8"?>
> <mapping>
> <include href="common.xml"/>
>
> <class name="NodeGui" extends="NodeCommon" auto-complete="false">
> <map-to xml="node"/>
> <field name="idGui" type="string" required="true" direct="true">
>
> <bind-xml name="idGui" node="attribute"/>
> </field>
> </class>
> </mapping>
>
> ---------------------
> Tests
> ---------------------
> If I execute the following program
>
> public class Main
> {
> public static void main(String[] args) throws Exception
> {
> NodeGui nodeGui = new NodeGui();
> nodeGui.id = "ID-CORE";
> nodeGui.idGui = "ID-GUI";
>
> // Load de mapping file
> Mapping mappingGui = new Mapping();
>
> mappingGui.loadMapping((new File("gui.xml")).toURL());
>
>
> // Get the XML representation
> StringWriter writer = new StringWriter();
> Marshaller marshaller = new Marshaller(writer);
>
> marshaller.setMapping(mappingGui);
> marshaller.marshal(nodeGui);
>
> System.err.println("XML : " +
> writer.getBuffer().toString());
> }
> }
>
> What I get is '<?xml version="1.0" encoding="UTF-8"?><node
> idGui="ID-GUI" xmlns=""/>' instead the expected
> '<?xml version="1.0" encoding="UTF-8"?><node idGui="ID-GUI"
> id="ID-CORE" xmlns=""/>'
>
> If I change gui.xml for the new version
>
> [gui.xml] -> Mapping for 'NodeGui'
> <?xml version="1.0" encoding="UTF-8"?>
> <mapping>
> <class name="NodeCommon" auto-complete="false">
> <map-to xml="nodeCommon"/>
> <field name="id" type="string" required="true" direct="true">
> <bind-xml name="id" node="attribute"/>
> </field>
> </class>
>
> <class name="NodeGui" extends="NodeCommon" auto-complete="false">
> <map-to xml="node"/>
> <field name="idGui" type="string" required="true" direct="true">
>
> <bind-xml name="idGui" node="attribute"/>
> </field>
> </class>
> </mapping>
>
> where I have changed the <include...> part for the common.xml's
> contents I get the expected result!!!!
>
> Any hint? Thanks in advanced for the help.
>
> Isi,
>
> PD: I am using the version '0.9.4.2'.
>
> ------------------------------------------------------
> ,-""""""-.
> /\j__/\ ( \`--.
> [EMAIL PROTECTED]@'/ _) >--.`.
> _{.:Y:_}_{{_,' ) )
> {_}`-^{_} ``` (_/
>
> Isidoro Legido Mart�nez
> Divisi�n de Sistemas de Informaci�n
>
> tecsidel
> Avda. Principe de Asturias 43-45, 2�
> 08012 Barcelona
> Tel: (+34) 93 292 21 10
> Fax: (+34) 93 292 28 28
>
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-dev