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