RE: DropDownChoice/Model Confusion

2010-10-06 Thread Shelli Orton
By removing the call to setDefaultFormProcessing(false) on the cancel button, 
the edit group is now updated as per the selection from the ddc.

However, I'm still having the ldm loading issue.  Can anyone provide any 
insight into why when the save button is clicked that the onSubmit method is 
called before the ldm.load, but the onSubmit is called after the ldm.load for 
the delete button?

Thanks for all the help!

Shelli

-Original Message-
From: Shelli Orton 
Sent: Wednesday, October 06, 2010 9:41 AM
To: users@wicket.apache.org
Subject: RE: DropDownChoice/Model Confusion

No, the getList() (called in the LDM load()) is only called once.  For the 
buttons add, edit and delete, the processng is like this:

- ldm.load() (which calls getList())
- button.onSubmit()
- ldm.detach() (called two times)

For the save button, the processing is:

- button.onSubmit()
- ldm.load()
- ldm.detach() (called two times)

I've discovered another anomaly in my code.  When I choose a record and click 
the edit button, the record is displayed in the edit group.  If I then choose 
cancel, the edit group is no longer displayed and the ddc selection is null. I 
then choose another record from the list and edit and the previous record 
information is displayed in the edit group even though the ddc shows the newly 
selected record.

I added get/set for the selectedRecord and set breakpoints, but those methods 
are never called.  Since the edit group components use PropertyModels, 
shouldn't the get method be called each time the page is submitted?

Shelli


-Original Message-
From: jcar...@carmanconsulting.com [mailto:jcar...@carmanconsulting.com] On 
Behalf Of James Carman
Sent: Tuesday, October 05, 2010 4:50 PM
To: users@wicket.apache.org
Subject: Re: DropDownChoice/Model Confusion

Is your getList() being called multiple times?

On Tue, Oct 5, 2010 at 6:37 PM, Shelli Orton  wrote:
> I overrode the detach method in my class (which simply calls super.detach()) 
> so I could set a breakpoint and see if it gets called and it does.
>
> Shelli
>
> -Original Message-
> From: Shelli Orton
> Sent: Tuesday, October 05, 2010 2:24 PM
> To: users@wicket.apache.org
> Subject: RE: DropDownChoice/Model Confusion
>
> I don't know how to determine that.
>
> -Original Message-
> From: jcar...@carmanconsulting.com [mailto:jcar...@carmanconsulting.com] On 
> Behalf Of James Carman
> Sent: Tuesday, October 05, 2010 1:44 PM
> To: users@wicket.apache.org
> Subject: Re: DropDownChoice/Model Confusion
>
> Is it being detached?
>
> On Tue, Oct 5, 2010 at 3:26 PM, Shelli Orton  wrote:
>> No, I'm not using AJAX.  Is there a way to force the LDB to reload?
>>
>> Shelli
>>
>> -Original Message-
>> From: jcgarciam [mailto:jcgarc...@gmail.com]
>> Sent: Tuesday, October 05, 2010 12:52 PM
>> To: users@wicket.apache.org
>> Subject: Re: DropDownChoice/Model Confusion
>>
>>
>> I dont think it may be related to the hierarchy, are you using AJAX?
>>
>> On Tue, Oct 5, 2010 at 2:38 PM, Shelli Orton [via Apache Wicket] <
>> ml-node+2956527-385265518-65...@n4.nabble.com> 8-65...@n4.nabble.com>
>>> wrote:
>>
>>> Hmm, that code sort of works.  When I create or edit a record, the
>> list
>>> is updated.  However, when I delete a record it is not.  My component
>>> hierarchy is set up like this (hope it makes sense):
>>>
>>> TabPanel
>>>   - SelectForEditForm
>>>     - MyRecords (DDC)
>>>     - Add (Button)
>>>     - Edit (Button)
>>>     - Delete (Button)
>>>   - EditGroup (WebMarkupContainer)
>>>     - EditForm
>>>       - MyRecord Name (TextField)
>>>       - MyRecord Attribute (DDC)
>>>       - Save (Button)
>>>       - Cancel (Button)
>>>
>>> I created the EditGroup so that I can hide/display the edit panel.
>>> Debugging the application shows that the save button onSubmit is
>> called
>>> before the update of the myRecordsModel LDM and this is why the list
>> is
>>> updated when I create/edit a record. The delete button onSubmit is
>>> called after the update of the myRecordsModel LDM and that is why a
>>> deleted record is still visible in the list.
>>>
>>> I think the issue has something to do with the buttons being in
>>> different places in the component hierarchy. Can you provide any
>>> guidance on if there's some way to have the LDM updated after the
>> delete
>>> onSubmit?
>>>
>>> Thanks again,
>>> Shelli
>>>
>>> -Original Message-
>>> From: jcgarciam [mailto:[hidden
>

RE: DropDownChoice/Model Confusion

2010-10-06 Thread Shelli Orton
I don't understand what you mean by "between requests".

-Original Message-
From: jcar...@carmanconsulting.com [mailto:jcar...@carmanconsulting.com] On 
Behalf Of James Carman
Sent: Wednesday, October 06, 2010 9:43 AM
To: users@wicket.apache.org
Subject: Re: DropDownChoice/Model Confusion

I meant between requests

On Wed, Oct 6, 2010 at 11:41 AM, Shelli Orton  wrote:
> No, the getList() (called in the LDM load()) is only called once.  For the 
> buttons add, edit and delete, the processng is like this:
>
> - ldm.load() (which calls getList())
> - button.onSubmit()
> - ldm.detach() (called two times)
>
> For the save button, the processing is:
>
> - button.onSubmit()
> - ldm.load()
> - ldm.detach() (called two times)
>
> I've discovered another anomaly in my code.  When I choose a record and click 
> the edit button, the record is displayed in the edit group.  If I then choose 
> cancel, the edit group is no longer displayed and the ddc selection is null. 
> I then choose another record from the list and edit and the previous record 
> information is displayed in the edit group even though the ddc shows the 
> newly selected record.
>
> I added get/set for the selectedRecord and set breakpoints, but those methods 
> are never called.  Since the edit group components use PropertyModels, 
> shouldn't the get method be called each time the page is submitted?
>
> Shelli
>
>
> -Original Message-
> From: jcar...@carmanconsulting.com [mailto:jcar...@carmanconsulting.com] On 
> Behalf Of James Carman
> Sent: Tuesday, October 05, 2010 4:50 PM
> To: users@wicket.apache.org
> Subject: Re: DropDownChoice/Model Confusion
>
> Is your getList() being called multiple times?
>
> On Tue, Oct 5, 2010 at 6:37 PM, Shelli Orton  wrote:
>> I overrode the detach method in my class (which simply calls super.detach()) 
>> so I could set a breakpoint and see if it gets called and it does.
>>
>> Shelli
>>
>> -Original Message-
>> From: Shelli Orton
>> Sent: Tuesday, October 05, 2010 2:24 PM
>> To: users@wicket.apache.org
>> Subject: RE: DropDownChoice/Model Confusion
>>
>> I don't know how to determine that.
>>
>> -Original Message-
>> From: jcar...@carmanconsulting.com [mailto:jcar...@carmanconsulting.com] On 
>> Behalf Of James Carman
>> Sent: Tuesday, October 05, 2010 1:44 PM
>> To: users@wicket.apache.org
>> Subject: Re: DropDownChoice/Model Confusion
>>
>> Is it being detached?
>>
>> On Tue, Oct 5, 2010 at 3:26 PM, Shelli Orton  wrote:
>>> No, I'm not using AJAX.  Is there a way to force the LDB to reload?
>>>
>>> Shelli
>>>
>>> -Original Message-
>>> From: jcgarciam [mailto:jcgarc...@gmail.com]
>>> Sent: Tuesday, October 05, 2010 12:52 PM
>>> To: users@wicket.apache.org
>>> Subject: Re: DropDownChoice/Model Confusion
>>>
>>>
>>> I dont think it may be related to the hierarchy, are you using AJAX?
>>>
>>> On Tue, Oct 5, 2010 at 2:38 PM, Shelli Orton [via Apache Wicket] <
>>> ml-node+2956527-385265518-65...@n4.nabble.com>> 8-65...@n4.nabble.com>
>>>> wrote:
>>>
>>>> Hmm, that code sort of works.  When I create or edit a record, the
>>> list
>>>> is updated.  However, when I delete a record it is not.  My component
>>>> hierarchy is set up like this (hope it makes sense):
>>>>
>>>> TabPanel
>>>>   - SelectForEditForm
>>>>     - MyRecords (DDC)
>>>>     - Add (Button)
>>>>     - Edit (Button)
>>>>     - Delete (Button)
>>>>   - EditGroup (WebMarkupContainer)
>>>>     - EditForm
>>>>       - MyRecord Name (TextField)
>>>>       - MyRecord Attribute (DDC)
>>>>       - Save (Button)
>>>>       - Cancel (Button)
>>>>
>>>> I created the EditGroup so that I can hide/display the edit panel.
>>>> Debugging the application shows that the save button onSubmit is
>>> called
>>>> before the update of the myRecordsModel LDM and this is why the list
>>> is
>>>> updated when I create/edit a record. The delete button onSubmit is
>>>> called after the update of the myRecordsModel LDM and that is why a
>>>> deleted record is still visible in the list.
>>>>
>>>> I think the issue has something to do with the buttons being in
>>>> different places in the component hierarchy. Can you provide any
>>>> guidance on if there&#

RE: DropDownChoice/Model Confusion

2010-10-06 Thread Shelli Orton
The childRecordService is a stateless JPA bean and the getList method
executes a named query on the database.  The logs show that the SQL to
retrieve the list from the db is called every time (i.e. no caching).

Shelli

-Original Message-
From: Daniel Stoch [mailto:daniel.st...@gmail.com] 
Sent: Wednesday, October 06, 2010 1:37 AM
To: users@wicket.apache.org
Subject: Re: DropDownChoice/Model Confusion

The code looks ok. Maybe the problem is in childRecordService:
childRecordService.getList()
when method getList() does not reflect changes until you create a new
session. So maybe the problem is related to your service layer? Have
you checked whet this method returns inside childRecordsModel.load() ?

--
Daniel

On Tue, Oct 5, 2010 at 10:23 PM, Shelli Orton 
wrote:
> This is what my class basically looks like, hope it helps:

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: DropDownChoice/Model Confusion

2010-10-06 Thread James Carman
I meant between requests

On Wed, Oct 6, 2010 at 11:41 AM, Shelli Orton  wrote:
> No, the getList() (called in the LDM load()) is only called once.  For the 
> buttons add, edit and delete, the processng is like this:
>
> - ldm.load() (which calls getList())
> - button.onSubmit()
> - ldm.detach() (called two times)
>
> For the save button, the processing is:
>
> - button.onSubmit()
> - ldm.load()
> - ldm.detach() (called two times)
>
> I've discovered another anomaly in my code.  When I choose a record and click 
> the edit button, the record is displayed in the edit group.  If I then choose 
> cancel, the edit group is no longer displayed and the ddc selection is null. 
> I then choose another record from the list and edit and the previous record 
> information is displayed in the edit group even though the ddc shows the 
> newly selected record.
>
> I added get/set for the selectedRecord and set breakpoints, but those methods 
> are never called.  Since the edit group components use PropertyModels, 
> shouldn't the get method be called each time the page is submitted?
>
> Shelli
>
>
> -Original Message-
> From: jcar...@carmanconsulting.com [mailto:jcar...@carmanconsulting.com] On 
> Behalf Of James Carman
> Sent: Tuesday, October 05, 2010 4:50 PM
> To: users@wicket.apache.org
> Subject: Re: DropDownChoice/Model Confusion
>
> Is your getList() being called multiple times?
>
> On Tue, Oct 5, 2010 at 6:37 PM, Shelli Orton  wrote:
>> I overrode the detach method in my class (which simply calls super.detach()) 
>> so I could set a breakpoint and see if it gets called and it does.
>>
>> Shelli
>>
>> -----Original Message-
>> From: Shelli Orton
>> Sent: Tuesday, October 05, 2010 2:24 PM
>> To: users@wicket.apache.org
>> Subject: RE: DropDownChoice/Model Confusion
>>
>> I don't know how to determine that.
>>
>> -Original Message-
>> From: jcar...@carmanconsulting.com [mailto:jcar...@carmanconsulting.com] On 
>> Behalf Of James Carman
>> Sent: Tuesday, October 05, 2010 1:44 PM
>> To: users@wicket.apache.org
>> Subject: Re: DropDownChoice/Model Confusion
>>
>> Is it being detached?
>>
>> On Tue, Oct 5, 2010 at 3:26 PM, Shelli Orton  wrote:
>>> No, I'm not using AJAX.  Is there a way to force the LDB to reload?
>>>
>>> Shelli
>>>
>>> -Original Message-
>>> From: jcgarciam [mailto:jcgarc...@gmail.com]
>>> Sent: Tuesday, October 05, 2010 12:52 PM
>>> To: users@wicket.apache.org
>>> Subject: Re: DropDownChoice/Model Confusion
>>>
>>>
>>> I dont think it may be related to the hierarchy, are you using AJAX?
>>>
>>> On Tue, Oct 5, 2010 at 2:38 PM, Shelli Orton [via Apache Wicket] <
>>> ml-node+2956527-385265518-65...@n4.nabble.com>> 8-65...@n4.nabble.com>
>>>> wrote:
>>>
>>>> Hmm, that code sort of works.  When I create or edit a record, the
>>> list
>>>> is updated.  However, when I delete a record it is not.  My component
>>>> hierarchy is set up like this (hope it makes sense):
>>>>
>>>> TabPanel
>>>>   - SelectForEditForm
>>>>     - MyRecords (DDC)
>>>>     - Add (Button)
>>>>     - Edit (Button)
>>>>     - Delete (Button)
>>>>   - EditGroup (WebMarkupContainer)
>>>>     - EditForm
>>>>       - MyRecord Name (TextField)
>>>>       - MyRecord Attribute (DDC)
>>>>       - Save (Button)
>>>>       - Cancel (Button)
>>>>
>>>> I created the EditGroup so that I can hide/display the edit panel.
>>>> Debugging the application shows that the save button onSubmit is
>>> called
>>>> before the update of the myRecordsModel LDM and this is why the list
>>> is
>>>> updated when I create/edit a record. The delete button onSubmit is
>>>> called after the update of the myRecordsModel LDM and that is why a
>>>> deleted record is still visible in the list.
>>>>
>>>> I think the issue has something to do with the buttons being in
>>>> different places in the component hierarchy. Can you provide any
>>>> guidance on if there's some way to have the LDM updated after the
>>> delete
>>>> onSubmit?
>>>>
>>>> Thanks again,
>>>> Shelli
>>>>
>>>> -Original Message-
>>>> From: jcgarciam [mailto:[hidden
>>> email]<http://user/

RE: DropDownChoice/Model Confusion

2010-10-06 Thread Shelli Orton
No, the getList() (called in the LDM load()) is only called once.  For the 
buttons add, edit and delete, the processng is like this:

- ldm.load() (which calls getList())
- button.onSubmit()
- ldm.detach() (called two times)

For the save button, the processing is:

- button.onSubmit()
- ldm.load()
- ldm.detach() (called two times)

I've discovered another anomaly in my code.  When I choose a record and click 
the edit button, the record is displayed in the edit group.  If I then choose 
cancel, the edit group is no longer displayed and the ddc selection is null. I 
then choose another record from the list and edit and the previous record 
information is displayed in the edit group even though the ddc shows the newly 
selected record.

I added get/set for the selectedRecord and set breakpoints, but those methods 
are never called.  Since the edit group components use PropertyModels, 
shouldn't the get method be called each time the page is submitted?

Shelli


-Original Message-
From: jcar...@carmanconsulting.com [mailto:jcar...@carmanconsulting.com] On 
Behalf Of James Carman
Sent: Tuesday, October 05, 2010 4:50 PM
To: users@wicket.apache.org
Subject: Re: DropDownChoice/Model Confusion

Is your getList() being called multiple times?

On Tue, Oct 5, 2010 at 6:37 PM, Shelli Orton  wrote:
> I overrode the detach method in my class (which simply calls super.detach()) 
> so I could set a breakpoint and see if it gets called and it does.
>
> Shelli
>
> -Original Message-
> From: Shelli Orton
> Sent: Tuesday, October 05, 2010 2:24 PM
> To: users@wicket.apache.org
> Subject: RE: DropDownChoice/Model Confusion
>
> I don't know how to determine that.
>
> -Original Message-
> From: jcar...@carmanconsulting.com [mailto:jcar...@carmanconsulting.com] On 
> Behalf Of James Carman
> Sent: Tuesday, October 05, 2010 1:44 PM
> To: users@wicket.apache.org
> Subject: Re: DropDownChoice/Model Confusion
>
> Is it being detached?
>
> On Tue, Oct 5, 2010 at 3:26 PM, Shelli Orton  wrote:
>> No, I'm not using AJAX.  Is there a way to force the LDB to reload?
>>
>> Shelli
>>
>> -Original Message-
>> From: jcgarciam [mailto:jcgarc...@gmail.com]
>> Sent: Tuesday, October 05, 2010 12:52 PM
>> To: users@wicket.apache.org
>> Subject: Re: DropDownChoice/Model Confusion
>>
>>
>> I dont think it may be related to the hierarchy, are you using AJAX?
>>
>> On Tue, Oct 5, 2010 at 2:38 PM, Shelli Orton [via Apache Wicket] <
>> ml-node+2956527-385265518-65...@n4.nabble.com> 8-65...@n4.nabble.com>
>>> wrote:
>>
>>> Hmm, that code sort of works.  When I create or edit a record, the
>> list
>>> is updated.  However, when I delete a record it is not.  My component
>>> hierarchy is set up like this (hope it makes sense):
>>>
>>> TabPanel
>>>   - SelectForEditForm
>>>     - MyRecords (DDC)
>>>     - Add (Button)
>>>     - Edit (Button)
>>>     - Delete (Button)
>>>   - EditGroup (WebMarkupContainer)
>>>     - EditForm
>>>       - MyRecord Name (TextField)
>>>       - MyRecord Attribute (DDC)
>>>       - Save (Button)
>>>       - Cancel (Button)
>>>
>>> I created the EditGroup so that I can hide/display the edit panel.
>>> Debugging the application shows that the save button onSubmit is
>> called
>>> before the update of the myRecordsModel LDM and this is why the list
>> is
>>> updated when I create/edit a record. The delete button onSubmit is
>>> called after the update of the myRecordsModel LDM and that is why a
>>> deleted record is still visible in the list.
>>>
>>> I think the issue has something to do with the buttons being in
>>> different places in the component hierarchy. Can you provide any
>>> guidance on if there's some way to have the LDM updated after the
>> delete
>>> onSubmit?
>>>
>>> Thanks again,
>>> Shelli
>>>
>>> -Original Message-
>>> From: jcgarciam [mailto:[hidden
>> email]<http://user/SendEmail.jtp?type=node&node=2956527&i=0>]
>>>
>>> Sent: Tuesday, October 05, 2010 9:33 AM
>>> To: [hidden email]
>> <http://user/SendEmail.jtp?type=node&node=2956527&i=1>
>>> Subject: Re: DropDownChoice/Model Confusion
>>>
>>>
>>> Yes, that should make your DDC to query the list any time it needs to
>> re
>>> render.
>>>
>>> To your 2nd. question in order to set a default or selected value,
>> just
>>> set
>>> a "MyRe

Re: DropDownChoice/Model Confusion

2010-10-06 Thread Daniel Stoch
The code looks ok. Maybe the problem is in childRecordService:
childRecordService.getList()
when method getList() does not reflect changes until you create a new
session. So maybe the problem is related to your service layer? Have
you checked whet this method returns inside childRecordsModel.load() ?

--
Daniel

On Tue, Oct 5, 2010 at 10:23 PM, Shelli Orton  wrote:
> This is what my class basically looks like, hope it helps:

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: DropDownChoice/Model Confusion

2010-10-05 Thread James Carman
Is your getList() being called multiple times?

On Tue, Oct 5, 2010 at 6:37 PM, Shelli Orton  wrote:
> I overrode the detach method in my class (which simply calls super.detach()) 
> so I could set a breakpoint and see if it gets called and it does.
>
> Shelli
>
> -Original Message-
> From: Shelli Orton
> Sent: Tuesday, October 05, 2010 2:24 PM
> To: users@wicket.apache.org
> Subject: RE: DropDownChoice/Model Confusion
>
> I don't know how to determine that.
>
> -Original Message-
> From: jcar...@carmanconsulting.com [mailto:jcar...@carmanconsulting.com] On 
> Behalf Of James Carman
> Sent: Tuesday, October 05, 2010 1:44 PM
> To: users@wicket.apache.org
> Subject: Re: DropDownChoice/Model Confusion
>
> Is it being detached?
>
> On Tue, Oct 5, 2010 at 3:26 PM, Shelli Orton  wrote:
>> No, I'm not using AJAX.  Is there a way to force the LDB to reload?
>>
>> Shelli
>>
>> -Original Message-
>> From: jcgarciam [mailto:jcgarc...@gmail.com]
>> Sent: Tuesday, October 05, 2010 12:52 PM
>> To: users@wicket.apache.org
>> Subject: Re: DropDownChoice/Model Confusion
>>
>>
>> I dont think it may be related to the hierarchy, are you using AJAX?
>>
>> On Tue, Oct 5, 2010 at 2:38 PM, Shelli Orton [via Apache Wicket] <
>> ml-node+2956527-385265518-65...@n4.nabble.com> 8-65...@n4.nabble.com>
>>> wrote:
>>
>>> Hmm, that code sort of works.  When I create or edit a record, the
>> list
>>> is updated.  However, when I delete a record it is not.  My component
>>> hierarchy is set up like this (hope it makes sense):
>>>
>>> TabPanel
>>>   - SelectForEditForm
>>>     - MyRecords (DDC)
>>>     - Add (Button)
>>>     - Edit (Button)
>>>     - Delete (Button)
>>>   - EditGroup (WebMarkupContainer)
>>>     - EditForm
>>>       - MyRecord Name (TextField)
>>>       - MyRecord Attribute (DDC)
>>>       - Save (Button)
>>>       - Cancel (Button)
>>>
>>> I created the EditGroup so that I can hide/display the edit panel.
>>> Debugging the application shows that the save button onSubmit is
>> called
>>> before the update of the myRecordsModel LDM and this is why the list
>> is
>>> updated when I create/edit a record. The delete button onSubmit is
>>> called after the update of the myRecordsModel LDM and that is why a
>>> deleted record is still visible in the list.
>>>
>>> I think the issue has something to do with the buttons being in
>>> different places in the component hierarchy. Can you provide any
>>> guidance on if there's some way to have the LDM updated after the
>> delete
>>> onSubmit?
>>>
>>> Thanks again,
>>> Shelli
>>>
>>> -Original Message-
>>> From: jcgarciam [mailto:[hidden
>> email]<http://user/SendEmail.jtp?type=node&node=2956527&i=0>]
>>>
>>> Sent: Tuesday, October 05, 2010 9:33 AM
>>> To: [hidden email]
>> <http://user/SendEmail.jtp?type=node&node=2956527&i=1>
>>> Subject: Re: DropDownChoice/Model Confusion
>>>
>>>
>>> Yes, that should make your DDC to query the list any time it needs to
>> re
>>> render.
>>>
>>> To your 2nd. question in order to set a default or selected value,
>> just
>>> set
>>> a "MyRecord" reference to your property, keep in mind that your
>>> "MyRecord"
>>> should implement and equals/hashcode correctly.
>>>
>>>
>>> On Tue, Oct 5, 2010 at 12:00 PM, Shelli Orton [via Apache Wicket] <
>>> [hidden email]
>> <http://user/SendEmail.jtp?type=node&node=2956527&i=2>> -1797994
>>>
>>> [hidden email] <http://user/SendEmail.jtp?type=node&node=2956527&i=3>>
>>> > wrote:
>>>
>>> > Hi,
>>> >
>>> > Thanks for replying.  Just to clarify, do you mean do something like
>>> > this:
>>> >
>>> >
>>> >     LoadableDetachableModel> myRecordsModel = new
>>> > LoadableDetachableModel>()
>>> >     {
>>> >         @Override
>>> >         protected List load()
>>> >         {
>>> >             return myRecordService.getList();
>>> >         }
>>> >     };
>>> >
>>> >     MyRecord selectedRecord;
>>> >
>>> >     form.add(new DropDownCh

RE: DropDownChoice/Model Confusion

2010-10-05 Thread Shelli Orton
I overrode the detach method in my class (which simply calls super.detach()) so 
I could set a breakpoint and see if it gets called and it does.

Shelli 

-Original Message-
From: Shelli Orton 
Sent: Tuesday, October 05, 2010 2:24 PM
To: users@wicket.apache.org
Subject: RE: DropDownChoice/Model Confusion

I don't know how to determine that.

-Original Message-
From: jcar...@carmanconsulting.com [mailto:jcar...@carmanconsulting.com] On 
Behalf Of James Carman
Sent: Tuesday, October 05, 2010 1:44 PM
To: users@wicket.apache.org
Subject: Re: DropDownChoice/Model Confusion

Is it being detached?

On Tue, Oct 5, 2010 at 3:26 PM, Shelli Orton  wrote:
> No, I'm not using AJAX.  Is there a way to force the LDB to reload?
>
> Shelli
>
> -Original Message-
> From: jcgarciam [mailto:jcgarc...@gmail.com]
> Sent: Tuesday, October 05, 2010 12:52 PM
> To: users@wicket.apache.org
> Subject: Re: DropDownChoice/Model Confusion
>
>
> I dont think it may be related to the hierarchy, are you using AJAX?
>
> On Tue, Oct 5, 2010 at 2:38 PM, Shelli Orton [via Apache Wicket] <
> ml-node+2956527-385265518-65...@n4.nabble.com 8-65...@n4.nabble.com>
>> wrote:
>
>> Hmm, that code sort of works.  When I create or edit a record, the
> list
>> is updated.  However, when I delete a record it is not.  My component
>> hierarchy is set up like this (hope it makes sense):
>>
>> TabPanel
>>   - SelectForEditForm
>>     - MyRecords (DDC)
>>     - Add (Button)
>>     - Edit (Button)
>>     - Delete (Button)
>>   - EditGroup (WebMarkupContainer)
>>     - EditForm
>>       - MyRecord Name (TextField)
>>       - MyRecord Attribute (DDC)
>>       - Save (Button)
>>       - Cancel (Button)
>>
>> I created the EditGroup so that I can hide/display the edit panel.
>> Debugging the application shows that the save button onSubmit is
> called
>> before the update of the myRecordsModel LDM and this is why the list
> is
>> updated when I create/edit a record. The delete button onSubmit is
>> called after the update of the myRecordsModel LDM and that is why a
>> deleted record is still visible in the list.
>>
>> I think the issue has something to do with the buttons being in
>> different places in the component hierarchy. Can you provide any
>> guidance on if there's some way to have the LDM updated after the
> delete
>> onSubmit?
>>
>> Thanks again,
>> Shelli
>>
>> -----Original Message-
>> From: jcgarciam [mailto:[hidden
> email]<http://user/SendEmail.jtp?type=node&node=2956527&i=0>]
>>
>> Sent: Tuesday, October 05, 2010 9:33 AM
>> To: [hidden email]
> <http://user/SendEmail.jtp?type=node&node=2956527&i=1>
>> Subject: Re: DropDownChoice/Model Confusion
>>
>>
>> Yes, that should make your DDC to query the list any time it needs to
> re
>> render.
>>
>> To your 2nd. question in order to set a default or selected value,
> just
>> set
>> a "MyRecord" reference to your property, keep in mind that your
>> "MyRecord"
>> should implement and equals/hashcode correctly.
>>
>>
>> On Tue, Oct 5, 2010 at 12:00 PM, Shelli Orton [via Apache Wicket] <
>> [hidden email]
> <http://user/SendEmail.jtp?type=node&node=2956527&i=2> -1797994
>>
>> [hidden email] <http://user/SendEmail.jtp?type=node&node=2956527&i=3>>
>> > wrote:
>>
>> > Hi,
>> >
>> > Thanks for replying.  Just to clarify, do you mean do something like
>> > this:
>> >
>> >
>> >     LoadableDetachableModel> myRecordsModel = new
>> > LoadableDetachableModel>()
>> >     {
>> >         @Override
>> >         protected List load()
>> >         {
>> >             return myRecordService.getList();
>> >         }
>> >     };
>> >
>> >     MyRecord selectedRecord;
>> >
>> >     form.add(new DropDownChoice("records",
>> >         new PropertyModel(this, "selectedRecord"),
>> >         myRecordsModel,
>> >         new MyRecordRenderer()).setNullValid(false));
>> >
>> > Shelli
>> >
>> > -Original Message-
>> > From: jcgarciam [mailto:[hidden
>> email]<http://user/SendEmail.jtp?type=node&node=2956214&i=0>]
>> >
>> > Sent: Monday, October 04, 2010 6:27 PM
>> > To: [hidden email]
>> <http://user/SendEmail.jtp?type=node&node=2956214&i=1>
>> > S

RE: DropDownChoice/Model Confusion

2010-10-05 Thread Shelli Orton
I don't know how to determine that.

-Original Message-
From: jcar...@carmanconsulting.com [mailto:jcar...@carmanconsulting.com] On 
Behalf Of James Carman
Sent: Tuesday, October 05, 2010 1:44 PM
To: users@wicket.apache.org
Subject: Re: DropDownChoice/Model Confusion

Is it being detached?

On Tue, Oct 5, 2010 at 3:26 PM, Shelli Orton  wrote:
> No, I'm not using AJAX.  Is there a way to force the LDB to reload?
>
> Shelli
>
> -Original Message-
> From: jcgarciam [mailto:jcgarc...@gmail.com]
> Sent: Tuesday, October 05, 2010 12:52 PM
> To: users@wicket.apache.org
> Subject: Re: DropDownChoice/Model Confusion
>
>
> I dont think it may be related to the hierarchy, are you using AJAX?
>
> On Tue, Oct 5, 2010 at 2:38 PM, Shelli Orton [via Apache Wicket] <
> ml-node+2956527-385265518-65...@n4.nabble.com 8-65...@n4.nabble.com>
>> wrote:
>
>> Hmm, that code sort of works.  When I create or edit a record, the
> list
>> is updated.  However, when I delete a record it is not.  My component
>> hierarchy is set up like this (hope it makes sense):
>>
>> TabPanel
>>   - SelectForEditForm
>>     - MyRecords (DDC)
>>     - Add (Button)
>>     - Edit (Button)
>>     - Delete (Button)
>>   - EditGroup (WebMarkupContainer)
>>     - EditForm
>>       - MyRecord Name (TextField)
>>       - MyRecord Attribute (DDC)
>>       - Save (Button)
>>       - Cancel (Button)
>>
>> I created the EditGroup so that I can hide/display the edit panel.
>> Debugging the application shows that the save button onSubmit is
> called
>> before the update of the myRecordsModel LDM and this is why the list
> is
>> updated when I create/edit a record. The delete button onSubmit is
>> called after the update of the myRecordsModel LDM and that is why a
>> deleted record is still visible in the list.
>>
>> I think the issue has something to do with the buttons being in
>> different places in the component hierarchy. Can you provide any
>> guidance on if there's some way to have the LDM updated after the
> delete
>> onSubmit?
>>
>> Thanks again,
>> Shelli
>>
>> -----Original Message-
>> From: jcgarciam [mailto:[hidden
> email]<http://user/SendEmail.jtp?type=node&node=2956527&i=0>]
>>
>> Sent: Tuesday, October 05, 2010 9:33 AM
>> To: [hidden email]
> <http://user/SendEmail.jtp?type=node&node=2956527&i=1>
>> Subject: Re: DropDownChoice/Model Confusion
>>
>>
>> Yes, that should make your DDC to query the list any time it needs to
> re
>> render.
>>
>> To your 2nd. question in order to set a default or selected value,
> just
>> set
>> a "MyRecord" reference to your property, keep in mind that your
>> "MyRecord"
>> should implement and equals/hashcode correctly.
>>
>>
>> On Tue, Oct 5, 2010 at 12:00 PM, Shelli Orton [via Apache Wicket] <
>> [hidden email]
> <http://user/SendEmail.jtp?type=node&node=2956527&i=2> -1797994
>>
>> [hidden email] <http://user/SendEmail.jtp?type=node&node=2956527&i=3>>
>> > wrote:
>>
>> > Hi,
>> >
>> > Thanks for replying.  Just to clarify, do you mean do something like
>> > this:
>> >
>> >
>> >     LoadableDetachableModel> myRecordsModel = new
>> > LoadableDetachableModel>()
>> >     {
>> >         @Override
>> >         protected List load()
>> >         {
>> >             return myRecordService.getList();
>> >         }
>> >     };
>> >
>> >     MyRecord selectedRecord;
>> >
>> >     form.add(new DropDownChoice("records",
>> >         new PropertyModel(this, "selectedRecord"),
>> >         myRecordsModel,
>> >         new MyRecordRenderer()).setNullValid(false));
>> >
>> > Shelli
>> >
>> > -Original Message-
>> > From: jcgarciam [mailto:[hidden
>> email]<http://user/SendEmail.jtp?type=node&node=2956214&i=0>]
>> >
>> > Sent: Monday, October 04, 2010 6:27 PM
>> > To: [hidden email]
>> <http://user/SendEmail.jtp?type=node&node=2956214&i=1>
>> > Subject: Re: DropDownChoice/Model Confusion
>> >
>> >
>> > Hi, instead of passing  "getMyRecords()" in the constructor wrap it
>> > around
>> > a LoadableDetachableModel and pass that model to the DDC. The
>> difference
>> > is
>> > tha

RE: DropDownChoice/Model Confusion

2010-10-05 Thread Shelli Orton
new ParentRecordRenderer()).setNullValid(false));

editForm.add(new Button("save")
{
private static final long serialVersionUID = 1L;

public void onSubmit()
{
if (isNew)
{
try
{
 
childRecordService.create(selectedChildRecord, user);
info("Created '" +
selectedChildRecord.getName() + "'");
}
catch (AlreadyExistsException e)
{
error(selectedChildRecord.getName() + "
already exists.");
}
}
else
{
try
{

 
childRecordService.update(unmodifiedChildRecord, selectedChildRecord,
user);
info("Updated '" +
selectedChildRecord.getName() + "'");
}
catch (FailedUpdateException e)
{
log.error("Error updating '" +
selectedChildRecord.getName() + "'", e);
error("An error occured during update.
Please contact the system administrator.");
}
catch (DoesNotExistException e)
{
error("'" + selectedChildRecord.getName() +
"' does not exist.");
}
}

// Update the dropdown list
// TODO how?

// Close the panel
editGroup.setVisible(false);
}
});

editForm.add(new Button("cancel")
{
private static final long serialVersionUID = 1L;

public void onSubmit()
{
selectedChildRecord = null;
editGroup.setVisible(false);
}
}.setDefaultFormProcessing(false));

add(editForm);
}

}

// ***
// These variables/inner classes in the "real" code live in
// AbstractTabPanel so that they are accessible by all tab panels
// ***

// TODO set to the logged in user
String user = "Unknown";

private boolean isNew = false;
private String editLegend;
private EditGroup editGroup;

class ChildRecordRenderer implements IChoiceRenderer
{
private static final long serialVersionUID = 1L;

// Gets the display value that is visible to the end user.
public Object getDisplayValue(ChildRecord childRecord)
{
return childRecord.getName();
}

// Gets the value that is invisble to the end user, and that is
used as
// the selection id.
public String getIdValue(ChildRecord childRecord, int index)
{
return childRecord.getName();
}
}

class ParentRecordRenderer implements IChoiceRenderer
{
private static final long serialVersionUID = 1L;

// Gets the display value that is visible to the end user.
public Object getDisplayValue(ParentRecord childRecord)
{
return parentRecord.getName();
}

// Gets the value that is invisble to the end user, and that is
used as
// the selection id.
public String getIdValue(ParentRecord parentRecord, int index)
{
        return parentRecord.getName();
}
}

LoadableDetachableModel> childRecordsModel = new
LoadableDetachableModel>()
{
private static final long serialVersionUID = 1L;

@Override
protected List load()
{
return childRecordService.getList();
}
};
}

-Original Message-
From: jcgarciam [mailto:jcgarc...@gmail.com] 
Sent: Tuesday, October 05, 2010 1:31 PM
To: users@wicket.apache.org
Subject: Re: DropDownChoice/Model Confusion


There should not need to force the LDB to reload,

Can you share more code?



On Tue, Oct 5, 2010 at 4:27 PM, Shelli Orton [via Apache Wicket] <
ml-node+2956722-1309362030-65...@n4.nabble.com
> wrote:

> No, I'm not using AJAX.  Is there a way to force the LDB to reload?
>
> Shelli
>
> -Original Message-
> From: jcgarciam [mailto:[hidden
email]<http://user/SendEmail.jtp?type=node&node=2956722&i=0>]
>
> Sent: Tuesday, October 05, 2010 12:52 PM
> To: [hidden email]
<http://user/SendEmail.jtp?type=node&node=295672

Re: DropDownChoice/Model Confusion

2010-10-05 Thread James Carman
Is it being detached?

On Tue, Oct 5, 2010 at 3:26 PM, Shelli Orton  wrote:
> No, I'm not using AJAX.  Is there a way to force the LDB to reload?
>
> Shelli
>
> -Original Message-
> From: jcgarciam [mailto:jcgarc...@gmail.com]
> Sent: Tuesday, October 05, 2010 12:52 PM
> To: users@wicket.apache.org
> Subject: Re: DropDownChoice/Model Confusion
>
>
> I dont think it may be related to the hierarchy, are you using AJAX?
>
> On Tue, Oct 5, 2010 at 2:38 PM, Shelli Orton [via Apache Wicket] <
> ml-node+2956527-385265518-65...@n4.nabble.com 8-65...@n4.nabble.com>
>> wrote:
>
>> Hmm, that code sort of works.  When I create or edit a record, the
> list
>> is updated.  However, when I delete a record it is not.  My component
>> hierarchy is set up like this (hope it makes sense):
>>
>> TabPanel
>>   - SelectForEditForm
>>     - MyRecords (DDC)
>>     - Add (Button)
>>     - Edit (Button)
>>     - Delete (Button)
>>   - EditGroup (WebMarkupContainer)
>>     - EditForm
>>       - MyRecord Name (TextField)
>>       - MyRecord Attribute (DDC)
>>       - Save (Button)
>>       - Cancel (Button)
>>
>> I created the EditGroup so that I can hide/display the edit panel.
>> Debugging the application shows that the save button onSubmit is
> called
>> before the update of the myRecordsModel LDM and this is why the list
> is
>> updated when I create/edit a record. The delete button onSubmit is
>> called after the update of the myRecordsModel LDM and that is why a
>> deleted record is still visible in the list.
>>
>> I think the issue has something to do with the buttons being in
>> different places in the component hierarchy. Can you provide any
>> guidance on if there's some way to have the LDM updated after the
> delete
>> onSubmit?
>>
>> Thanks again,
>> Shelli
>>
>> -----Original Message-
>> From: jcgarciam [mailto:[hidden
> email]<http://user/SendEmail.jtp?type=node&node=2956527&i=0>]
>>
>> Sent: Tuesday, October 05, 2010 9:33 AM
>> To: [hidden email]
> <http://user/SendEmail.jtp?type=node&node=2956527&i=1>
>> Subject: Re: DropDownChoice/Model Confusion
>>
>>
>> Yes, that should make your DDC to query the list any time it needs to
> re
>> render.
>>
>> To your 2nd. question in order to set a default or selected value,
> just
>> set
>> a "MyRecord" reference to your property, keep in mind that your
>> "MyRecord"
>> should implement and equals/hashcode correctly.
>>
>>
>> On Tue, Oct 5, 2010 at 12:00 PM, Shelli Orton [via Apache Wicket] <
>> [hidden email]
> <http://user/SendEmail.jtp?type=node&node=2956527&i=2> -1797994
>>
>> [hidden email] <http://user/SendEmail.jtp?type=node&node=2956527&i=3>>
>> > wrote:
>>
>> > Hi,
>> >
>> > Thanks for replying.  Just to clarify, do you mean do something like
>> > this:
>> >
>> >
>> >     LoadableDetachableModel> myRecordsModel = new
>> > LoadableDetachableModel>()
>> >     {
>> >         @Override
>> >         protected List load()
>> >         {
>> >             return myRecordService.getList();
>> >         }
>> >     };
>> >
>> >     MyRecord selectedRecord;
>> >
>> >     form.add(new DropDownChoice("records",
>> >         new PropertyModel(this, "selectedRecord"),
>> >         myRecordsModel,
>> >         new MyRecordRenderer()).setNullValid(false));
>> >
>> > Shelli
>> >
>> > -Original Message-
>> > From: jcgarciam [mailto:[hidden
>> email]<http://user/SendEmail.jtp?type=node&node=2956214&i=0>]
>> >
>> > Sent: Monday, October 04, 2010 6:27 PM
>> > To: [hidden email]
>> <http://user/SendEmail.jtp?type=node&node=2956214&i=1>
>> > Subject: Re: DropDownChoice/Model Confusion
>> >
>> >
>> > Hi, instead of passing  "getMyRecords()" in the constructor wrap it
>> > around
>> > a LoadableDetachableModel and pass that model to the DDC. The
>> difference
>> > is
>> > that your current list is fetch only once at construction of your
>> pages
>>
>> > and
>> > is considered static because its never get called again unless you
>> > triggered
>> > it by entering to a new page instanc

Re: DropDownChoice/Model Confusion

2010-10-05 Thread jcgarciam

There should not need to force the LDB to reload,

Can you share more code?



On Tue, Oct 5, 2010 at 4:27 PM, Shelli Orton [via Apache Wicket] <
ml-node+2956722-1309362030-65...@n4.nabble.com
> wrote:

> No, I'm not using AJAX.  Is there a way to force the LDB to reload?
>
> Shelli
>
> -Original Message-
> From: jcgarciam [mailto:[hidden 
> email]<http://user/SendEmail.jtp?type=node&node=2956722&i=0>]
>
> Sent: Tuesday, October 05, 2010 12:52 PM
> To: [hidden email] <http://user/SendEmail.jtp?type=node&node=2956722&i=1>
> Subject: Re: DropDownChoice/Model Confusion
>
>
> I dont think it may be related to the hierarchy, are you using AJAX?
>
> On Tue, Oct 5, 2010 at 2:38 PM, Shelli Orton [via Apache Wicket] <
> [hidden email] 
> <http://user/SendEmail.jtp?type=node&node=2956722&i=2>
> [hidden email] <http://user/SendEmail.jtp?type=node&node=2956722&i=3>>
> > wrote:
>
> > Hmm, that code sort of works.  When I create or edit a record, the
> list
>
> > is updated.  However, when I delete a record it is not.  My component
> > hierarchy is set up like this (hope it makes sense):
> >
> > TabPanel
> >   - SelectForEditForm
> > - MyRecords (DDC)
> > - Add (Button)
> > - Edit (Button)
> > - Delete (Button)
> >   - EditGroup (WebMarkupContainer)
> > - EditForm
> >   - MyRecord Name (TextField)
> >   - MyRecord Attribute (DDC)
> >   - Save (Button)
> >   - Cancel (Button)
> >
> > I created the EditGroup so that I can hide/display the edit panel.
> > Debugging the application shows that the save button onSubmit is
> called
> > before the update of the myRecordsModel LDM and this is why the list
> is
> > updated when I create/edit a record. The delete button onSubmit is
> > called after the update of the myRecordsModel LDM and that is why a
> > deleted record is still visible in the list.
> >
> > I think the issue has something to do with the buttons being in
> > different places in the component hierarchy. Can you provide any
> > guidance on if there's some way to have the LDM updated after the
> delete
> > onSubmit?
> >
> > Thanks again,
> > Shelli
> >
> > -Original Message-
> > From: jcgarciam [mailto:[hidden
> email]<http://user/SendEmail.jtp?type=node&node=2956527&i=0>]
> >
> > Sent: Tuesday, October 05, 2010 9:33 AM
> > To: [hidden email]
> <http://user/SendEmail.jtp?type=node&node=2956527&i=1>
> > Subject: Re: DropDownChoice/Model Confusion
> >
> >
> > Yes, that should make your DDC to query the list any time it needs to
> re
> > render.
> >
> > To your 2nd. question in order to set a default or selected value,
> just
> > set
> > a "MyRecord" reference to your property, keep in mind that your
> > "MyRecord"
> > should implement and equals/hashcode correctly.
> >
> >
> > On Tue, Oct 5, 2010 at 12:00 PM, Shelli Orton [via Apache Wicket] <
> > [hidden email]
> <http://user/SendEmail.jtp?type=node&node=2956527&i=2> -1797994
>
> >
> > [hidden email] <http://user/SendEmail.jtp?type=node&node=2956527&i=3>>
> > > wrote:
> >
> > > Hi,
> > >
> > > Thanks for replying.  Just to clarify, do you mean do something like
> > > this:
> > >
> > >
> > > LoadableDetachableModel> myRecordsModel = new
> > > LoadableDetachableModel>()
> > > {
> > > @Override
> > > protected List load()
> > > {
> > > return myRecordService.getList();
> > > }
> > > };
> > >
> > > MyRecord selectedRecord;
> > >
> > > form.add(new DropDownChoice("records",
> > > new PropertyModel(this, "selectedRecord"),
> > > myRecordsModel,
> > > new MyRecordRenderer()).setNullValid(false));
> > >
> > > Shelli
> > >
> > > -Original Message-
> > > From: jcgarciam [mailto:[hidden
> > email]<http://user/SendEmail.jtp?type=node&node=2956214&i=0>]
> > >
> > > Sent: Monday, October 04, 2010 6:27 PM
> > > To: [hidden email]
> > <http://user/SendEmail.jtp?type=node&node=2956214&i=1>
> > > Subject: Re: DropDownChoice/Model Confusion
> > >
> > >
> > > Hi, instead of passing  &

RE: DropDownChoice/Model Confusion

2010-10-05 Thread Shelli Orton
No, I'm not using AJAX.  Is there a way to force the LDB to reload?

Shelli

-Original Message-
From: jcgarciam [mailto:jcgarc...@gmail.com] 
Sent: Tuesday, October 05, 2010 12:52 PM
To: users@wicket.apache.org
Subject: Re: DropDownChoice/Model Confusion


I dont think it may be related to the hierarchy, are you using AJAX?

On Tue, Oct 5, 2010 at 2:38 PM, Shelli Orton [via Apache Wicket] <
ml-node+2956527-385265518-65...@n4.nabble.com
> wrote:

> Hmm, that code sort of works.  When I create or edit a record, the
list
> is updated.  However, when I delete a record it is not.  My component
> hierarchy is set up like this (hope it makes sense):
>
> TabPanel
>   - SelectForEditForm
> - MyRecords (DDC)
> - Add (Button)
> - Edit (Button)
> - Delete (Button)
>   - EditGroup (WebMarkupContainer)
> - EditForm
>   - MyRecord Name (TextField)
>   - MyRecord Attribute (DDC)
>   - Save (Button)
>   - Cancel (Button)
>
> I created the EditGroup so that I can hide/display the edit panel.
> Debugging the application shows that the save button onSubmit is
called
> before the update of the myRecordsModel LDM and this is why the list
is
> updated when I create/edit a record. The delete button onSubmit is
> called after the update of the myRecordsModel LDM and that is why a
> deleted record is still visible in the list.
>
> I think the issue has something to do with the buttons being in
> different places in the component hierarchy. Can you provide any
> guidance on if there's some way to have the LDM updated after the
delete
> onSubmit?
>
> Thanks again,
> Shelli
>
> -Original Message-
> From: jcgarciam [mailto:[hidden
email]<http://user/SendEmail.jtp?type=node&node=2956527&i=0>]
>
> Sent: Tuesday, October 05, 2010 9:33 AM
> To: [hidden email]
<http://user/SendEmail.jtp?type=node&node=2956527&i=1>
> Subject: Re: DropDownChoice/Model Confusion
>
>
> Yes, that should make your DDC to query the list any time it needs to
re
> render.
>
> To your 2nd. question in order to set a default or selected value,
just
> set
> a "MyRecord" reference to your property, keep in mind that your
> "MyRecord"
> should implement and equals/hashcode correctly.
>
>
> On Tue, Oct 5, 2010 at 12:00 PM, Shelli Orton [via Apache Wicket] <
> [hidden email]
<http://user/SendEmail.jtp?type=node&node=2956527&i=2>
> [hidden email] <http://user/SendEmail.jtp?type=node&node=2956527&i=3>>
> > wrote:
>
> > Hi,
> >
> > Thanks for replying.  Just to clarify, do you mean do something like
> > this:
> >
> >
> > LoadableDetachableModel> myRecordsModel = new
> > LoadableDetachableModel>()
> > {
> > @Override
> > protected List load()
> > {
> > return myRecordService.getList();
> > }
> > };
> >
> > MyRecord selectedRecord;
> >
> > form.add(new DropDownChoice("records",
> > new PropertyModel(this, "selectedRecord"),
> > myRecordsModel,
> > new MyRecordRenderer()).setNullValid(false));
> >
> > Shelli
> >
> > -Original Message-
> > From: jcgarciam [mailto:[hidden
> email]<http://user/SendEmail.jtp?type=node&node=2956214&i=0>]
> >
> > Sent: Monday, October 04, 2010 6:27 PM
> > To: [hidden email]
> <http://user/SendEmail.jtp?type=node&node=2956214&i=1>
> > Subject: Re: DropDownChoice/Model Confusion
> >
> >
> > Hi, instead of passing  "getMyRecords()" in the constructor wrap it
> > around
> > a LoadableDetachableModel and pass that model to the DDC. The
> difference
> > is
> > that your current list is fetch only once at construction of your
> pages
>
> > and
> > is considered static because its never get called again unless you
> > triggered
> > it by entering to a new page instance, while by using a LDM the
> > component
> > will ask for it every time it needs to re-render them.
> >
> >
> > On Mon, Oct 4, 2010 at 6:52 PM, Shelli Orton [via Apache Wicket] <
> > [hidden email]
>
<http://user/SendEmail.jtp?type=node&node=2956214&i=2> -66557051
>
> >
> > [hidden email]
<http://user/SendEmail.jtp?type=node&node=2956214&i=3>>
> > > wrote:
> >
> > > I am writing a (simple?) database CRUD app where I have multiple
tab
> > > panels that encapsulate the different tables in the database.  On
a
> > > panel there's a 

Re: DropDownChoice/Model Confusion

2010-10-05 Thread jcgarciam

I dont think it may be related to the hierarchy, are you using AJAX?

On Tue, Oct 5, 2010 at 2:38 PM, Shelli Orton [via Apache Wicket] <
ml-node+2956527-385265518-65...@n4.nabble.com
> wrote:

> Hmm, that code sort of works.  When I create or edit a record, the list
> is updated.  However, when I delete a record it is not.  My component
> hierarchy is set up like this (hope it makes sense):
>
> TabPanel
>   - SelectForEditForm
> - MyRecords (DDC)
> - Add (Button)
> - Edit (Button)
> - Delete (Button)
>   - EditGroup (WebMarkupContainer)
> - EditForm
>   - MyRecord Name (TextField)
>   - MyRecord Attribute (DDC)
>   - Save (Button)
>   - Cancel (Button)
>
> I created the EditGroup so that I can hide/display the edit panel.
> Debugging the application shows that the save button onSubmit is called
> before the update of the myRecordsModel LDM and this is why the list is
> updated when I create/edit a record. The delete button onSubmit is
> called after the update of the myRecordsModel LDM and that is why a
> deleted record is still visible in the list.
>
> I think the issue has something to do with the buttons being in
> different places in the component hierarchy. Can you provide any
> guidance on if there's some way to have the LDM updated after the delete
> onSubmit?
>
> Thanks again,
> Shelli
>
> -Original Message-
> From: jcgarciam [mailto:[hidden 
> email]<http://user/SendEmail.jtp?type=node&node=2956527&i=0>]
>
> Sent: Tuesday, October 05, 2010 9:33 AM
> To: [hidden email] <http://user/SendEmail.jtp?type=node&node=2956527&i=1>
> Subject: Re: DropDownChoice/Model Confusion
>
>
> Yes, that should make your DDC to query the list any time it needs to re
> render.
>
> To your 2nd. question in order to set a default or selected value, just
> set
> a "MyRecord" reference to your property, keep in mind that your
> "MyRecord"
> should implement and equals/hashcode correctly.
>
>
> On Tue, Oct 5, 2010 at 12:00 PM, Shelli Orton [via Apache Wicket] <
> [hidden email] 
> <http://user/SendEmail.jtp?type=node&node=2956527&i=2>
> [hidden email] <http://user/SendEmail.jtp?type=node&node=2956527&i=3>>
> > wrote:
>
> > Hi,
> >
> > Thanks for replying.  Just to clarify, do you mean do something like
> > this:
> >
> >
> > LoadableDetachableModel> myRecordsModel = new
> > LoadableDetachableModel>()
> > {
> > @Override
> > protected List load()
> > {
> > return myRecordService.getList();
> > }
> > };
> >
> > MyRecord selectedRecord;
> >
> > form.add(new DropDownChoice("records",
> > new PropertyModel(this, "selectedRecord"),
> > myRecordsModel,
> > new MyRecordRenderer()).setNullValid(false));
> >
> > Shelli
> >
> > -Original Message-
> > From: jcgarciam [mailto:[hidden
> email]<http://user/SendEmail.jtp?type=node&node=2956214&i=0>]
> >
> > Sent: Monday, October 04, 2010 6:27 PM
> > To: [hidden email]
> <http://user/SendEmail.jtp?type=node&node=2956214&i=1>
> > Subject: Re: DropDownChoice/Model Confusion
> >
> >
> > Hi, instead of passing  "getMyRecords()" in the constructor wrap it
> > around
> > a LoadableDetachableModel and pass that model to the DDC. The
> difference
> > is
> > that your current list is fetch only once at construction of your
> pages
>
> > and
> > is considered static because its never get called again unless you
> > triggered
> > it by entering to a new page instance, while by using a LDM the
> > component
> > will ask for it every time it needs to re-render them.
> >
> >
> > On Mon, Oct 4, 2010 at 6:52 PM, Shelli Orton [via Apache Wicket] <
> > [hidden email]
> <http://user/SendEmail.jtp?type=node&node=2956214&i=2> -66557051
>
> >
> > [hidden email] <http://user/SendEmail.jtp?type=node&node=2956214&i=3>>
> > > wrote:
> >
> > > I am writing a (simple?) database CRUD app where I have multiple tab
> > > panels that encapsulate the different tables in the database.  On a
> > > panel there's a dropdownchoice which lists the existing records for
> > that
> > > table.  There's also create, delete and edit buttons (and and edit
> > panel
> > > with save and cancel buttons).  When I create, edit or delete any of
> &

RE: DropDownChoice/Model Confusion

2010-10-05 Thread Shelli Orton
Hmm, that code sort of works.  When I create or edit a record, the list
is updated.  However, when I delete a record it is not.  My component
hierarchy is set up like this (hope it makes sense):

TabPanel
  - SelectForEditForm
- MyRecords (DDC)
- Add (Button)
- Edit (Button)
- Delete (Button)
  - EditGroup (WebMarkupContainer)
- EditForm
  - MyRecord Name (TextField)
  - MyRecord Attribute (DDC)
  - Save (Button)
  - Cancel (Button)

I created the EditGroup so that I can hide/display the edit panel.
Debugging the application shows that the save button onSubmit is called
before the update of the myRecordsModel LDM and this is why the list is
updated when I create/edit a record. The delete button onSubmit is
called after the update of the myRecordsModel LDM and that is why a
deleted record is still visible in the list.

I think the issue has something to do with the buttons being in
different places in the component hierarchy. Can you provide any
guidance on if there's some way to have the LDM updated after the delete
onSubmit?

Thanks again,
Shelli
 
-Original Message-
From: jcgarciam [mailto:jcgarc...@gmail.com] 
Sent: Tuesday, October 05, 2010 9:33 AM
To: users@wicket.apache.org
Subject: Re: DropDownChoice/Model Confusion


Yes, that should make your DDC to query the list any time it needs to re
render.

To your 2nd. question in order to set a default or selected value, just
set
a "MyRecord" reference to your property, keep in mind that your
"MyRecord"
should implement and equals/hashcode correctly.


On Tue, Oct 5, 2010 at 12:00 PM, Shelli Orton [via Apache Wicket] <
ml-node+2956214-1797994246-65...@n4.nabble.com
> wrote:

> Hi,
>
> Thanks for replying.  Just to clarify, do you mean do something like
> this:
>
>
> LoadableDetachableModel> myRecordsModel = new
> LoadableDetachableModel>()
> {
> @Override
> protected List load()
> {
> return myRecordService.getList();
> }
> };
>
> MyRecord selectedRecord;
>
> form.add(new DropDownChoice("records",
> new PropertyModel(this, "selectedRecord"),
> myRecordsModel,
> new MyRecordRenderer()).setNullValid(false));
>
> Shelli
>
> -Original Message-
> From: jcgarciam [mailto:[hidden
email]<http://user/SendEmail.jtp?type=node&node=2956214&i=0>]
>
> Sent: Monday, October 04, 2010 6:27 PM
> To: [hidden email]
<http://user/SendEmail.jtp?type=node&node=2956214&i=1>
> Subject: Re: DropDownChoice/Model Confusion
>
>
> Hi, instead of passing  "getMyRecords()" in the constructor wrap it
> around
> a LoadableDetachableModel and pass that model to the DDC. The
difference
> is
> that your current list is fetch only once at construction of your
pages
> and
> is considered static because its never get called again unless you
> triggered
> it by entering to a new page instance, while by using a LDM the
> component
> will ask for it every time it needs to re-render them.
>
>
> On Mon, Oct 4, 2010 at 6:52 PM, Shelli Orton [via Apache Wicket] <
> [hidden email]
<http://user/SendEmail.jtp?type=node&node=2956214&i=2>
> [hidden email] <http://user/SendEmail.jtp?type=node&node=2956214&i=3>>
> > wrote:
>
> > I am writing a (simple?) database CRUD app where I have multiple tab
> > panels that encapsulate the different tables in the database.  On a
> > panel there's a dropdownchoice which lists the existing records for
> that
> > table.  There's also create, delete and edit buttons (and and edit
> panel
> > with save and cancel buttons).  When I create, edit or delete any of
> the
> > records, the dropdownchoice list doesn't reflect the changes until I
> > open a new session.  So my question is how to reload the list after
> one
> > of these actions is done?
> >
> > Currently my dropdownchoice model is set like this:
> >
> > MyRecord selectedRecord;
> > ...
> > form.add(new DropDownChoice("records",
> > new PropertyModel(this, "selectedRecord"),
> > getMyRecords(), // method that retrieves from the database
> (via
> > JPA)
> > new MyRecordRenderer()).setNullValid(false)); // used to
> return
> > the display attribute of MyRecord
> >
> > I am trying to understand if using a LoadableDetachableModel will do
> the
>
> > reload that I want. Also, I don't know how to set the selectedRecord
> > using that type of model or if it's even possible.
> >
> > Any advice?
> >
> > Thanks!
> >
> > Shelli
> >

Re: DropDownChoice/Model Confusion

2010-10-05 Thread jcgarciam

Yes, that should make your DDC to query the list any time it needs to re
render.

To your 2nd. question in order to set a default or selected value, just set
a "MyRecord" reference to your property, keep in mind that your "MyRecord"
should implement and equals/hashcode correctly.


On Tue, Oct 5, 2010 at 12:00 PM, Shelli Orton [via Apache Wicket] <
ml-node+2956214-1797994246-65...@n4.nabble.com
> wrote:

> Hi,
>
> Thanks for replying.  Just to clarify, do you mean do something like
> this:
>
>
> LoadableDetachableModel> myRecordsModel = new
> LoadableDetachableModel>()
> {
> @Override
> protected List load()
> {
> return myRecordService.getList();
> }
> };
>
> MyRecord selectedRecord;
>
> form.add(new DropDownChoice("records",
> new PropertyModel(this, "selectedRecord"),
> myRecordsModel,
> new MyRecordRenderer()).setNullValid(false));
>
> Shelli
>
> -Original Message-
> From: jcgarciam [mailto:[hidden 
> email]<http://user/SendEmail.jtp?type=node&node=2956214&i=0>]
>
> Sent: Monday, October 04, 2010 6:27 PM
> To: [hidden email] <http://user/SendEmail.jtp?type=node&node=2956214&i=1>
> Subject: Re: DropDownChoice/Model Confusion
>
>
> Hi, instead of passing  "getMyRecords()" in the constructor wrap it
> around
> a LoadableDetachableModel and pass that model to the DDC. The difference
> is
> that your current list is fetch only once at construction of your pages
> and
> is considered static because its never get called again unless you
> triggered
> it by entering to a new page instance, while by using a LDM the
> component
> will ask for it every time it needs to re-render them.
>
>
> On Mon, Oct 4, 2010 at 6:52 PM, Shelli Orton [via Apache Wicket] <
> [hidden email] 
> <http://user/SendEmail.jtp?type=node&node=2956214&i=2>
> [hidden email] <http://user/SendEmail.jtp?type=node&node=2956214&i=3>>
> > wrote:
>
> > I am writing a (simple?) database CRUD app where I have multiple tab
> > panels that encapsulate the different tables in the database.  On a
> > panel there's a dropdownchoice which lists the existing records for
> that
> > table.  There's also create, delete and edit buttons (and and edit
> panel
> > with save and cancel buttons).  When I create, edit or delete any of
> the
> > records, the dropdownchoice list doesn't reflect the changes until I
> > open a new session.  So my question is how to reload the list after
> one
> > of these actions is done?
> >
> > Currently my dropdownchoice model is set like this:
> >
> > MyRecord selectedRecord;
> > ...
> > form.add(new DropDownChoice("records",
> > new PropertyModel(this, "selectedRecord"),
> > getMyRecords(), // method that retrieves from the database
> (via
> > JPA)
> > new MyRecordRenderer()).setNullValid(false)); // used to
> return
> > the display attribute of MyRecord
> >
> > I am trying to understand if using a LoadableDetachableModel will do
> the
>
> > reload that I want. Also, I don't know how to set the selectedRecord
> > using that type of model or if it's even possible.
> >
> > Any advice?
> >
> > Thanks!
> >
> > Shelli
> >
> > -
> > To unsubscribe, e-mail: [hidden
> email]<http://user/SendEmail.jtp?type=node&node=2955144&i=0>
> > For additional commands, e-mail: [hidden
> email]<http://user/SendEmail.jtp?type=node&node=2955144&i=1>
> >
> >
> >
> > --
> >  View message @
> >
> http://apache-wicket.1842946.n4.nabble.com/DropDownChoice-Model-Confusio<http://apache-wicket.1842946.n4.nabble.com/DropDownChoice-Model-Confusio?by-user=t>
> n-tp2955144p2955144.html
> > To start a new topic under Apache Wicket, email
> >
> [hidden email] 
> <http://user/SendEmail.jtp?type=node&node=2956214&i=4>
> [hidden email] <http://user/SendEmail.jtp?type=node&node=2956214&i=5>>
> > To unsubscribe from Apache Wicket, click
> here<http://apache-wicket.1842946.n4.nabble.com/template/TplServlet.jtp<http://apache-wicket.1842946.n4.nabble.com/template/TplServlet.jtp?by-user=t>?
>
> tpl=unsubscribe_by_code&node=1842946&code=amNnYXJjaWFtQGdtYWlsLmNvbXwxOD
> QyOTQ2fDEyNTYxMzc3ODY=>.
> >
> >
> >
>
>
> 

RE: DropDownChoice/Model Confusion

2010-10-05 Thread Shelli Orton
Hi,

Thanks for replying.  Just to clarify, do you mean do something like
this:


LoadableDetachableModel> myRecordsModel = new
LoadableDetachableModel>()
{
@Override
protected List load()
{
return myRecordService.getList();
}
};

MyRecord selectedRecord;

form.add(new DropDownChoice("records",
new PropertyModel(this, "selectedRecord"),
myRecordsModel,
new MyRecordRenderer()).setNullValid(false));

Shelli

-Original Message-
From: jcgarciam [mailto:jcgarc...@gmail.com] 
Sent: Monday, October 04, 2010 6:27 PM
To: users@wicket.apache.org
Subject: Re: DropDownChoice/Model Confusion


Hi, instead of passing  "getMyRecords()" in the constructor wrap it
around
a LoadableDetachableModel and pass that model to the DDC. The difference
is
that your current list is fetch only once at construction of your pages
and
is considered static because its never get called again unless you
triggered
it by entering to a new page instance, while by using a LDM the
component
will ask for it every time it needs to re-render them.


On Mon, Oct 4, 2010 at 6:52 PM, Shelli Orton [via Apache Wicket] <
ml-node+2955144-665570512-65...@n4.nabble.com
> wrote:

> I am writing a (simple?) database CRUD app where I have multiple tab
> panels that encapsulate the different tables in the database.  On a
> panel there's a dropdownchoice which lists the existing records for
that
> table.  There's also create, delete and edit buttons (and and edit
panel
> with save and cancel buttons).  When I create, edit or delete any of
the
> records, the dropdownchoice list doesn't reflect the changes until I
> open a new session.  So my question is how to reload the list after
one
> of these actions is done?
>
> Currently my dropdownchoice model is set like this:
>
> MyRecord selectedRecord;
> ...
> form.add(new DropDownChoice("records",
> new PropertyModel(this, "selectedRecord"),
> getMyRecords(), // method that retrieves from the database
(via
> JPA)
> new MyRecordRenderer()).setNullValid(false)); // used to
return
> the display attribute of MyRecord
>
> I am trying to understand if using a LoadableDetachableModel will do
the
> reload that I want. Also, I don't know how to set the selectedRecord
> using that type of model or if it's even possible.
>
> Any advice?
>
> Thanks!
>
> Shelli
>
> -
> To unsubscribe, e-mail: [hidden
email]<http://user/SendEmail.jtp?type=node&node=2955144&i=0>
> For additional commands, e-mail: [hidden
email]<http://user/SendEmail.jtp?type=node&node=2955144&i=1>
>
>
>
> --
>  View message @
>
http://apache-wicket.1842946.n4.nabble.com/DropDownChoice-Model-Confusio
n-tp2955144p2955144.html
> To start a new topic under Apache Wicket, email
>
ml-node+1842946-398011874-65...@n4.nabble.com
> To unsubscribe from Apache Wicket, click
here<http://apache-wicket.1842946.n4.nabble.com/template/TplServlet.jtp?
tpl=unsubscribe_by_code&node=1842946&code=amNnYXJjaWFtQGdtYWlsLmNvbXwxOD
QyOTQ2fDEyNTYxMzc3ODY=>.
>
>
>


-- 
Sincerely,
JC (http://www.linkedin.com/in/jcgarciam)
Work smarter, not harder!.

-- 
View this message in context:
http://apache-wicket.1842946.n4.nabble.com/DropDownChoice-Model-Confusio
n-tp2955144p2955255.html
Sent from the Users forum mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org


-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: DropDownChoice/Model Confusion

2010-10-04 Thread jcgarciam

Hi, instead of passing  "getMyRecords()" in the constructor wrap it around
a LoadableDetachableModel and pass that model to the DDC. The difference is
that your current list is fetch only once at construction of your pages and
is considered static because its never get called again unless you triggered
it by entering to a new page instance, while by using a LDM the component
will ask for it every time it needs to re-render them.


On Mon, Oct 4, 2010 at 6:52 PM, Shelli Orton [via Apache Wicket] <
ml-node+2955144-665570512-65...@n4.nabble.com
> wrote:

> I am writing a (simple?) database CRUD app where I have multiple tab
> panels that encapsulate the different tables in the database.  On a
> panel there's a dropdownchoice which lists the existing records for that
> table.  There's also create, delete and edit buttons (and and edit panel
> with save and cancel buttons).  When I create, edit or delete any of the
> records, the dropdownchoice list doesn't reflect the changes until I
> open a new session.  So my question is how to reload the list after one
> of these actions is done?
>
> Currently my dropdownchoice model is set like this:
>
> MyRecord selectedRecord;
> ...
> form.add(new DropDownChoice("records",
> new PropertyModel(this, "selectedRecord"),
> getMyRecords(), // method that retrieves from the database (via
> JPA)
> new MyRecordRenderer()).setNullValid(false)); // used to return
> the display attribute of MyRecord
>
> I am trying to understand if using a LoadableDetachableModel will do the
> reload that I want. Also, I don't know how to set the selectedRecord
> using that type of model or if it's even possible.
>
> Any advice?
>
> Thanks!
>
> Shelli
>
> -
> To unsubscribe, e-mail: [hidden 
> email]
> For additional commands, e-mail: [hidden 
> email]
>
>
>
> --
>  View message @
> http://apache-wicket.1842946.n4.nabble.com/DropDownChoice-Model-Confusion-tp2955144p2955144.html
> To start a new topic under Apache Wicket, email
> ml-node+1842946-398011874-65...@n4.nabble.com
> To unsubscribe from Apache Wicket, click 
> here.
>
>
>


-- 
Sincerely,
JC (http://www.linkedin.com/in/jcgarciam)
Work smarter, not harder!.

-- 
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/DropDownChoice-Model-Confusion-tp2955144p2955255.html
Sent from the Users forum mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org