Nischala, The xs:date type is handled by org.exolab.castor.types.Date. It has a built in descriptor class, org.exolab.castor.types.DateDescriptor. It can't be mapped very well with the mapping file, which is why we provided the built-in descriptor.
If you really want to use a mapping file and not the built-in descriptors, you can write your own custom FieldHandler that handles the conversion to and from a string (by simply deferring to the Date.parse() and Date.toString() methods). --Keith Nischala Kale wrote: > > Thanks a lot for your response! > I am trying to do a java-xml mapping - so no RDBMS involved here. > I have a schema, and I generated classes using the SourceGenerator. Incidentally, > the schema has a xd:date type. > > Then, I tried to generate the mapping file automatically using the MappingTool and > the generated classes. The tool generated the mapping as previously posted. > <class cst:name="com.ccmc.cure.xml.procClaims.Claim"> > > <field cst:name="loss_date" cst:type="org.exolab.castor.types.Date" > cst:required="true"> > > <bind-xml name="loss_date" node="element"/> > > </field> > > </class> > > <class cst:name="org.exolab.castor.types.Date"> > > <description>Default mapping for class org.exolab.castor.types.Date</description> > > <map-to cst:xml="date"/> > > <field cst:name="content" cst:type="java.lang.String"> > > <bind-xml name="content" node="text"/> > > </field> > > </class> > > The problem is that there is no getContent() method on org.exolab.castor.types.Date. > > Plus, I wanted to be able to output the value of a java.util.Date as the loss_date. > So in the java code I created the loss_date field using the > org.exolab.castor.types.Date constructor that accepts a java.util.Date. > > So the question now is, since there is no getContent method on > org.exolab.castor.types.Date, do I have to modify the mapping file to use a > different method instead? If so, is it the toString method? > > > Thanks > Nischala > > > > > > > > > > > > > > > -----Original Message----- > From: Werner Guttmann [mailto:[EMAIL PROTECTED] > Sent: Sat 6/5/2004 4:01 AM > To: [EMAIL PROTECTED] > Cc: > Subject: Re: [castor-user] RE: how do I use mapping and a java.util.Date? > > Nischala, > > if you asking about how to use the type org.exolab.castor.types.Date when > mapping classes to a RDBMS schema, I am afraid this won't work out of > the box .. ;-). Let me know what your (real) intention is, and we'll take > care of your problem. It has just happened that we (the committers) discussed this > very issue a couple of weeks ago, and the fix should be straightforward. > > Regards > Werner > > . On Fri, 4 Jun 2004 16:30:19 -0700, Nischala Kale wrote: > > >Looks like the link I posted contained an email address, and so was blocked. > >Here is the question that was posted on castor-dev mailing list, message > number msg05772 > >== > >Hi, > > > >I have a schema that defines an xsd:date element. When I generate my > objects from my > >xml file, the representative object for xsd:date is > org.exolab.castor.types.Date. > > > >Next, I using the MappingTool utility to generate a mapping.xml file, as I > eventually > >want to map these objects to an RDBMS. A snippet of the nicely formatted > mapping.xml > >file follows: > > > ><?xml version="1.0"?> > ><mapping xmlns="http://castor.exolab.org/";> > > <description>Castor generated mapping file</description> > > > > <class name="org.exolab.castor.types.Date" identity="" access="shared"> > > <description>Default mapping for class > org.exolab.castor.types.Date</des > >cription> > > <map-to xml="date"/> > > <field name="content" type="java.lang.String"> > > <bind-xml name="content" node="text"/> > > </field> > > </class> > > > >This looks ok to me. Anyhow, I then run my program and it fails on the > setMapping() > >method as follows: > > > > > >org.exolab.castor.mapping.MappingException: The method getContent in class > org.e > >xolab.castor.types.Date accepting/returning object of type class > java.lang.Strin > >g was not found > > at > org.exolab.castor.mapping.loader.MappingLoader.createFieldDesc(Mappin > >gLoader.java:719) > > at > org.exolab.castor.xml.XMLMappingLoader.createFieldDesc(XMLMappingLoad > >er.java:260) > > at > org.exolab.castor.mapping.loader.MappingLoader.createFieldDescs(Mappi > >ngLoader.java:519) > > at > org.exolab.castor.mapping.loader.MappingLoader.createDescriptor(Mappi > >ngLoader.java:343) > > at > org.exolab.castor.xml.XMLMappingLoader.createDescriptor(XMLMappingLoa > >der.java:157) > > at > org.exolab.castor.mapping.loader.MappingLoader.loadMapping(MappingLoa > >der.java:212) > > at org.exolab.castor.mapping.Mapping.getResolver(Mapping.java:278) > > at org.exolab.castor.mapping.Mapping.getResolver(Mapping.java:234) > > at > org.exolab.castor.xml.Unmarshaller.setMapping(Unmarshaller.java:224) > > at Test.<init>(Test.java:53) > > at Test.main(Test.java:34) > > > >The basic question is, how does one supply the appropriate mapping for an > xsd:date? > >I'm lost here. Thank you for your help. > > > > > >-Doug > >======= > > > > > > -----Original Message----- > > From: Nischala Kale > > Sent: Fri 6/4/2004 4:17 PM > > To: [EMAIL PROTECTED] > > Cc: > > Subject: how do I use mapping and a java.util.Date? > > > > > > > > Hi, > > > > I came across the same problem as the person in this Thread. As I > did not see any replies about the solution, I'm posting it again. Here is the > link to the original question - > > > > http://www.mail-archive.com/[EMAIL PROTECTED]/msg05772.html > > > > Can someone help? > > > > Thanks > > > > > > > > > > ----------------------------------------------------------- > If you wish to unsubscribe from this mailing, send mail to > [EMAIL PROTECTED] with a subject of: > unsubscribe castor-user > > > ------------------------------------------------------------------------ > ----------------------------------------------------------- > If you wish to unsubscribe from this mailing, send mail to > [EMAIL PROTECTED] with a subject of: > unsubscribe castor-user ----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-user
