When are you doing this add ? You error can be due for exemple to a multiple call to add() on a persistent variable.
2009/9/28 neo anderson <javadeveloper...@yahoo.co.uk> > > > Thanks for your reply. But when adding the method > > model.add("account").label("Account").sortable(false); > > The error occurrs after clicking the beaneditform button, the log shows the > following exception: > > [ERROR] TapestryModule.RequestExceptionHandler Processing of request failed > with uncaught exception: Failure reading parameter 'model' of component > Register:beaneditform: Bean editor model for example.domain.User already > contains a property model for property 'account'. > ... > ... > Caused by: java.lang.RuntimeException: Bean editor model for > example.domain.User already contains a property model for property > 'account'. > at > > org.apache.tapestry5.internal.beaneditor.BeanModelImpl.validateNewPropertyName(BeanModelImpl.java:87) > at > > org.apache.tapestry5.internal.beaneditor.BeanModelImpl.add(BeanModelImpl.java:128) > at > > org.apache.tapestry5.internal.beaneditor.BeanModelImpl.add(BeanModelImpl.java:79) > at org.jecommerce.pages.Register.getRegisterModel(Register.java:92) > at > $PropertyConduit_1240259d749.get($PropertyConduit_1240259d749.java) > at > org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:58) > ... 74 more > > > It looks like the BeanModel already contains the proerty account. I am > really confused because no matter I add or do not add a new property, the > exception will always be thrown. What place may I go wrong? Or is there any > example I can check if anything I miss? > > Thank you very much. > > > > cordenier christophe wrote: > > > > To add a synthetic property, you only have to call add(propertyName) on > > the > > BeanModel. > > > > By setting the datatype on the resulting PropertyModel or by using > > t:parameter, you will be able to create the display for the corresponding > > property in your beaneditform. > > > > 2009/9/28 neo anderson <javadeveloper...@yahoo.co.uk> > > > >> > >> It is the line where PropertyConduitSource (variable source.create() ... > >> ) > >> create synthetic property account as the following code. > >> > >> PropertyConduit accountProperty = > >> source.create(User.class, > >> "account"); > >> > >> Is this the right way to create PropertyConduit? I tried to change it > >> using > >> String.class, but the error is the same (NullPointerException). I think > >> there should have something I miss, but that's the method I found on the > >> mailinglist. I am confused indeed. > >> > >> > >> > http://www.nabble.com/T5%3A-Working-with-BeanModel-td18231888.html#a18352011 > >> > >> > >> > >> > >> ccordenier wrote: > >> > > >> > What corresponds to line 92 in your code ? > >> > > >> > -----Message d'origine----- > >> > De : neo anderson [mailto:javadeveloper...@yahoo.co.uk] > >> > Envoyé : lundi 28 septembre 2009 14:23 > >> > À : users@tapestry.apache.org > >> > Objet : Re: Bean editor model for User already contains a property > >> model > >> > for property 'account' > >> > > >> > > >> > > >> > Now I use the folloing method to create synthetic property > >> > > >> > PropertyConduit accountProperty = > >> > source.create(User.class, "account"); > >> > ClassPropertyAdapter cpa = > >> access.getAdapter(User.class); > >> > PropertyAdapter pa = > cpa.getPropertyAdapter("account"); > >> > String dt = analyzer.identifyDataType(pa); > >> > > >> > > >> > model.add("account",accountProperty).dataType(dt).label("Account").sortable(false); > >> > > >> > However, it throws NullPointerException without further detail. > >> > > >> > Caused by: java.lang.NullPointerException > >> > at > >> > org.jecommerce.pages.Register.getRegisterModel(Register.java:92) > >> > at > >> > $PropertyConduit_12400839bf9.get($PropertyConduit_12400839bf9.java) > >> > at > >> > > >> > org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:58) > >> > ... 91 more > >> > > >> > What additional information I need to provide (or anything is missing) > >> so > >> > that it won't throw this error? > >> > > >> > Thanks for help. > >> > > >> > > >> > > >> > Thiago H. de Paula Figueiredo wrote: > >> >> > >> >> Em Wed, 23 Sep 2009 17:58:08 -0300, neo anderson > >> >> <javadeveloper...@yahoo.co.uk> escreveu: > >> >> > >> >> > >> >>> I have an domain object named User, in which it has a field called > >> >>> `account'. However, the User object only provide method > getAccount(), > >> >>> but does not > >> >>> provide method setAccount(String account). > >> >> > >> >> BeanModelSource (used when a BeanModel is needed and you don't > provide > >> >> one) ignores read-only properties. It doesn't care about fields, just > >> >> about getters and setters. > >> >> > >> >>> In the page object e.g. Register, in which I build a BeanModel using > >> >>> BeanModelSource.create(User.class, ...) > >> >> > >> >> This method is deprecated. use createDisplayModel() or > >> createEditModel() > >> >> instead. > >> >> > >> >>> 1.) in the Register page object, BeanModel does not use > >> >>> `BeanModel.add("account",null).label("Account").sortable(false)' > >> method > >> >>> to create account field. > >> >>> > >> >>> Error: > >> >>> aused by: java.lang.RuntimeException: Bean editor model for User > does > >> >>> not > >> >>> contain a property named 'account'. Available properties: address, > >> >>> name, > >> >>> password, sex. > >> >> > >> >> You can't reorder a model using some property that doesn't exist. > >> >> > >> >>> Caused by: java.lang.RuntimeException: Bean editor model for User > >> >>> already > >> >>> contains a property model for property 'account'. > >> >> > >> >> You can't add the same property twice in the same model. > >> >> > >> >>> What is the correct way to add a column that the User object doesn't > >> >>> provide get/set method at the same time? > >> >> > >> >> For BeanEditForm or BeanEditor, you'll need to provide your own > >> >> PropertyConduit to model.add(String property, PropertyConduit > >> conduit). > >> >> > >> >> -- > >> >> Thiago H. de Paula Figueiredo > >> >> Independent Java consultant, developer, and instructor > >> >> http://www.arsmachina.com.br/thiago > >> >> > >> >> --------------------------------------------------------------------- > >> >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > >> >> For additional commands, e-mail: users-h...@tapestry.apache.org > >> >> > >> >> > >> >> > >> > > >> > -- > >> > View this message in context: > >> > > >> > http://www.nabble.com/Bean-editor-model-for-User-already-contains-a-property-model-for-property-%27account%27-tp25531292p25644707.html > >> > Sent from the Tapestry - User mailing list archive at Nabble.com. > >> > > >> > > >> > --------------------------------------------------------------------- > >> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > >> > For additional commands, e-mail: users-h...@tapestry.apache.org > >> > > >> > > >> > > >> > > >> > Ce message et les pièces jointes sont confidentiels et réservés à > >> l'usage > >> > exclusif de ses destinataires. Il peut également être protégé par le > >> > secret professionnel. Si vous recevez ce message par erreur, merci > d'en > >> > avertir immédiatement l'expéditeur et de le détruire. L'intégrité du > >> > message ne pouvant être assurée sur Internet, la responsabilité du > >> groupe > >> > Atos Origin ne pourra être recherchée quant au contenu de ce message. > >> Bien > >> > que les meilleurs efforts soient faits pour maintenir cette > >> transmission > >> > exempte de tout virus, l'expéditeur ne donne aucune garantie à cet > >> égard > >> > et sa responsabilité ne saurait être recherchée pour tout dommage > >> > résultant d'un virus transmis. > >> > > >> > This e-mail and the documents attached are confidential and intended > >> > solely for the addressee; it may also be privileged. If you receive > >> this > >> > e-mail in error, please notify the sender immediately and destroy it. > >> As > >> > its integrity cannot be secured on the Internet, the Atos Origin group > >> > liability cannot be triggered for the message content. Although the > >> sender > >> > endeavours to maintain a computer virus-free network, the sender does > >> not > >> > warrant that this transmission is virus-free and will not be liable > for > >> > any damages resulting from any virus transmitted. > >> > > >> > > >> > --------------------------------------------------------------------- > >> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > >> > For additional commands, e-mail: users-h...@tapestry.apache.org > >> > > >> > > >> > > >> > >> -- > >> View this message in context: > >> > http://www.nabble.com/Bean-editor-model-for-User-already-contains-a-property-model-for-property-%27account%27-tp25531292p25645385.html > >> Sent from the Tapestry - User mailing list archive at Nabble.com. > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > >> For additional commands, e-mail: users-h...@tapestry.apache.org > >> > >> > > > > > > -- > View this message in context: > http://www.nabble.com/Bean-editor-model-for-User-already-contains-a-property-model-for-property-%27account%27-tp25531292p25652604.html > Sent from the Tapestry - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >