@Override
public void decode(FacesContext context, UIComponent component) {
UISelectOne selectOne = (UISelectOne) component;
if (!shouldDecode(selectOne)) {
return;
}
decodeBehaviors(context, selectOne);
String clientId = getSubmitParam(context, selectOne);
Map<String, String> params = context.getExternalContext().getRequestParameterMap();
if (!params.containsKey(clientId)) {
return;
}
String submittedValue = params.get(clientId);
String[] submittedValues = validateSubmittedValues(context, selectOne, (Object[]) getValues(selectOne), submittedValue);
submittedValue = submittedValues.length == 0 ? submittedValue : submittedValues[0];
selectOne.setSubmittedValue(submittedValue);
}