Just a quick hint: check if the name of your bean attributes are correct
when you pass it to the GenericSelectionModel (labelField and idField). In
my implementation, when the names are wrong, the list shows the toString()
method.

On Fri, Dec 19, 2008 at 3:59 AM, CG <learn....@gmail.com> wrote:

> thx all ..
> seems like I am not the one one face this problem ..
> but very strange that only for some bean , it works , only this
> particular one ...
>
>
> On Fri, Dec 19, 2008 at 12:57 AM, Peter Stavrinides
> <p.stavrini...@albourne.com> wrote:
> > Don't know if this will help your but we had a similar issue (not using
> the beanmodel though), we used to override toString() in an EnumSelectModel
> but found this no longer works, the solution was to implement a properties
> file instead to do the mapping... I haven't tried it but you might be able
> to do something similar for your situation.
> >
> > cheers,
> > Peter
> >
> >
> > ----- Original Message -----
> > From: "Geoff Callender" <geoff.callender.jumpst...@gmail.com>
> > To: "Tapestry users" <users@tapestry.apache.org>
> > Sent: Thursday, 18 December, 2008 10:24:18 AM GMT +02:00 Athens, Beirut,
> Bucharest, Istanbul
> > Subject: Re: [T5] GenericSelectModel Problem
> >
> > Unfortunately I don't have time to re-create your problem, but does
> > the slightly different GenericSelectModel in JumpStart have the same
> > problem?  http://localhost:8080/jumpstart/examples/select/easyobject
> >
> > Cheers,
> >
> > Geoff
> >
> > On 18/12/2008, at 12:02 PM, CG wrote:
> >
> >> anybody can help ? ...
> >>
> >> On Thu, Dec 18, 2008 at 12:00 AM, CG <learn....@gmail.com> wrote:
> >>> I have implemented the GenericSelectModel as written in wiki
> >>> (http://wiki.apache.org/tapestry/Tapestry5HowtoSelectWithObjects) and
> >>> it worked fine.
> >>> However, recently I add a new Bean class and create a
> >>> GenericSelectModel for it , and the nightmare come.
> >>>
> >>> For other bean class , no problem. Only for this particular bean
> >>> class.(UnitMeasurement)
> >>>
> >>> After debugging ..
> >>> I found out that , in the function toClient(T object) , we suppose to
> >>> receive parameter object as a bean class instance . however, for this
> >>> UnitMeasurement class
> >>> the object is String type, more precise , is a toString() value for
> >>> the bean instance
> >>>
> >>> I hv checked whether I pass in the model and encoder correctly or not
> >>> , yes, it is correct.  I really hv no idea to solve  .. please help.
> >>> Thanks.
> >>>
> >>>
> >>> T5 version : 5.0.18
> >>>
> >>> Rgds,
> >>> CG
> >>>
> >>>
> >>> Error
> >>> ====
> >>> [toClient] obj : MaterialType: [id=1, type=R, description=Raw
> >>> Material, isProduced=false, isPurchased=true, isForSales=false,
> >>> isJIT=true, record status=A, session id=, create login=admin, create
> >>> app=, create timestamp=2008-09-30 21:27:09.0, modify login=admin,
> >>> modify app=MaterialTypeMaintenance, modify time=2008-10-06
> >>> 21:44:51.0,
> >>> version=0]
> >>> [toClient] obj : MaterialType: [id=1, type=R, description=Raw
> >>> Material, isProduced=false, isPurchased=true, isForSales=false,
> >>> isJIT=true, record status=A, session id=, create login=admin, create
> >>> app=, create timestamp=2008-09-30 21:27:09.0, modify login=admin,
> >>> modify app=MaterialTypeMaintenance, modify time=2008-10-06
> >>> 21:44:51.0,
> >>> version=0]
> >>> [toClient] obj : MaterialType: [id=2, type=S,
> >>> description=Semi-Finished Material, isProduced=true,
> >>> isPurchased=false, isForSales=false, isJIT=true, record status=A,
> >>> session id=, create login=admin, create app=, create
> >>> timestamp=2008-09-30 21:27:09.0, modify login=admin, modify
> >>> app=MaterialTypeMaintenance, modify time=2008-10-25 00:48:43.0,
> >>> version=0]
> >>> [toClient] obj : MaterialType: [id=3, type=F, description=Finished
> >>> Goods, isProduced=true, isPurchased=false, isForSales=true,
> >>> isJIT=false, record status=A, session id=, create login=admin, create
> >>> app=, create timestamp=2008-09-30 21:27:09.0, modify login=admin,
> >>> modify app=, modify time=2008-09-30 21:27:09.0, version=0]
> >>> [toClient] obj : MaterialType: [id=4, type=P, description=Phantom
> >>> Material, isProduced=true, isPurchased=false, isForSales=false,
> >>> isJIT=true, record status=A, session id=, create login=admin, create
> >>> app=, create timestamp=2008-10-02 22:28:33.0, modify login=admin,
> >>> modify app=MaterialTypeMaintenance, modify time=2008-10-25
> >>> 00:51:09.0,
> >>> version=0]
> >>> [toClient] obj : MaterialType: [id=5, type=T, description=Trading
> >>> Material, isProduced=false, isPurchased=true, isForSales=true,
> >>> isJIT=false, record status=A, session id=, create login=admin, create
> >>> app=, create timestamp=2008-10-04 00:36:53.0, modify login=admin,
> >>> modify app=MaterialTypeMaintenance, modify time=2008-10-25
> >>> 00:51:19.0,
> >>> version=0]
> >>> [toClient] obj : MaterialType: [id=6, type=C, description=Consumable
> >>> Material, isProduced=false, isPurchased=true, isForSales=false,
> >>> isJIT=false, record status=A, session id=, create login=admin, create
> >>> app=MaterialTypeMaintenance, create timestamp=2008-10-06 21:49:31.0,
> >>> modify login=admin, modify app=MaterialTypeMaintenance, modify
> >>> time=2008-10-25 00:51:29.0, version=0]
> >>> [toClient] obj : UOM: [id=1, record status=A, session id=1, create
> >>> login=manual, create app=manual, create timestamp=2008-12-15
> >>> 00:00:00.0, modify login=manual, modify app=manual, modify
> >>> time=2008-12-15 00:00:00.0, version=1]
> >>> 23:43:23,759 ERROR [MaterialMaintenance] Render queue error in
> >>> BeforeRenderTemplate[MaterialMaintenance:uom]: Error reading property
> >>> 'id' of UOM: [id=1, record status=A, session id=1, create
> >>> login=manual, create app=manual, create timestamp=2008-12-15
> >>> 00:00:00.0, modify login=manual, modify app=manual, modify
> >>> time=2008-12-15 00:00:00.0, version=1]: object is not an instance of
> >>> declaring class
> >>> org.apache.tapestry5.ioc.internal.util.TapestryException: Error
> >>> reading property 'id' of UOM: [id=1, record status=A, session id=1,
> >>> create login=manual, create app=manual, create timestamp=2008-12-15
> >>> 00:00:00.0, modify login=manual, modify app=manual, modify
> >>> time=2008-12-15 00:00:00.0, version=1]: object is not an instance of
> >>> declaring class [at context:MaterialMaintenance.tml, line 60, column
> >>> 129]
> >>>       at
> >>> org
> >>> .apache
> >>> .tapestry5
> >>> .internal
> >>> .structure
> >>> .ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:932)
> >>>       at
> >>> org
> >>> .apache.tapestry5.internal.structure.ComponentPageElementImpl.access
> >>> $200(ComponentPageElementImpl.java:50)
> >>>       at
> >>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl
> >>> $10.render(ComponentPageElementImpl.java:325)
> >>>       at org.apache.
> >>>
> >>> Page class Code
> >>> ==========
> >>>       uomsSelect = null;
> >>>       materialTypesSelect = null;
> >>>       uomsSelect = new
> >>> GenericSelectModel
> >>> <
> >>> UnitMeasurement
> >>> >(uoms,UnitMeasurement.class,"shortForm","id",_access_uom);
> >>>       materialTypesSelect = new
> >>> GenericSelectModel
> >>> <
> >>> MaterialType
> >>> >(materialTypes,MaterialType.class,"typeDescription","id",_access);
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> Tml template
> >>> ========
> >>>                      <tr>
> >>>                          <th><t:label
> >>> t:for="MaterialType">MaterialType</t:label>:</th>
> >>>                          <td>   <select  t:type="select"
> >>> t:id="materialType" t:model="materialTypesSelect"
> >>> encoder="materialTypesSelect" t:value="materialType" /> </td>
> >>>                      </tr>
> >>>                      <tr>
> >>>                          <th><t:label t:for="UOM">Unit Of
> >>> Measurement</t:label>:</th>
> >>>                          <td>   <select  t:type="select" t:id="UOM"
> >>> t:model="uomsSelect" encoder="uomsSelect" t:value="UOM" /> </td>
> >>>                      </tr>
> >>>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> >> For additional commands, e-mail: users-h...@tapestry.apache.org
> >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> > For additional commands, e-mail: users-h...@tapestry.apache.org
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> > For additional commands, e-mail: users-h...@tapestry.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>


-- 
Atenciosamente,

Marcelo Lotif
Programador Java e Tapestry
FIEC - Federação das Indústrias do Estado do Ceará
(85) 3421-5910

Reply via email to