Right right right, good catch, but I suppose you could write a conversion 
service which throws the business exception.  Not really a solution to 
your question, but it would clean up your code a bit and take conversion 
logic out of the frontend.



From:   James Carman <[email protected]>
To:     [email protected]
Date:   01/28/2011 04:13 PM
Subject:        Re: Using Wicket with businness model classes that check 
for rules
Sent by:        [email protected]



But, then you lose the component-specific error messages.

On Fri, Jan 28, 2011 at 4:08 PM,  <[email protected]> wrote:
> Just a suggestion, pass the UserDto to the service layer and let the
> service layer do the conversion.  Then you can look at <a href="
> http://code.google.com/p/simple-object-assembler/";>Simple Object
> Assembler</a> to encapsulate the conversion.  Hint: use
> automapWhenNoConverterFound property and you won't need to write any
> converters for Simple Object Assembler (assuming your properties follow 
a
> naming convention).
>
>
>
>
> From:   fernandospr <[email protected]>
> To:     [email protected]
> Date:   01/28/2011 04:00 PM
> Subject:        Re: Using Wicket with businness model classes that check
> for rules
>
>
>
>
> Thanks James I'll investigate on extending PropertyModel.
>
> Currently I'm doing the following:
>
> public class UserRegistrationPage extends WebPage {
>                 @SpringBean
>                 private UserService userService;
>
>                 private FeedbackPanel feedbackPanel;
>                 private UserDto userDto; // only has the User properties
>
>                 @SuppressWarnings("unchecked")
>                 public UserRegistrationPage() {
>                                 feedbackPanel = new
> FeedbackPanel("feedback");
>                                 userDto = new UserDto();
>                                 CompoundPropertyModel userDtoModel = new
> CompoundPropertyModel(userDto);
> // bind to the DTO
>
>                                 Form registrarForm = new
> Form("registerForm", userDtoModel){
>                                                 @Override
>                                                 protected void 
onSubmit()
> {
>                                                                 try {
>                                        // Create a real User and obtain
> the
> data from the DTO
>  User user = new User(userDto.getEmail(),
>   userDto.getName(),
>   userDto.getPassword(),
>   userDto.getBirth());
>  userService.save(user); // service calls the dao which actually saves
> to DB
>                                                                 } catch
> (Exception e) { // The Businness Exception has the message error
>  feedbackPanel.warn(e.getMessage());
>                                                                 }
>                                                 }
>                                 };
>
>                                 registerForm.add(new
> TextField("email").setRequired(true)); // form binded
> to the DTO properties
>                                 ...
> --
> View this message in context:
> 
http://apache-wicket.1842946.n4.nabble.com/Using-Wicket-with-businness-model-classes-that-check-for-rules-tp3245298p3245378.html

>
> Sent from the Users forum mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
>
>
>
>
> Notice: This communication, including any attachments, is intended 
solely
> for the use of the individual or entity to which it is addressed. This
> communication may contain information that is protected from disclosure
> under State and/or Federal law. Please notify the sender immediately if
> you have received this communication in error and delete this email from
> your system. If you are not the intended recipient, you are requested 
not
> to disclose, copy, distribute or take any action in reliance on the
> contents of this information.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]






Notice: This communication, including any attachments, is intended solely 
for the use of the individual or entity to which it is addressed. This 
communication may contain information that is protected from disclosure 
under State and/or Federal law. Please notify the sender immediately if 
you have received this communication in error and delete this email from 
your system. If you are not the intended recipient, you are requested not 
to disclose, copy, distribute or take any action in reliance on the 
contents of this information.

Reply via email to