[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-1093) s:selectItems noSelectionLabel issue w/JSF 1.2

Stuart Robertson (JIRA) jira-events at lists.jboss.org
Thu Mar 22 07:25:05 EDT 2007


    [ http://jira.jboss.com/jira/browse/JBSEAM-1093?page=comments#action_12356976 ] 
            
Stuart Robertson commented on JBSEAM-1093:
------------------------------------------

Actually, more of the stacktrace may be helpful.  Here's the full root cause:

05:48:12,854 ERROR [DebugPageHandler] redirecting to debug page
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)
	at javax.faces.component.UIInput.validate(UIInput.java:860)
	at javax.faces.component.UIInput.executeValidate(UIInput.java:1065)
	at javax.faces.component.UIInput.processValidators(UIInput.java:666)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1030)
	at org.ajax4jsf.ajax.repeat.UIDataAdaptor$2.processComponent(UIDataAdaptor.java:116)
	at org.ajax4jsf.ajax.repeat.UIDataAdaptor$ComponentVisitor.process(UIDataAdaptor.java:88)
	at org.ajax4jsf.ajax.repeat.SequenceDataModel.walk(SequenceDataModel.java:101)
	at org.ajax4jsf.ajax.repeat.UIDataAdaptor.walk(UIDataAdaptor.java:855)
	at org.ajax4jsf.ajax.repeat.UIDataAdaptor.iterate(UIDataAdaptor.java:837)
	at org.ajax4jsf.ajax.repeat.UIDataAdaptor.processValidators(UIDataAdaptor.java:909)
	at org.ajax4jsf.ajax.repeat.UIDataAdaptor.processValidators(UIDataAdaptor.java:913)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1030)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1030)
	at javax.faces.component.UIForm.processValidators(UIForm.java:229)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1030)
	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:662)
	at org.ajax4jsf.framework.ajax.AjaxViewRoot.access$201(AjaxViewRoot.java:53)
	at org.ajax4jsf.framework.ajax.AjaxViewRoot$3.invokeRoot(AjaxViewRoot.java:302)
	at org.ajax4jsf.framework.ajax.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOneOneInvoker.java:54)
	at org.ajax4jsf.framework.ajax.AjaxContext.invokeOnRegionOrRoot(AjaxContext.java:176)
	at org.ajax4jsf.framework.ajax.AjaxViewRoot.processValidators(AjaxViewRoot.java:315)
	at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:100)
	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
	at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:60)
	at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
	at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
	at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
	at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:53)
	at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
	at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
	at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
	at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)


> s:selectItems noSelectionLabel issue w/JSF 1.2
> ----------------------------------------------
>
>                 Key: JBSEAM-1093
>                 URL: http://jira.jboss.com/jira/browse/JBSEAM-1093
>             Project: JBoss Seam
>          Issue Type: Bug
>          Components: JSF
>    Affects Versions: 1.2.0.GA
>         Environment: Latest Seam version.  JSF 1.2, Facelets, JBoss 4.0.5 on OS X 10.4.9.  
>            Reporter: Stuart Robertson
>
> <h:selectOneMenu value="#{criteria.operation}">
> 	<s:selectItems value="#{itemSearch.operations}" var="operation"
> 		label="#{operation.description}"
> 		noSelectionLabel="Select operation..."
> 		hideNoSelectionLabel="false" />
> 	<s:convertEnum />
> </h:selectOneMenu>
> produces the following exception:
> Caused by: java.lang.IllegalArgumentException: No enum const class com.fb.core.model.cdm.CdmField.Se
> lect 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(HtmlBasicInputRender
> er.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)
> 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. 
> The converter is being asked to convert the noSelection value back into an enum. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the seam-issues mailing list