[Wicket-user] Detached Models and Forms

2006-07-31 Thread Nick Heudecker
Is it possible to use a LoadableDetachableModel with a Form? The problem I'm running into is the following:1) Create the Form with: new Form(form, new CompoundPropertyModel(new MyDetachableModel(fooId, fooService)));
2) Present the page to the user for editing. The user edits the fields and submits the form.3) The model object is reloaded from the database/cache, wiping out what the user entered. Is there any way around clobbering the user input? It doesn't look like it since the LoadableDetachableModel is doing exactly what it's supposed to, but I want to make sure I'm not missing something. 

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] Detached Models and Forms

2006-07-31 Thread Eelco Hillenius
Yeah, those models are typically perfect for doing database stuff. The
only thing is that if all validations pass, you should update the
database. But that's usually exactly what you want, right? If
validation fails, the model is indeed reloaded from the database, but
that's not something that is in the user's way as for components for
which the validation failed, the input values of last request will be
displayed instead of the current model values.

Eelco


On 7/31/06, Nick Heudecker [EMAIL PROTECTED] wrote:
 Is it possible to use a LoadableDetachableModel with a Form?  The problem
 I'm running into is the following:

 1) Create the Form with: new Form(form, new CompoundPropertyModel(new
 MyDetachableModel(fooId, fooService)));
 2) Present the page to the user for editing.  The user edits the fields and
 submits the form.
 3) The model object is reloaded from the database/cache, wiping out what the
 user entered.

 Is there any way around clobbering the user input?  It doesn't look like it
 since the LoadableDetachableModel is doing exactly what it's supposed to,
 but I want to make sure I'm not missing something.

 -
 Take Surveys. Earn Cash. Influence the Future of IT
 Join SourceForge.net's Techsay panel and you'll get the chance to share your
 opinions on IT  business topics through brief surveys -- and earn cash
 http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV

 ___
 Wicket-user mailing list
 Wicket-user@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wicket-user




-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] Detached Models and Forms

2006-07-31 Thread Nick Heudecker
But that's not the behavior I'm seeing. On successful validation, the model object is refreshed from the database after the form updates the model object, clobbering the user-entered data. 
On 7/31/06, Eelco Hillenius [EMAIL PROTECTED] wrote:
Yeah, those models are typically perfect for doing database stuff. Theonly thing is that if all validations pass, you should update thedatabase. But that's usually exactly what you want, right? Ifvalidation fails, the model is indeed reloaded from the database, but
that's not something that is in the user's way as for components forwhich the validation failed, the input values of last request will bedisplayed instead of the current model values.EelcoOn 7/31/06, Nick Heudecker 
[EMAIL PROTECTED] wrote: Is it possible to use a LoadableDetachableModel with a Form?The problem I'm running into is the following: 1) Create the Form with: new Form(form, new CompoundPropertyModel(new
 MyDetachableModel(fooId, fooService))); 2) Present the page to the user for editing.The user edits the fields and submits the form. 3) The model object is reloaded from the database/cache, wiping out what the
 user entered. Is there any way around clobbering the user input?It doesn't look like it since the LoadableDetachableModel is doing exactly what it's supposed to, but I want to make sure I'm not missing something.
 - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your
 opinions on IT  business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
 ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net 
https://lists.sourceforge.net/lists/listinfo/wicket-user-Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share youropinions on IT  business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___Wicket-user mailing listWicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user
-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] Detached Models and Forms

2006-07-31 Thread Eelco Hillenius
After successful validation, you should update the database with the
object that is in your detachable model. They should be in sync then.
If for some reason, you need to read in the value fresh in the same
request, just call detach on that model to ensure next time it is read
it will first re-load the actual model.

Eelco


On 7/31/06, Nick Heudecker [EMAIL PROTECTED] wrote:
 But that's not the behavior I'm seeing.  On successful validation, the model
 object is refreshed from the database after the form updates the model
 object, clobbering the user-entered data.


  On 7/31/06, Eelco Hillenius [EMAIL PROTECTED] wrote:
  Yeah, those models are typically perfect for doing database stuff. The
  only thing is that if all validations pass, you should update the
  database. But that's usually exactly what you want, right? If
  validation fails, the model is indeed reloaded from the database, but
  that's not something that is in the user's way as for components for
  which the validation failed, the input values of last request will be
  displayed instead of the current model values.
 
  Eelco
 
 
  On 7/31/06, Nick Heudecker  [EMAIL PROTECTED] wrote:
   Is it possible to use a LoadableDetachableModel with a Form?  The
 problem
   I'm running into is the following:
  
   1) Create the Form with: new Form(form, new CompoundPropertyModel(new
   MyDetachableModel(fooId, fooService)));
   2) Present the page to the user for editing.  The user edits the fields
 and
   submits the form.
   3) The model object is reloaded from the database/cache, wiping out what
 the
   user entered.
  
   Is there any way around clobbering the user input?  It doesn't look like
 it
   since the LoadableDetachableModel is doing exactly what it's supposed
 to,
   but I want to make sure I'm not missing something.
  
  
 -
   Take Surveys. Earn Cash. Influence the Future of IT
   Join SourceForge.net's Techsay panel and you'll get the chance to share
 your
   opinions on IT  business topics through brief surveys -- and earn cash
  
 http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
  
   ___
   Wicket-user mailing list
   Wicket-user@lists.sourceforge.net
  
 https://lists.sourceforge.net/lists/listinfo/wicket-user
  
  
  
 
 
 -
  Take Surveys. Earn Cash. Influence the Future of IT
  Join SourceForge.net's Techsay panel and you'll get the chance to share
 your
  opinions on IT  business topics through brief surveys -- and earn cash
 
 http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
  ___
  Wicket-user mailing list
  Wicket-user@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/wicket-user
 


 -
 Take Surveys. Earn Cash. Influence the Future of IT
 Join SourceForge.net's Techsay panel and you'll get the chance to share your
 opinions on IT  business topics through brief surveys -- and earn cash
 http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV

 ___
 Wicket-user mailing list
 Wicket-user@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wicket-user




-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] Detached Models and Forms

2006-07-31 Thread Nick Heudecker
So something like this?public void onSubmit() { Foo f = (Foo) getModelObject(); ...}or like: public void onSubmit() { Foo f = (Foo) getModel().getObject(null); ...}
Because the first one refreshes the object from the database. On 7/31/06, Eelco Hillenius [EMAIL PROTECTED]
 wrote:After successful validation, you should update the database with the
object that is in your detachable model. They should be in sync then.If for some reason, you need to read in the value fresh in the samerequest, just call detach on that model to ensure next time it is readit will first re-load the actual model.
EelcoOn 7/31/06, Nick Heudecker [EMAIL PROTECTED] wrote: But that's not the behavior I'm seeing.On successful validation, the model object is refreshed from the database after the form updates the model
 object, clobbering the user-entered data.On 7/31/06, Eelco Hillenius [EMAIL PROTECTED] wrote:  Yeah, those models are typically perfect for doing database stuff. The
  only thing is that if all validations pass, you should update the  database. But that's usually exactly what you want, right? If  validation fails, the model is indeed reloaded from the database, but
  that's not something that is in the user's way as for components for  which the validation failed, the input values of last request will be  displayed instead of the current model values.
   EelcoOn 7/31/06, Nick Heudecker  [EMAIL PROTECTED] wrote:   Is it possible to use a LoadableDetachableModel with a Form?The
 problem   I'm running into is the following: 1) Create the Form with: new Form(form, new CompoundPropertyModel(new   MyDetachableModel(fooId, fooService)));
   2) Present the page to the user for editing.The user edits the fields and   submits the form.   3) The model object is reloaded from the database/cache, wiping out what
 the   user entered. Is there any way around clobbering the user input?It doesn't look like it   since the LoadableDetachableModel is doing exactly what it's supposed
 to,   but I want to make sure I'm not missing something. -   Take Surveys. Earn Cash. Influence the Future of IT
   Join SourceForge.net's Techsay panel and you'll get the chance to share your   opinions on IT  business topics through brief surveys -- and earn cash   
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___
   Wicket-user mailing list   Wicket-user@lists.sourceforge.net   
https://lists.sourceforge.net/lists/listinfo/wicket-user -
  Take Surveys. Earn Cash. Influence the Future of IT  Join SourceForge.net's Techsay panel and you'll get the chance to share your  opinions on IT  business topics through brief surveys -- and earn cash
  http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV  ___
  Wicket-user mailing list  Wicket-user@lists.sourceforge.net  
https://lists.sourceforge.net/lists/listinfo/wicket-user  - Take Surveys. Earn Cash. Influence the Future of IT
 Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT  business topics through brief surveys -- and earn cash 
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Wicket-user mailing list 
Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user-
Take Surveys. Earn Cash. Influence the Future of ITJoin SourceForge.net's Techsay panel and you'll get the chance to share youropinions on IT  business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___Wicket-user mailing listWicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user
-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] Detached Models and Forms

2006-07-31 Thread Eelco Hillenius
Both methods have the same effect. The attachement of models is hidden
in the models, not in the components. Detachement is done by
components after rendering. Preferably is getModelObject, but just
because it is shorter and it hides getting the model.

What happens in that request is that first the model object will be
fetched from the database (the first time model.getObject is called
somewhere). When all validation succeeds, that object is then updated
with the form values etc. If you access that in the onSubmit method,
you'll still have that same - now udpated - object, provided you
didn't manually detach your model yourself somehow. So, just get that
object, save it, and you're done.

Eelco


On 7/31/06, Nick Heudecker [EMAIL PROTECTED] wrote:
 So something like this?

 public void onSubmit() {
   Foo f = (Foo) getModelObject();
   ...
 }

 or like:

 public void onSubmit() {
   Foo f = (Foo) getModel().getObject(null);
   ...
 }

  Because the first one refreshes the object from the database.



 On 7/31/06, Eelco Hillenius [EMAIL PROTECTED]  wrote:
 
 After successful validation, you should update the database with the
  object that is in your detachable model. They should be in sync then.
 If for some reason, you need to read in the value fresh in the same
 request, just call detach on that model to ensure next time it is read
 it will first re-load the actual model.

 Eelco


 On 7/31/06, Nick Heudecker [EMAIL PROTECTED] wrote:
  But that's not the behavior I'm seeing.  On successful validation, the
 model
  object is refreshed from the database after the form updates the model
  object, clobbering the user-entered data.
 
 
   On 7/31/06, Eelco Hillenius [EMAIL PROTECTED] wrote:
   Yeah, those models are typically perfect for doing database stuff. The
   only thing is that if all validations pass, you should update the
   database. But that's usually exactly what you want, right? If
   validation fails, the model is indeed reloaded from the database, but
   that's not something that is in the user's way as for components for
   which the validation failed, the input values of last request will be
   displayed instead of the current model values.
  
   Eelco
  
  
   On 7/31/06, Nick Heudecker  [EMAIL PROTECTED] wrote:
Is it possible to use a LoadableDetachableModel with a Form?  The
  problem
I'm running into is the following:
   
1) Create the Form with: new Form(form, new
 CompoundPropertyModel(new
MyDetachableModel(fooId, fooService)));
2) Present the page to the user for editing.  The user edits the
 fields
  and
submits the form.
3) The model object is reloaded from the database/cache, wiping out
 what
  the
user entered.
   
Is there any way around clobbering the user input?  It doesn't look
 like
  it
since the LoadableDetachableModel is doing exactly what it's supposed
  to,
but I want to make sure I'm not missing something.
   
   
 
 -
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to
 share
  your
opinions on IT  business topics through brief surveys -- and earn
 cash
   
 
 http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
   
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
   
  https://lists.sourceforge.net/lists/listinfo/wicket-user
   
   
   
  
  
 
 -
   Take Surveys. Earn Cash. Influence the Future of IT
   Join SourceForge.net's Techsay panel and you'll get the chance to share
  your
   opinions on IT  business topics through brief surveys -- and earn cash
  
 
 http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
   ___
   Wicket-user mailing list
   Wicket-user@lists.sourceforge.net
  
 https://lists.sourceforge.net/lists/listinfo/wicket-user
  
 
 
 
 -
  Take Surveys. Earn Cash. Influence the Future of IT
  Join SourceForge.net's Techsay panel and you'll get the chance to share
 your
  opinions on IT  business topics through brief surveys -- and earn cash
 
 http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
 
  ___
  Wicket-user mailing list
  Wicket-user@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/wicket-user
 
 
 

 -

 Take Surveys. Earn Cash. Influence the Future of IT
 Join SourceForge.net's Techsay panel and you'll get the chance to share your
 opinions on IT  business topics through brief surveys -- and earn cash
 http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV