Section section,
Parameter parameter,
String onchange) {
// initialize the component
MessageBroker msgBroker = context.extractMessageBroker();
HtmlSelectOneMenu component = new HtmlSelectOneMenu();
component.setId(getFacesId());
component.setDisabled(!getEditable());
component.setOnchange(getOnChange());
component.setOnclick(getOnClick());
setComponentValue(context,component,parameter);
onchange = Val.chkStr(onchange);
if (onchange.length() > 0) {
component.setOnchange(onchange);
}
// add each code as a SelectItem
ArrayList<SelectItem> codeItems = new ArrayList<SelectItem>();
Codes codes = parameter.getContent().getCodes();
for (Code code: codes.values()) {
String sResKey = code.getResourceKey();
String sLabel = code.getKey();
if (sResKey.length() > 0) {
sLabel = msgBroker.retrieveMessage(sResKey);
}
codeItems.add(new SelectItem(code.getKey(),sLabel));
}
UISelectItems uiItems = new UISelectItems();
uiItems.setValue(codeItems);