FYI.. this has now been registered as BUG: CASTOR-1878
-- Drew On 2/22/07, Drew Beechum <[EMAIL PROTECTED]> wrote:
I do that, select the "create New Issue" link in the top level nav and get presented with the "Choose Project and Issue Type" menu. Castor isn't listed on that dropdown. On 2/22/07, Werner Guttmann <[EMAIL PROTECTED]> wrote: > Try > > http://jira.codehaus.org/browse/CASTOR > > and use the 'create new issue' link. > > Werner > > Drew Beechum wrote: > > Werner, > > > > I'm in the same boat as the others. I can't find the castor project > > for adding a jira issue. > > > > I do however have a sample project with a junit test case for > > triggering the conditions that I'm noticing. > > > > > > On 2/22/07, Werner Guttmann <[EMAIL PROTECTED]> wrote: > >> Great to see that you've made some progress, at least. But looking at > >> those questions, I think it's time to create a new Jira issue and attach > >> all relevant files. Let's hope Jira stops throwing NPEs at us really > >> soon. > >> > >> Werner > >> > >> > -----Original Message----- > >> > From: Drew Beechum [mailto:[EMAIL PROTECTED] > >> > Sent: Mittwoch, 21. Februar 2007 23:57 > >> > To: [email protected] > >> > Subject: Re: [castor-user] Duplicate Attribute/Element and > >> > List size attribute > >> > > >> > Ok. > >> > > >> > Now I'm finding that if I use: > >> > > >> > <complexTypeBinding name="/complexType:itemType/availabilityStart"> > >> > <member name="availabilityStart" > >> > handler="com.foo.domain.handler.GeneralizedDateHandler"/> > >> > </complexTypeBinding> > >> > > >> > I see the descriptor class now carries code in it for using > >> > the descriptor. It appears that if I don't have that > >> > availabilityStart specified in the top name attribute, the > >> > handler code doesn't get generated. > >> > > >> > I can see the handler being instantiated and the call to > >> > newInstance (returns null), but the unmarshaller still throws > >> > an error on a bad DateTime format without calling the handler > >> > to convert "01/26/2007 12:00:00 AM" to the appropriate date. > >> > > >> > Should the field be specified in the xsd as xs:dateTime or > >> > string? And I find that adding a java-type="java.util.Date" > >> > attribute to the member generates a > >> > "org.exolab.castor.types.Date" typed member instead. > >> > > >> > > >> > On 2/21/07, Werner Guttmann <[EMAIL PROTECTED]> wrote: > >> > > No, the XPATH for your complexType named 'itemType' needs to be > >> > > > >> > > /complexType:itemType > >> > > > >> > > as (incompletely) documented at > >> > > > >> > > http://www.castor.org/srcgen-binding.html > >> > > > >> > > Regards > >> > > Werner > >> > > > >> > > Drew Beechum wrote: > >> > > > So I've added to my binding file (which does have an > >> > effect since I > >> > > > can change from element to type object generation in the file) > >> > > > > >> > > > <complexTypeBinding name="itemType"> > >> > > > <member name="availabilityStart" java-type="java.util.Date" > >> > > > handler="com.foo.domain.handler.AvailabilityStartHandler"/> > >> > > > </complexTypeBinding> > >> > > > > >> > > > After running the ant script that generates the classes. > >> > Looking at > >> > > > the descriptor for ItemType, I still see the generic > >> > inner handler > >> > > > being assigned to availabilityStart. I assume I have a > >> > grammar issue > >> > > > with my specification, but I've been unable to find > >> > examples doing > >> > > > this. (The handler how-tos on the website give examples > >> > with mapping > >> > > > files.) > >> > > > > >> > > > I've also tried doing an element binding on /playlist and > >> > playlist > >> > > > and item/playlist, but still see no changes in the descriptors. > >> > > > > >> > > > Thanks > >> > > > > >> > > > On 2/21/07, Werner Guttmann <[EMAIL PROTECTED]> wrote: > >> > > >> On the first problem, using a mapping file to set your > >> > custom field > >> > > >> handler is not the solution recommended. Can you please use a > >> > > >> binding file to instruct the XML code generator to use > >> > your custom > >> > > >> field handler and set it onto the according class(es). > >> > > >> > >> > > >> Werner > >> > > >> > >> > > >> > -----Original Message----- > >> > > >> > From: Drew Beechum [mailto:[EMAIL PROTECTED] > >> > > >> > Sent: Mittwoch, 21. Februar 2007 00:54 > >> > > >> > To: [email protected] > >> > > >> > Subject: Re: [castor-user] Duplicate Attribute/Element > >> > and List > >> > > >> > size attribute > >> > > >> > > >> > > >> > I have been just using castor-1.1with no mapping file > >> > and using > >> > > >> > the default source generated classes. > >> > > >> > But that doesn't seem to be sufficient so here's what > >> > I'm facing now. > >> > > >> > > >> > > >> > Problem number 1 - Mapping dates from a non-standard format > >> > > >> > > >> > > >> > I have a basic type: > >> > > >> > > >> > > >> > <xs:complexType name="itemType"> > >> > > >> > <xs:complexContent> > >> > > >> > <xs:extension base="baseDomain"> > >> > > >> > <xs:sequence> > >> > > >> > <xs:element > >> > ref="availabilityStart"/> > >> > > >> > <xs:element > >> > ref="availabilityEnd"/> > >> > > >> > </xs:sequence> > >> > > >> > <xs:attribute name="title" type="xs:string"/> > >> > > >> > </xs:extension> > >> > > >> > </xs:complexContent> > >> > > >> > </xs:complexType> > >> > > >> > > >> > > >> > <xs:element name="availabilityStart" > >> > type="xs:dateTime"/> > >> > > >> > <xs:element name="availabilityEnd" type="xs:dateTime"/> > >> > > >> > > >> > > >> > This is extended to a playlist object > >> > > >> > > >> > > >> > <xs:element name="playlist"> <xs:complexType> > >> > > >> > <xs:complexContent> > >> > > >> > <xs:extension base="itemType"> > >> > > >> > <xs:sequence> > >> > > >> > <xs:element > >> > ref="items"/> > >> > > >> > <xs:element > >> > > >> > ref="canSortPlaylist"/> > >> > > >> > <xs:element > >> > > >> > ref="canSetLanguage"/> > >> > > >> > <xs:element > >> > ref="canRepeat"/> > >> > > >> > </xs:sequence> > >> > > >> > </xs:extension> > >> > > >> > </xs:complexContent> > >> > > >> > </xs:complexType> > >> > > >> > </xs:element> > >> > > >> > > >> > > >> > The availabilityStart and End dates come back as 01/01/2007 - > >> > > >> > 12:00:00 AM, which causes the unmarshalling to fail. > >> > > >> > > >> > > >> > I followed the example online for field handlers > >> > > >> > (http://www.castor.org/xml-fieldhandlers.html) and I > >> > can see it > >> > > >> > create the handlers, but never access the methods when I map > >> > > >> > using this file: > >> > > >> > (note AvailabilityStartHandler is a version of the > >> > first example, > >> > > >> > the ItemTypeDateHandler is the generic version) > >> > > >> > > >> > > >> > <?xml version="1.0"?> > >> > > >> > <mapping> > >> > > >> > > >> > > >> > <class name="com.fool.domain.Playlist"> > >> > > >> > <field name="availabilityStart" type="string" > >> > > >> > handler="com.foo.domain.handler.AvailabilityStartHandler"> > >> > > >> > <bind-xml node="text"/> > >> > > >> > </field> > >> > > >> > <field name="availabilityEnd" type="string" > >> > > >> > handler="com.foo.domain.handler.ItemTypeDateHandler"> > >> > > >> > <bind-xml node="text"/> > >> > > >> > </field> > >> > > >> > </class> > >> > > >> > > >> > > >> > <class name="com.foo.domain.ItemType"> > >> > > >> > <field name="availabilityStart" type="string" > >> > > >> > handler="com.disney.disl.domain.handler.ItemTypeDateHandler"> > >> > > >> > <bind-xml node="text"/> > >> > > >> > </field> > >> > > >> > <field name="availabilityEnd" type="string" > >> > > >> > handler="com.foo.domain.handler.ItemTypeDateHandler"> > >> > > >> > <bind-xml node="text"/> > >> > > >> > </field> > >> > > >> > </class> > >> > > >> > > >> > > >> > </mapping> > >> > > >> > > >> > > >> > I get errors still on the mapping since it doesn't > >> > like the date > >> > > >> > formats in the field by default. Is it possible to bind on the > >> > > >> > ItemType class and have the mapping picked up by > >> > children classes > >> > > >> > (e.g. Playlist) and others? > >> > > >> > > >> > > >> > 2nd problem - I don't know how to map this, but I have the > >> > > >> > complex type items that contains a series of arrays (videos, > >> > > >> > audios, playlists, games) and a set of attributes that are the > >> > > >> > array size. How do I map videos.size to the videos attribute? > >> > > >> > > >> > > >> > <xs:element name="items"> > >> > > >> > <xs:complexType> > >> > > >> > <xs:sequence> > >> > > >> > <xs:element name="video" > >> > > >> > type="videoType" minOccurs="0" > >> > > >> > maxOccurs="unbounded"/> > >> > > >> > <xs:element name="game" > >> > type="gameType" > >> > > >> > minOccurs="0" > >> > > >> > maxOccurs="unbounded"/> > >> > > >> > <xs:element name="audio" > >> > > >> > type="audioType" minOccurs="0" > >> > > >> > maxOccurs="unbounded"/> > >> > > >> > <xs:element name="playlist" > >> > > >> > type="playlistType" minOccurs="0" > >> > > >> > maxOccurs="unbounded"/> > >> > > >> > </xs:sequence> > >> > > >> > <xs:attribute name="games" > >> > type="xs:int"/> > >> > > >> > <xs:attribute name="audios" > >> > type="xs:int"/> > >> > > >> > <xs:attribute name="videos" > >> > type="xs:int"/> > >> > > >> > <xs:attribute name="playlists" > >> > type="xs:int"/> > >> > > >> > </xs:complexType> > >> > > >> > </xs:element> > >> > > >> > > >> > > >> > > >> > > >> > Thanks! > >> > > >> > > >> > > >> > On 2/16/07, Werner Guttmann <[EMAIL PROTECTED]> wrote: > >> > > >> > > Hi Drew, > >> > > >> > > > >> > > >> > > can you please provide us with a bit more > >> > information, such as > >> > > >> > > what the relevant XML schema (fragment) and the > >> > binding file looks like ? > >> > > >> > > > >> > > >> > > Regards > >> > > >> > > Werner > >> > > >> > > > >> > > >> > > Drew Beechum wrote: > >> > > >> > > > Hi, > >> > > >> > > > > >> > > >> > > > I've just been handed a project that needs to support > >> > > >> > pulling in and > >> > > >> > > > manipulating an xml response from a legacy > >> > service. I've got > >> > > >> > > > most everything bound in, but I'm running into a > >> > few problems > >> > > >> > and I don't > >> > > >> > > > know how to resolve them. For the record I'm using > >> > castor 1.1 > >> > > >> > > > and the ant sourcegen tools to build the classes. > >> > > >> > > > > >> > > >> > > > sample xml looks like this > >> > > >> > > > > >> > > >> > > > <playlist id=123> > >> > > >> > > > <id>123</id> > >> > > >> > > > <items videos=1 playlists=1> > >> > > >> > > > <video id=124> > >> > > >> > > > <id>124</id> > >> > > >> > > > </video> > >> > > >> > > > <playlist id=125> > >> > > >> > > > <id>125</id> > >> > > >> > > > </playlist> > >> > > >> > > > </items> > >> > > >> > > > </playlist> > >> > > >> > > > > >> > > >> > > > Do source generation with the id attribute in place in the > >> > > >> > > > schema causes a conflict error. Big surprise, > >> > right? Is there > >> > > >> > anyway to resolve this? > >> > > >> > > > Preferably I'd like to map to the same member in > >> > the class, > >> > > >> > > > but every time I try to do "/[EMAIL PROTECTED]" it fails. > >> > > >> > > > > >> > > >> > > > Is there a clean way to populate the > >> > videos/playlists count > >> > > >> > > > attributes with the ArrayList<video>.size()? > >> > > >> > > > > >> > > >> > > > Thanks > >> > > >> > > > >> > > >> > > > >> > > >> > > > >> > > >> > > >> > ----------------------------------------------------------------- > >> > > >> > ---- > >> > > >> > > To unsubscribe from this list please visit: > >> > > >> > > > >> > > >> > > http://xircles.codehaus.org/manage_email > >> > > >> > > > >> > > >> > > > >> > > >> > > >> > > >> > > >> > ----------------------------------------------------------------- > >> > > >> > ---- To unsubscribe from this list please visit: > >> > > >> > > >> > > >> > http://xircles.codehaus.org/manage_email > >> > > >> > > >> > > >> > >> > > >> > >> > ------------------------------------------------------------------- > >> > > >> -- To unsubscribe from this list please visit: > >> > > >> > >> > > >> http://xircles.codehaus.org/manage_email > >> > > >> > >> > > >> > >> > > > > >> > > > > >> > -------------------------------------------------------------------- > >> > > > - To unsubscribe from this list please visit: > >> > > > > >> > > > http://xircles.codehaus.org/manage_email > >> > > > > >> > > > >> > > > >> > > > >> > --------------------------------------------------------------------- > >> > > To unsubscribe from this list please visit: > >> > > > >> > > http://xircles.codehaus.org/manage_email > >> > > > >> > > > >> > > >> > --------------------------------------------------------------------- > >> > To unsubscribe from this list please visit: > >> > > >> > http://xircles.codehaus.org/manage_email > >> > > >> > >> --------------------------------------------------------------------- > >> To unsubscribe from this list please visit: > >> > >> http://xircles.codehaus.org/manage_email > >> > >> > > > > --------------------------------------------------------------------- > > To unsubscribe from this list please visit: > > > > http://xircles.codehaus.org/manage_email > > > > > --------------------------------------------------------------------- > To unsubscribe from this list please visit: > > http://xircles.codehaus.org/manage_email > >
--------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email

