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