That's odd, as there's plenty of integration tests in our test suite
that use FieldHandler.

How about showing us the relevant parts of your mapping file, for example ?

Werner

karephul wrote:
> Werner,
> 
> Thanks for the quick response. I just tried using FileHandler instead of
> GeneralizedFieldHandler. It seem to have the same problem [it Marshalls
> properly but throws exception while UnMarshalling.]
> I debuged the code and noticed that my execution thread goes to 
> public Object getValue( Object object ){} while writing to XML, but never
> enters public void setValue( Object object, Object value )  {} while writing
> to object.
> 
> Bottom line, it does not have the right instance of FieldHandler and uses
> default DateHandler which eventually throws exception.
> 
> Can you suggest me a way to achieve this or point me to some working
> example.
> 
> Thanks,
> Karephul
> 
> 
> Werner Guttmann wrote:
>> Hi,
>>
>> there's an issue with the use of GeneralizedFieldHandler at the moment.
>> This has been reported before already.
>>
>> Regards
>> Werner
>>
>> karephul wrote:
>>> I am using the same example as shown in the documentation 
>>> [http://www.castor.org/reference/html-single/index.html#d0e2586].
>>>
>>> XML produced was what I expected .. 
>>>          <person>
>>>             <name>Karephul</name>
>>>             <dob>1982-03-05</dob>
>>>     </person> 
>>> ....
>>>
>>> but while Unmarshalling, it throws an exception:
>>>
>>> -----------------------------------------------------------------------
>>>
>>> DEBUG [main] (ResolveHelpers.java:143) - Ignored problem at loading
>>> class:
>>> java.util.DateDescriptor through class loader:
>>> sun.misc.launcher$appclassloa...@a39137, exception:
>>> java.lang.ClassNotFoundException: java.util.DateDescriptor
>>> DEBUG [main] (ResolveHelpers.java:143) - Ignored problem at loading
>>> class:
>>> java.util.descriptors.DateDescriptor through class loader:
>>> sun.misc.launcher$appclassloa...@a39137, exception:
>>> java.lang.ClassNotFoundException: java.util.descriptors.DateDescriptor
>>> DEBUG [main] (XMLClassDescriptorResolverImpl.java:626) - Called
>>> addAllDescriptors with null or empty descriptor map
>>> DEBUG [main] (XMLClassDescriptorResolverImpl.java:546) - Get descriptor
>>> for:
>>> java.util.Date found: null
>>> DEBUG [main] (AbstractResolverClassCommand.java:50) - Now in method:
>>> org.exolab.castor.xml.util.resolvers.ByIntrospection resolving:
>>> java.util.Date
>>> DEBUG [main] (ByIntrospection.java:93) - Found descriptor:
>>> org.exolab.castor.xml.descriptors.dateclassdescrip...@1f06dc3; descriptor
>>> for class: Date; xml name: date
>>> org.exolab.castor.xml.MarshalException: Bad DateTime format: 1982-03-05
>>> DateTime is not long enough{File: [not available]; line: 2; column: 402}
>>>     at
>>> org.exolab.castor.xml.Unmarshaller.convertSAXExceptionToMarshalException(Unmarshaller.java:794)
>>>     at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:760)
>>>     at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:626)
>>> DEBUG [main] (XMLClassDescriptorResolverImpl.java:507) - Adding
>>> descriptor
>>> class for: java.util.Date descriptor:
>>> org.exolab.castor.xml.descriptors.dateclassdescrip...@1f06dc3; descriptor
>>> for class: Date; xml name: date
>>> DEBUG [main] (XMLClassDescriptorResolverImpl.java:546) - Get descriptor
>>> for:
>>> java.util.Date found:
>>> org.exolab.castor.xml.descriptors.dateclassdescrip...@1f06dc3; descriptor
>>> for class: Date; xml name: date
>>> DEBUG [main] (UnmarshalHandler.java:528) - #characters: 1982-03-05
>>> DEBUG [main] (UnmarshalHandler.java:624) - #endElement: dob
>>>     at
>>> com.manh.doms.app.common.xmljava.Converter.readObject(Converter.java:28)
>>>     at com.manh.MainTest.main(MainTest.java:37)
>>> Caused by: java.lang.IllegalStateException: Bad DateTime format:
>>> 1982-03-05
>>> DateTime is not long enough
>>>     at
>>> org.exolab.castor.xml.handlers.DateFieldHandler.setValue(DateFieldHandler.java:173)
>>>     at
>>> org.exolab.castor.xml.UnmarshalHandler.endElement(UnmarshalHandler.java:1070)
>>>     at
>>> org.exolab.castor.xml.UnmarshalHandler.endElement(UnmarshalHandler.java:1161)
>>>     at
>>> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:633)
>>>     at
>>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1241)
>>>     at
>>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1685)
>>>     at
>>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
>>>     at
>>> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
>>>     at
>>> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
>>>     at
>>> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
>>>     at
>>> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
>>>     at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:748)
>>>     ... 3 more
>>> Caused by: java.lang.IllegalStateException: Bad DateTime format:
>>> 1982-03-05
>>> DateTime is not long enough
>>>     at
>>> org.exolab.castor.xml.handlers.DateFieldHandler.setValue(DateFieldHandler.java:173)
>>>     at
>>> org.exolab.castor.xml.UnmarshalHandler.endElement(UnmarshalHandler.java:1070)
>>>     at
>>> org.exolab.castor.xml.UnmarshalHandler.endElement(UnmarshalHandler.java:1161)
>>>     at
>>> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:633)
>>>     at
>>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1241)
>>>     at
>>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1685)
>>>     at
>>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
>>>     at
>>> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
>>>     at
>>> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
>>>     at
>>> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
>>>     at
>>> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
>>>     at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:748)
>>>     at org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:626)
>>>     at
>>> com.manh.doms.app.common.xmljava.Converter.readObject(Converter.java:28)
>>>     at com.manh.MainTest.main(MainTest.java:37)
>>> Caused by: java.lang.IllegalStateException: Bad DateTime format:
>>> 1982-03-05
>>> DateTime is not long enough
>>>
>>>
>>> ----------------------------------------------------------------------------------
>>>  
>>>
>>> I am using the same "mapping.xml" and hence the XMLContext to create
>>> Marshaller and UnMarshaller. 
>>> While Unmarshalling the XML to Object, Caster is not using the handler ..
>>> this is a bug.
>>>
>>> I am using below jars in my classpath:
>>> castor-1.3rc1-xml.jar
>>> castor-1.3rc1-core.jar
>>>
>>> Can you please advice.
>>>
>>> Thanks,
>>> Karephul
>>>
>> ---------------------------------------------------------------------
>> 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


Reply via email to