Hi Damien, Just grab the CVS version of Castor, compile it and re-generated the classes from your schema. It should be all right, let us know if it fixes your problem,
Arnaud > -----Original Message----- > From: Damien GAUTIER-DE-LAHAUT [mailto:[EMAIL PROTECTED] > Sent: Wednesday, February 26, 2003 10:51 AM > To: [EMAIL PROTECTED] > Subject: Re: [castor-dev] Parsing exception of a xsd:Time > > Hi, Arnaud and John, > > I modified the code as John mentioned, but I still have the same problem > unfortunalely. > > Damien > > Le mar 25/02/2003 � 22:18, Arnaud Blandin a �crit : > > Hi John, > > > > Your fix is ok, I committed it in CVS. > > Thanks for providing it. > > Arnaud > > > > > -----Original Message----- > > > From: John Weir [mailto:[EMAIL PROTECTED] > > > Sent: Sunday, February 23, 2003 11:10 PM > > > To: [EMAIL PROTECTED] > > > Subject: Re: [castor-dev] Parsing exception of a xsd:Time > > > > > > Damien / Keith, > > > > > > I had a similar problem, specifically with Date processing. I had a > > type > > > that extended date to add an ID Attribute and it failed to unmarshall. > > > > > > I have attached the diff -u output for your perusal. This worked for > > me. > > > > > > Hope it helps > > > > > > John > > > > > > > > > > > > Index: DescriptorSourceFactory.java > > > =================================================================== > > > RCS file: > > > /cvs/castor/castor/src/main/org/exolab/castor/builder/DescriptorSource > > > Factory.java,v > > > retrieving revision 1.91 > > > diff -u -r1.91 DescriptorSourceFactory.java > > > > > > @@ -394,6 +394,9 @@ > > > boolean isAttribute = > > > (member.getNodeType() == > > FieldInfo.ATTRIBUTE_TYPE); > > > > > > + boolean isText = > > > + (member.getNodeType() == FieldInfo.TEXT_TYPE); > > > + > > > if (xsType.getType() == XSType.CLASS) > > > isEnumerated = ((XSClass) > > xsType).isEnumerated(); > > > > > > @@ -485,7 +490,7 @@ > > > //i.e add specific FieldHandler in > > > org.exolab.castor.xml > > > .handlers > > > //dateTime is not concerned by the following > > since > > > it is > > > directly > > > //handle by DateFieldHandler > > > - if (isAttribute > > > + if ((isAttribute || isText) > > > && xsType.isDateTime() > > > && xsType.getType() != > > xsType.DATETIME_TYPE) > > > { > > > jsc.append(".parse"); > > > > > > > -----Original Message----- > > > > From: Keith Visco [mailto:[EMAIL PROTECTED] > > > > Sent: 21 February 2003 21:53 > > > > To: [EMAIL PROTECTED] > > > > Subject: Re: [castor-dev] Parsing exception of a xsd:Time > > > > > > > > > > > > > > > > Hi Damien, > > > > > > > > Can you file this as a bug (http://bugzilla.exolab.org). Castor is > > > > probably not handling the extension correctly when simpleContent is > > > > involved. It's probably an issue with the default > > > > XMLClassDescriptorImpl. > > > > > > > > --Keith > > > > > > > > > > > > > > > > Damien GAUTIER-DE-LAHAUT wrote: > > > > > > > > > > Hello, > > > > > > > > > > When unmarshalling an xml file I get the following exception : > > > > > ------------------------------------------------------------- > > > > > org.xml.sax.SAXException: unable to add text content to CTOT due > > to the > > > > > following error: java.lang.IllegalStateException: > > > > > java.lang.ClassCastException{file: ; line: 43; column: 98} > > > > > > > > > > The line in question is : > > > > > ------------------------ > > > > > > > > > > <CTOT Source="Damien" > > > > > ModificationTime="14:20:00.456">11:08:06.123</CTOT> > > > > > > > > > > with column 98 is just after the last character of this line > > > > > > > > > > The type of this Element is complex : > > > > > ----------------------------------- > > > > > > > > > > the content of the element is an xsd:time > > > > > and the element has 2 attributes, one is string and the other is > > of type > > > > > xsd:time. > > > > > > > > > > <xsd:element name="CTOT" type="CDMTimeType" minOccurs="0"/> > > > > > > > > > > <xsd:complexType name="CDMTimeType"> > > > > > <xsd:simpleContent> > > > > > <xsd:extension base="xsd:time"> > > > > > <xsd:attribute name="Source" > > > > type="xsd:string" use="optional"/> > > > > > <xsd:attribute name="ModificationTime" > > > > type="xsd:time" > > > > > use="optional"/> > > > > > </xsd:extension> > > > > > </xsd:simpleContent> > > > > > </xsd:complexType> > > > > > > > > > > Some comment : > > > > > ------------ > > > > > > > > > > When I suppress the content, and consequently it remains > > > > > > > > > > <CTOT Source="Damien" ModificationTime="14:20:00.456"></CTOT> > > > > > > > > > > it unmarshalls correctly (and when I marshall and print the > > result, I > > > > > get exactly my original file, excellent) > > > > > > > > > > Then I set the value Programmally : > > > > > > > > > > org.exolab.castor.types.Time tm = new > > > > > org.exolab.castor.types.Time("11:08:06.123"); > > > > > ....getCTOT().setContent(tm); > > > > > > > > > > It works and then, on the output I then get : > > > > > > > > > > <CTOT Source="Damien" > > > > > ModificationTime="14:20:00.456">11:08:06.123</CTOT> > > > > > > > > > > And this is precisely what I tried to parse at the begining but it > > > > > produced exception. > > > > > > > > > > Can someone help me to understand this problem. > > > > > > > > > > I thank you a lot > > > > > > > > > > Damien Gautier de Lahaut > > > > > > > > > > ----------------------------------------------------------- > > > > > 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 > > ----------------------------------------------------------- > 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
