Thanks a lot for your quick response!
I didn't realize that the mapping file was not needed as the descriptors were already 
generated.
So only if there are changes to the schema  at a later date, would I need to use a 
mapping file because I would not want to regenerate the source again (because of the 
changes for the marshalling code that I wrote)
 
Thanks for developing such a useful product - I'm discovering that it really makes my 
task easier.
 

        -----Original Message----- 
        From: Keith Visco [mailto:[EMAIL PROTECTED] 
        Sent: Mon 6/7/2004 12:07 PM 
        To: [EMAIL PROTECTED] 
        Cc: 
        Subject: Re: [castor-user] RE: how do I use mapping and a java.util.Date?
        
        


        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
        

<<winmail.dat>>

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-user

Reply via email to