Hi,

how does/should your XML actually look like ?

Regards
Werner

jimmi4664 wrote:
> That seems to assume I would have a unique identifier in my object. There's
> actually no good field in my example that could be used like that, and
> what's worse my real world case does not have that either.
> 
> So I believe if I want to make castor set the references correctly, I need
> to add some artificial ID field to my classes? 
> 
> 
> 
> Ralf Joachim-2 wrote:
>> 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
>>
>>
>>
>>
> 

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

    http://xircles.codehaus.org/manage_email


Reply via email to