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

Reply via email to