Just upgraded to JSF 1.2, and am running latest-from-cvs Seam with Facelets.
I have a simple selectOneMenu populated by a s:selectItems:
<h:selectOneMenu value="#{criteria.operation}">
<s:selectItems value="#{itemSearch.operations}" var="operation"
label="#{operation.description}"
noSelectionLabel="Select operation..."
hideNoSelectionLabel="false" />
<s:convertEnum />
</h:selectOneMenu>
This worked fine before I upgraded to JSF 1.2 (tonight) - though I also upgraded to the latest Seam at the same time.
The problem is that the noSelectionLabel is being interpreted as a legitimate selection, rather than being, well, an indicator nothing was selected. And so here's what I see:
Caused by: java.lang.IllegalArgumentException: No enum const class com.fb.core.model.cdm.CdmField.Select search field...
at java.lang.Enum.valueOf(Enum.java:192)
at org.jboss.seam.ui.EnumConverter.getAsObject(EnumConverter.java:16)
at org.jboss.seam.ui.PrioritizableConverter.getAsObject(PrioritizableConverter.java:61)
at org.jboss.seam.ui.ConverterChain.getAsObject(ConverterChain.java:103)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:152)
at com.sun.faces.renderkit.html_basic.MenuRenderer.convertSelectOneValue(MenuRenderer.java:197)
at com.sun.faces.renderkit.html_basic.MenuRenderer.getConvertedValue(MenuRenderer.java:359)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:934)
The converter is being asked to convert the noSelection value back into an enum.
Is this a bug or am I missing something? I'll file a bug report but wanted to get feedback first.