Hi Janne,

when using mapping usage of references as explained in:

http://www.castor.org/how-to-use-references-in-xml.html

may help. If you generate code out of XSD you may need to take a look at xs:id and xs:idref to handle this.

Having said that I never used that myself.

Regards
Ralf

jimmi4664 schrieb:
I tried autocreating mapping file for a simple example using MappingTool to
maybe give a hint on how to do this:

public class Owner {
    private String name;
    private ArrayList<Vehicle> vehicles = new ArrayList<Vehicle>();

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public ArrayList<Vehicle> getVehicles() {
        return vehicles;
    }

    public void setVehicles(ArrayList<Vehicle> vehicles) {
        this.vehicles = vehicles;
    }
}

public class Vehicle {
    private String name;
    private Owner owner;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Owner getOwner() {
        return owner;
    }

    public void setOwner(Owner owner) {
        this.owner = owner;
    }
}

            MappingTool tool = new MappingTool();
            tool.setInternalContext(new BackwardCompatibilityContext());
            boolean deep = true;
            File targetFile = new File("generated-mapping.xml");
            log.debug("generating mapping file...");
            tool.addClass(Owner.class, deep);
            fw = new FileWriter(targetFile);
            tool.write(fw);
            log.debug("...done generating mapping file: " + targetFile);

But the end result is:

<?xml version="1.0" encoding="UTF-8"?>
<mapping xmlns="http://castor.exolab.org/";
xmlns:cst="http://castor.exolab.org/";>
    <description xmlns="">Castor generated mapping file</description>
    <class name="tests.Owner">
        <description xmlns="">Default mapping for class
tests.Owner</description>
        <map-to/>
        <field name="name" type="java.lang.String">
            <bind-xml name="name" node="element"/>
        </field>
        <field name="vehicles" type="java.lang.Object"
collection="arraylist">
            <bind-xml name="vehicles" node="element"/>
        </field>
    </class>
</mapping>

So it seems it maps Vehicles in the list as Objects, which does not help





--

Syscon Ingenieurbüro für Meß- und Datentechnik GmbH
Ralf Joachim
Raiffeisenstraße 11
72127 Kusterdingen
Germany

Tel.   +49 7071 3690 52
Mobil: +49 173 9630135
Fax    +49 7071 3690 98

Internet: www.syscon.eu
E-Mail: [email protected]

Sitz der Gesellschaft: D-72127 Kusterdingen
Registereintrag: Amtsgericht Stuttgart, HRB 382295
Geschäftsleitung: Jens Joachim, Ralf Joachim


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to