Keith, Thanks, that's good news.
Scott -----Original Message----- From: Keith Visco [mailto:[EMAIL PROTECTED]] Sent: Tuesday, September 24, 2002 6:53 PM To: [EMAIL PROTECTED] Subject: Re: [castor-dev] Does Castor-XML work with lists? Hi Scott, Yes, bug 1006 points out inconsistency with introspection as compared with mapping files. I've already started a patch for bug 1006 and plan on having it finished for inclusion in the next Castor release (currently scheduled for Oct 7th). Thanks, --keith Scott Sims wrote: > > Amar, > > Do you have a simple example of this working? I know Castor "supports" > lists and arrays in virtually the same way. However it may not support them > in the way that David expects. For example, given the following in Fig 1: > > import java.util.*; > > public class TestObject > { > public TestObject() {} > public List getObjects() { return list; } > public void setObjects(List list) { this.list = list; } > private List list = new ArrayList(); > } > > public class TestObject1 > { > public TestObject1() {} > > // Using int > public TestObject1(int i) { this.i = i; } > > private int i; > private int j; > > public int getI() { return i; } > public void setI(int i) { this.i = i; } > > public int getJ() { return j; } > public void setJ(int j) { this.j = j; } > } > (Fig 1) > > with a mapping of Fig 2: > > <?xml version="1.0"?> > <!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Object Mapping DTD Version > 1.0//EN" "http://castor.exolab.org/mapping.dtd"> > <mapping> > <class name="TestObject"> > <map-to xml="testObject"/> > <field name="objects" > collection="arraylist" > type="TestObject1"> > <bind-xml name="objects"/> > </field> > </class> > <class name="TestObject1"> > <map-to xml="testObject1"/> > <field name="i" type="integer"> > <bind-xml node="element"/> > </field> > <field name="j" type="integer"> > <bind-xml node="element"/> > </field> > </class> > </mapping> > (Fig 2) > > you may expect to get the following Fig 3: > > <?xml version="1.0" encoding="UTF-8"?> > <testObject> > <objects> > <testObject1> > <i>1</i> > <j>0</j> > </testObject1> > <testObject1> > <i>2</i> > <j>0</j> > </testObject1> > </objects> > </testObject> > (Fig 3) > > Logically, I think this is what many people would expect. Individual list > elements are fully represented within the <objects> tag. However, what > Castor outputs is Fig 4: > > <?xml version="1.0" encoding="UTF-8"?> > <testObject> > <objects> > <i>1</i> > <j>0</j> > </objects> > <objects> > <i>2</i> > <j>0</j> > </objects> > </testObject> > (Fig 4) > > Where the name of the class within the list is lost and the wrapping list > name is used in its place. Now, if you don't use a mapping file, you get > something closer to what you may expect (Fig 5): > > <?xml version="1.0" encoding="UTF-8"?> > <test-object> > <objects xsi:type="java:java.util.ArrayList" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > <test-object1 j="0" i="1" xsi:type="java:TestObject1"/> > <test-object1 j="0" i="2" xsi:type="java:TestObject1"/> > </objects> > </test-object> > (Fig 5) > > Again, the objects within the list are wrapped by the name of the list. If > you use a map file you will get the same result whether you choose a List or > an array as your container. If you don't use a map file the results are > slightly different Fig 6: > > <?xml version="1.0" encoding="UTF-8"?> > <test-object> > <objects j="0" i="1"/> > <objects j="0" i="2"/> > </test-object> > (Fig 6) > > Notice the array version loses the name of the wrapped class also. > > As far as I know (thanks to Tung Mansfield for the bug # and much of the > above example) this is a known bug (1006) for Casto XML. If you know of a > way to get the result shown in Fig 3 above please let me know. The bug is > still open and I struggling to find a work around. > > Scott > > -----Original Message----- > From: Amar Mehta [mailto:[EMAIL PROTECTED]] > Sent: Tuesday, September 24, 2002 12:03 PM > To: [EMAIL PROTECTED] > Subject: Re: [castor-dev] Does Castor-XML work with lists? > > I know for a fact that Castor supports arrays. In the mapping file you > specify for the field element collection="array". The type for that field > would be whatever type the list's elements are. I like returning arrays > instead of lists just because there is no mistaking the type. > > >From: David Tayouri <[EMAIL PROTECTED]> > >Reply-To: [EMAIL PROTECTED] > >To: [EMAIL PROTECTED] > >Subject: [castor-dev] Does Castor-XML work with lists? > >Date: Tue, 24 Sep 2002 18:20:35 +0200 > > > >I tried to marshal to XML a Java object that includes an ArrayList, > >but only an empty XML was created. > >Is Castor-XML supposed to support lists? > > > >----------------------------------------------------------- > >If you wish to unsubscribe from this mailing, send mail to > >[EMAIL PROTECTED] with a subject of: > > unsubscribe castor-dev > > _________________________________________________________________ > Join the world�s largest e-mail service with MSN Hotmail. > http://www.hotmail.com > > ----------------------------------------------------------- > If you wish to unsubscribe from this mailing, send mail to > [EMAIL PROTECTED] with a subject of: > unsubscribe castor-dev > > ----------------------------------------------------------- > If you wish to unsubscribe from this mailing, send mail to > [EMAIL PROTECTED] with a subject of: > unsubscribe castor-dev ----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev ----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev
