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