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

Reply via email to