Hi all, In my app I was ought to subclass DropDownChoice just because of one small implementation detail of AbstractSingleSelectChoice.getModelValue():
... public String getModelValue() { final Object object = getModelObject(); if (object != null) { int index = getChoices().indexOf(object); //<<----- return getChoiceRenderer().getIdValue(object, index); } return NO_SELECTION_VALUE; } ... In case when getModelObject() returns, for example string (or any other kind of key value) while list contains something different (for example POJOs with key-value pairs), getChoices().indexOf(object) returns -1. It happens because indexOf() usually implemented so it calls equals() for passed key and provides element list as a value, while in this case element list is more "smart" and can match itself to passed key (of course with proper equals() method). Probably it worth to consider replace call to indexOf() with loop and reverse the check (i.e. call equals() for list elements passing key as a parameter). This should not cause problems with existing code, but may slightly simplify life in cases similar to the above. Similar issue also exists in ListMultipleChoice.getModelValue(). Regards, Sergiy. *--------------------------------------------- [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]