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







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

   http://xircles.codehaus.org/manage_email


Reply via email to