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
> >>>>
> >>>

Attachment: src.rar
Description: src.rar

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to