Maybe a usecase helps :-)
I load my choices in a LDM. The selected choice is located in the domain
model.
So the objects are equal by semantic but not by instance.
Dropdown choices are <d, Germany; dk, Danmark> hashcodes are 1 and 2
selected value is d, Germany hashcode is 3
Cheers
Per
Am 24.01.2012 10:42, schrieb Per Newgro:
Hi,
with 1.5.4 the implementation of
org.apache.wicket.markup.html.form.AbstractSingleSelectChoice.java
has changed from
<code>
/**
* @see FormComponent#getModelValue()
*/
@Override
public String getModelValue()
{
final T object = getModelObject();
if (object != null)
{
int index = getChoices().indexOf(object);
return getChoiceRenderer().getIdValue(object, index);
}
else
{
return "";
}
}
</code>
to
<code>
/**
* @see FormComponent#getModelValue()
*/
@Override
public String getModelValue()
{
final T object = getModelObject();
if (object != null)
{
int index = getChoices().indexOf(object);
if (index < 0)
{
// the model is returning a choice that is not in the
available choices collection
logger.warn(
"Detected inconsistency in choice component:
{}/{}. Model returned object: {}, but this object is not available in
the list of selected objects.",
new Object[] { getPage().getClass(),
getPageRelativePath(), object });
// pretend like nothing is selected
return "";
}
return getChoiceRenderer().getIdValue(object, index);
}
else
{
return "";
}
}
</code>
I don't see why this changed. Release notes don't provide a task for
that. But now i have to overwrite equals in my objects to get that to
work.
Is there another way of selecting the object?
Thanks
Per
---------------------------------------------------------------------
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