Hi,
that's very odd, as I have been able to get things working as initially
outlined. What if I posted the complete Java class and mapping file ?
Are you fine with this ?
Regards
Werner
kabal wrote:
> here is the customer snipped of all its other methods and attributes
>
> ============================
> public class CustomerImpl extends BaseEntityImpl implements Customer {
>
> private List<Address> addresses = new ArrayList<Address>();
> private List<String> emailAddresses;
>
> public List<Address> getAddresses() {
> return addresses;
> }
>
>
> public void setAddresses(List<Address> addresses) {
> this.addresses = addresses;
> }
>
> public List<String> getEmailAddresses() {
> return emailAddresses;
> }
>
> public void setEmailAddresses(List<String> emailAddresses) {
> this.emailAddresses = emailAddresses;
> }
>
> }
> =================================
>
>
> Werner Guttmann-6 wrote:
>> Hi,
>>
>> I am not 100% sure whether this will work, but let me have a go at his.
>> What does the Customer class look like precisely ?
>>
>> Regards
>> Werner
>>
>> kabal wrote:
>>> Hi all
>>>
>>> I have some vendor supplied XML that I am trying to marshal to my Java
>>> object.
>>>
>>> ========================
>>>
>>> <Customer>
>>> <Address>
>>> <AddressLine1>13 Some Street</AddressLine1>
>>> <AddressLine2 />
>>> <AddressLine3>Suburb</AddressLine3>
>>> <AddressLine4 />
>>> <AddressLine5>City</AddressLine5>
>>> <AddressLine6>Postcode</AddressLine6>
>>> <Country>Country</Country>
>>> </Address>
>>> <EmailAddressList>
>>> <Address>[email protected]</Address>
>>> <Address>[email protected]</Address>
>>> </EmailAddressList>
>>> </Customer>
>>>
>>> ========================
>>>
>>> Now I want the marshaller to create a Customer, set the addresses
>>> (List<Address>), and set the email addresses(List<String>)
>>>
>>> here is my binding
>>>
>>> customer.xml
>>> ========================
>>>
>>> <mapping>
>>> <class name="domain.CustomerImpl">
>>>
>>> <map-to xml="Customer" ns-uri="http://namespace" />
>>>
>>> <field name="Addresses" type="domain.AddressImpl"
>>> collection="arraylist">
>>> <bind-xml name="Address" />
>>> </field>
>>>
>>> <field name="EmailAddresses" type="java.lang.String"
>>> collection="arraylist">
>>> <bind-xml name="Address" location="EmailAddressList"
>>> node="element" />
>>> </field>
>>>
>>> </class>
>>> </mapping>
>>>
>>> ============================
>>> address.xml
>>> ============================
>>> <mapping>
>>>
>>> <class name="domain.AddressImpl">
>>>
>>> <map-to xml="Address" ns-uri="http://namespace" />
>>>
>>> <field name="AddressLine1" type="java.lang.String">
>>> <bind-xml name="AddressLine1" node="element" />
>>> </field>
>>>
>>> ..snipped
>>>
>>> </class>
>>>
>>> </mapping>
>>> ================================
>>>
>>> When I started the mapping, starting with the addresses, the Customer was
>>> created as expected, and the address objects created and set on the
>>> customer.
>>>
>>> However, after then doing the mapping for the email addresses, the
>>> address
>>> mapping stopped working, and the only assumption I can make is that there
>>> are 2 different "Address" elements. I confirmed this by commenting out
>>> the
>>> email address binding, and then my addresses were once again populated
>>> correctly. I even tried setting the "location" of the "Address" element
>>> to
>>> "Customer" but this didnt work.
>>>
>>> Any suggestions on how to get around this?
>>>
>>> Thanks in advance
>>> Shaine
>>>
>> ---------------------------------------------------------------------
>> 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