Yes I think so. Below is my code :
public boolean equals(final Object obj)
{
if (obj == this)
{
return true;
}
else if (obj == null)
{
return false;
}
else if (obj instanceof DetachableUserModel)
{
DetachableUserModel other = (DetachableUserModel)obj;
return other.userId == this.userId;
}
return false;
}
public int hashCode() {
return super.hashCode();
}
- krishna
igor.vaynberg wrote:
>
> does your model properly implement equals and hashcode? and i mean
> your actual IModel you are using, not the object inside it...
>
> -igor
>
> On Fri, Sep 26, 2008 at 8:55 AM, krisnv <[EMAIL PROTECTED]> wrote:
>>
>> igor,
>>
>> I am already setting it . Do i have to provide any custom implementation?
>>
>> refreshingView.setItemReuseStrategy(new ReuseIfModelsEqualStrategy());
>>
>> -krishna
>>
>>
>>
>> igor.vaynberg wrote:
>>>
>>> see IItemReuseStrategy
>>>
>>> -igor
>>>
>>> On Fri, Sep 26, 2008 at 8:41 AM, krisnv <[EMAIL PROTECTED]> wrote:
>>>>
>>>> <p>Thanks for you reply and pointing to the right component to use.
>>>> Just
>>>> curious, is there any way to fix this to make it work using this
>>>> approach?</p>
>>>>
>>>> <p>krishna</p>
>>>>
>>>>
>>>> Matej Knopp-2 wrote:
>>>>>
>>>>> That's probably because refreshing view is creating new components on
>>>>> every request. Try using listView nad don't forget to call
>>>>> setReuseItems(true) on it.
>>>>>
>>>>> -Matej
>>>>>
>>>>> On Fri, Sep 26, 2008 at 4:49 PM, krisnv <[EMAIL PROTECTED]>
>>>>> wrote:
>>>>>>
>>>>>> can any of you please respond.
>>>>>>
>>>>>>
>>>>>> krisnv wrote:
>>>>>>>
>>>>>>> <p>I have RefreshingView similar to Contact Editor in Wicket
>>>>>>> Examples.<BR>
>>>>>>> I added a Panel and TextFields to this RefreshingView. <BR>I
>>>>>>> populate
>>>>>>> these TextFields from a list from Database and have assigned Model
>>>>>>> objects
>>>>>>> to each TextField component. The problem is when user modifies a
>>>>>>> value
>>>>>>> in
>>>>>>> any of the text fields, i still get old value from the original
>>>>>>> list.
>>>>>>> Model is not getting updated to reflect new value entered by the
>>>>>>> use.
>>>>>>> Here
>>>>>>> is the code:</p>
>>>>>>> <p>
>>>>>>> RefreshingView refreshingView = new RefreshingView("simple") { <BR>
>>>>>>> protected Iterator getItemModels() {<BR> return new
>>>>>>> ModelIteratorAdapter(users)<BR> { <BR>protected IModel model(Object
>>>>>>> object) {<BR> return new DetachableUserModel((User)object);
>>>>>>> <BR>}<BR>
>>>>>>> };
>>>>>>> <BR>}<BR> protected void populateItem(final Item item) { <BR>//
>>>>>>> populate
>>>>>>> the row of the repeater<BR> IModel user = item.getModel();
>>>>>>> <BR>item.add(new ActionPanel("actions",
>>>>>>> item.getModel()).setOutputMarkupId(true));<BR> item.add(new
>>>>>>> TextField("UserName", new AbstractReadOnlyModel() <BR>{ <BR>public
>>>>>>> Object
>>>>>>> getObject() <BR>{<BR> User ur = (User)item.getModelObject(); return
>>>>>>> ur.getUserName();<BR> }<BR> }<BR>));<BR> item.add(new
>>>>>>> TextField("FirstName", new AbstractReadOnlyModel()<BR> { <BR>public
>>>>>>> Object
>>>>>>> getObject()<BR> {<BR> User ur = (User)item.getModelObject();
>>>>>>> <BR>return
>>>>>>> ur.getFirstName();<BR> } <BR>}<BR>));<BR> item.add(new
>>>>>>> TextField("LastName", new AbstractReadOnlyModel() { <BR>public
>>>>>>> Object
>>>>>>> getObject() {<BR> User ur = (User)item.getModelObject();<BR> return
>>>>>>> ur.getLastName(); } <BR>}<BR>));<BR> item.add(new
>>>>>>> TextField("ContactPhone", new AbstractReadOnlyModel() { <BR>public
>>>>>>> Object
>>>>>>> getObject() <BR>{ <BR>User ur = (User)item.getModelObject();<BR>
>>>>>>> return
>>>>>>> ur.getPhone(); }<BR> }<BR>)); <BR>item.add(new TextField("Email",
>>>>>>> new
>>>>>>> AbstractReadOnlyModel()<BR> {<BR> public Object getObject()<BR>
>>>>>>> {<BR> User ur = (User)item.getModelObject();
>>>>>>> <BR> return ur.getEmail();<BR> } <BR>}<BR>)<BR>);
>>>>>>> <BR>item.add(new PasswordTextField("Password", new
>>>>>>> AbstractReadOnlyModel()
>>>>>>> {<BR> public Object getObject() <BR>{ <BR> User ur =
>>>>>>> (User)item.getModelObject(); <BR> return ur.getPassword(); <BR>}
>>>>>>> <BR>}<BR>)); <BR>}<BR> protected Item newItem(String id, int index,
>>>>>>> IModel
>>>>>>> model) <BR>{<BR> // this item sets markup class attribute to either
>>>>>>> 'odd'
>>>>>>> or<BR> // 'even' for decoration return new OddEvenItem(id, index,
>>>>>>> model);
>>>>>>> <BR>}<BR> }; <BR>refreshingView.setOutputMarkupId(true);
>>>>>>> <BR>refreshingView.setItemReuseStrategy(new
>>>>>>> ReuseIfModelsEqualStrategy());
>>>>>>> <BR>refreshingView.setItemReuseStrategy(ReuseIfModelsEqualStrategy.getInstance());
>>>>>>> <BR>form.add(refreshingView); }</p>
>>>>>>> <p>
>>>>>>> Here is the code for the Panel. I am trying to print the value from
>>>>>>> the
>>>>>>> text field but still getting old value.<BR> private class
>>>>>>> ActionPanel
>>>>>>> extends Panel
>>>>>>> </p><p>{ <BR> public ActionPanel(String id, IModel model) <BR>{
>>>>>>> <BR>super(id, model); <BR> add(new Link("edit") {<BR> public void
>>>>>>> onClick() {<BR> int resultCode=0; <BR>User usr =
>>>>>>> (User)getParent().getModelObject();
>>>>>>> <BR>System.out.println("firstname=="+usr.getFirstName()); <BR> }
>>>>>>> <BR>}<BR>);<BR> }
>>>>>>> </p><p>Any help would be appreciated. Thanks, krishna</p>
>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://www.nabble.com/Model-object-not-geeting-updated-inside-a-RefreshingView-tp19688544p19689965.html
>>>>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>>
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/Model-object-not-geeting-updated-inside-a-RefreshingView-tp19688544p19691024.html
>>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Model-object-not-geeting-updated-inside-a-RefreshingView-tp19688544p19691306.html
>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
--
View this message in context:
http://www.nabble.com/Model-object-not-geeting-updated-inside-a-RefreshingView-tp19688544p19691712.html
Sent from the Wicket - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]