Ok, give me a few minutes and I'll do one.

Thanks.

On Thu, May 27, 2010 at 5:23 PM, Werner Guttmann <[email protected]>wrote:

> Actually, in order to be really helpful, we need a small test case that we
> can use to replay your problem.
>
> Werner
>
>
> On 27.05.2010 23:13, pablo fernandez wrote:
>
>> 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