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 > >>>> > >>>
src.rar
Description: src.rar
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email

