Hi, can you please create a new ticket at
http://jira.codehaus.org/browse/CASTOR and attach all relevant files there. Thanks for your efforts. Cheers Werner On 10.03.2011 03:42, 吕晓一 wrote: > Hi Werner, > > I downloaded Castor 1.3.2, the problems I reported are not resolved. > > 1. all <field-handler/> defined in an included mapping file will not work, so > all <filed-handler> have to defined in the top-level mapping file. > > 2. one <field-handler/>, just work for one <class/> > > > Attached is my test files, just modify the path of StudentMap.xml in > CastorTest.java , and run the CastorTest.java. > > > > > >> -----邮件原件----- >> 发件人: Werner Guttmann [mailto:[email protected]] >> 发送时间: 2011年3月10日 0:00 >> 收件人: [email protected] >> 抄送: 吕晓一 >> 主题: Re: [castor-user] 答复: [castor-user] 答复: [castor-user] how to reuse >> the field-handler defined in mapping file? >> >> Hi again, >> >> On 09.03.2011 12:02, 吕晓一 wrote: >>> Hi Werner, >>> >>> Thanks for your great work! >>> >>> I just downloaded Castor 1.3.1 and found some problems, >>> >>> 1. I define a <field-handler>, it can be used in only one <class/> >> As already mentioned, this does not work (as intended) with Castor >> 1.3.1, and will be fixed in Castor 1.3.2 (due to be released within a >> few days). >> >> Once Castor 1.3.2 will have been released, it will be possible to define >> a field handler once and use it multiple times. >> >>> 2. if the <field-handler> is defined in a mapping file, and this file >>> is included by another main mapping file, marshal the java bean will >>> throw exception. >> If this is till an issue with Castor 1.3.2, please file a bug report and >> attach a working test case so that we can reproduce this easily. >> >> Having said that, feel free to cross-check with the 1.3.2 snapshot >> release and report back. >> >> Kind Regards >> Werner >>> >>> >>> Regards >>> >>> Joey >>> >>> >>> >>> >>>> -----邮件原件----- 发件人: Werner Guttmann >> [mailto:[email protected]] 发 >>>> 送时间: 2011年3月9日 18:26 收件人: [email protected] 抄送: >> 吕晓一 主题: Re: >>>> [castor-user] 答复: [castor-user] how to reuse the field-handler >>>> defined in mapping file? >>>> >>>> Hi Joey, >>>> >>>> to keep things apart a little bit, yes, with Castor 1.3.2 it will >>>> be possible to define a field handler once and reference it >>>> multiple times from within field mappings. This feature is already >>>> present with Castor 1.3.1, but due to a bug is didn't work as >>>> intended, and has been fixed for Castor 1.3.2. >>>> >>>> I am in the process of releasing 1.3.2 within a short period, but I >>>> am facing problems with the Codehaus Nexus infrastructure right >>>> now. >>>> >>>> If you wanted, you could try this feature with the latest 1.3.2 >>>> SNAPSHOT release. >>>> >>>> Regards Werner >>>> >>>> On 09.03.2011 10:48, 吕晓一 wrote: >>>>> Sorry, my English is poor, I try my best to make everyone >>>>> understand what I >>>> wrote. >>>>> >>>>> In fact, I want to ask : is it possible to define one >>>>> <field-handler/> and use it >>>> in everywhere ? >>>>> >>>>> Joey >>>>> >>>>>> -----邮件原件----- 发件人: avner21J [mailto:[email protected]] 发 >> 送时 >>>>>> 间: 2011年3月9日 17:28 收件人: [email protected] 主题: >> Re: >>>>>> [castor-user] how to reuse the field-handler defined in >>>>>> mapping >>>> file? >>>>>> >>>>>> >>>>>> Joey, >>>>>> >>>>>> How does this post of yours relate to the original problem? >>>>>> >>>>>> Don't clutter with unrelated posts and make it difficult for >>>>>> others to understand. >>>>>> >>>>>> >>>>>> >>>>>> 吕晓一 wrote: >>>>>>> >>>>>>> Hi, my project use Castor, and I have one question. >>>>>>> >>>>>>> I created a field handler named TimeHander.java like this: >>>>>>> >>>>>>> public class TimeHandler extends GeneralizedFieldHandler { >>>>>>> >>>>>>> private SimpleDateFormat formatter = new >>>>>> SimpleDateFormat("yyyyMMdd"); >>>>>>> >>>>>>> public TimeHandler() { super(); } >>>>>>> >>>>>>> public void setConfiguration(Properties config) throws >>>>>>> ValidityException { String pattern = >>>>>>> config.getProperty("date-format"); if (pattern == null) { >>>>>>> throw new ValidityException("need parameter >>>>>> \"date-format\""); >>>>>>> } try { formatter = new SimpleDateFormat(pattern); } catch >>>>>>> (IllegalArgumentException e) { throw new >>>>>>> ValidityException("the parameter \"" + pattern >>>> + >>>>>> "\" >>>>>>> invalid"); } } >>>>>>> >>>>>>> >>>>>>> public Object convertUponGet(Object value) { if (value == >>>>>>> null) return null; Date date = (Date) value; return >>>>>>> formatter.format(date); >>>>>>> >>>>>>> } >>>>>>> >>>>>>> public Object convertUponSet(Object value) { Date date = >>>>>>> null; try { if (StringUtils.isEmpty((String) value)) { return >>>>>>> date; } date = formatter.parse((String) value); } catch >>>>>>> (ParseException px) { throw new >>>>>>> IllegalArgumentException(px.getMessage()); } return date; >>>>>>> >>>>>>> } >>>>>>> >>>>>>> public Class getFieldType() { return Date.class; } >>>>>>> >>>>>>> >>>>>>> public Object newInstance(Object parent) throws >>>> IllegalStateException >>>>>>> { return null; } } >>>>>>> >>>>>>> >>>>>>> and my Java bean has two java.util.Date type fields, to make >>>>>>> Castor work correctly, I have to define two <field-handler/> >>>>>>> in mapping file like this: ... ... <field-handler >>>>>>> name="timeHandler1" class="TimeHandler"> >>>>>>> >>>>>>> </field-handler> <field-handler name="timeHandler2" >>>>>>> class="TimeHandler"> >>>>>>> >>>>>>> </field-handler> ... ... <class name="Mybean "> <map-to >>>>>>> xml="MyBean"/> <field name="time1" type="java.lang.String" >>>> handler="timeHandler1"> >>>>>>> <bind-xml name="Time1" node="element"/> </field> <field >>>>>>> name="time2" type="java.lang.String" >>>> handler="timeHandler2"> >>>>>>> <bind-xml name="Time2" node="element"/> </field> </class> >>>>>>> .... >>>>>>> >>>>>>> that's mean: one field , one <field-handler/> , even the >>>>>>> same processing logic. >>>>>>> >>>>>>> But my project has dozens of Java beans, and has dozens of >>>>>>> Date-type fileds, so, I have to define dozens of >>>>>>> <field-handler/>, it is so terrible.... >>>>>>> >>>>>>> Is there any advices? >>>>>>> >>>>>>> Regards >>>>>>> >>>>>>> Joey >>>>>>> >>>>>>> 2011-3-9 >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> -- View this message in context: >>>>>> >>>> >> http://old.nabble.com/UnmarshalException-for-xml-created-by-Castor-Marshal >>>>>> >>>> >> ler-tp31097277p31104647.html >>>>>> Sent from the Castor - User mailing list archive at >>>>>> Nabble.com. >>>>>> >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> >>>>>> >> 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

