Werner,

Maybe that stack trace is not very helpful... The all the files are the same
that I copied on the first email, but the mappings to which I added the
fields you told me.

Please let me know of any additional info or test I might need to perform in
order to give you more background on this.

Thanks again for your help

On Thu, May 27, 2010 at 1:21 PM, pablo fernandez <[email protected]
> wrote:

> Werner:
>
> Here's the full stack trace:
>
> java.lang.ClassCastException: org.exolab.castor.types.AnyNode
> at
> com.osc.services.TestXmlMarshallingService.testShouldUnMarshallEmailHashesXML(TestXmlMarshallingService.java:76)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>  at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:592)
>  at junit.framework.TestCase.runTest(TestCase.java:154)
> at junit.framework.TestCase.runBare(TestCase.java:127)
>  at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
>  at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:118)
>  at
> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
> at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>  at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
>  at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
>
>
>
> On Thu, May 27, 2010 at 3:08 AM, Werner Guttmann <[email protected]>wrote:
>
>> Hi,
>>
>> without a stack trace, it will be almost impossible to say anything.
>>
>> lG.
>> Werner
>>
>>
>> On 26.05.2010 23:10, pablo fernandez wrote:
>>
>>> Werner,
>>>
>>> Thanks a lot for the quick response. I've added those attributes and the
>>> marshalling goes smoothly.
>>>
>>> Sadly when trying to unmarshall I get this exception:
>>>
>>> java.lang.ClassCastException: com.linkedin.osc.model.EmailHashEntry
>>>
>>>
>>> On Wed, May 26, 2010 at 12:57 PM, Werner Guttmann<[email protected]
>>> >wrote:
>>>
>>>  Hi,
>>>>
>>>>
>>>> On 26.05.2010 21:39, pablo fernandez wrote:
>>>>
>>>>  Guys,
>>>>>
>>>>> I have this Xml:
>>>>>
>>>>> <hashedAddresses>
>>>>>   <personAddress index='1'>
>>>>>     <hashedAddress>asdfasdf</hashedAddress>
>>>>>     <hashedAddress>asdfasdf</hashedAddress>
>>>>>     <hashedAddress>asdfasdf</hashedAddress>
>>>>>   </personAddres>
>>>>>   <personAddress index='2'>
>>>>>     <hashedAddress>asdfasdf</hashedAddress>
>>>>>     <hashedAddress>asdfasdf</hashedAddress>
>>>>>     <hashedAddress>asdfasdf</hashedAddress>
>>>>>   </personAddres>
>>>>> </hashedAddresses>
>>>>>
>>>>> That I want to unmarshall in this class:
>>>>>
>>>>>
>>>>> public class EmailHashEntry {
>>>>>
>>>>>   private int index;
>>>>>   private List<String>   hashes;
>>>>>
>>>>>   public EmailHashEntry() {
>>>>>
>>>>>   }
>>>>>
>>>>>   public void setHashes(List<String>   hashes) {
>>>>>     this.hashes = hashes;
>>>>>   }
>>>>>
>>>>>   public void setIndex(int index) {
>>>>>     this.index = index;
>>>>>   }
>>>>>
>>>>>   public List<String>   getHashes() {
>>>>>     return hashes;
>>>>>   }
>>>>>
>>>>>   public int getIndex() {
>>>>>     return index;
>>>>>   }
>>>>> }
>>>>>
>>>>> Using this MAPPING:
>>>>>
>>>>> <?xml version="1.0"?>
>>>>> <!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Mapping DTD Version 1.0//EN"
>>>>> "
>>>>> http://castor.org/mapping.dtd";>
>>>>> <mapping>
>>>>>   <class name="com.linkedin.osc.model.EmailHashEntry">
>>>>>
>>>>>     <map-to xml="hashedAddresses"/>
>>>>>
>>>>>       <field name="index">
>>>>>          <bind-xml name="index" node="attribute" />
>>>>>       </field>
>>>>>
>>>>>       <field name="hashes">
>>>>>         <bind-xml name="hashAddress" location="personAddresses"
>>>>> node="element" />
>>>>>       </field>
>>>>>
>>>>>   </class>
>>>>> </mapping>
>>>>>
>>>>>
>>>>> PROBLEM:
>>>>>
>>>>> java.lang.IllegalArgumentException: list is not a valid
>>>>> FieldMappingCollectionType
>>>>>
>>>>> I adding "collection='arraylist'" to the mapping and got a NPE.
>>>>>
>>>>>  Well, you will need to specify two things in your<field>  mapping for
>>>> 'hashes'. Its type: string and that it is a collection, using e.g.
>>>> arraylist
>>>> as default type.
>>>>
>>>> I hope this helps.
>>>>
>>>> Werner
>>>>
>>>>
>>>>> Thanks
>>>>>
>>>>>
>>>>>
>>>
>

Reply via email to