cannot render selectBooleanCheckbox tag when a boolean value is supplied
------------------------------------------------------------------------

                 Key: MYFACES-1592
                 URL: https://issues.apache.org/jira/browse/MYFACES-1592
             Project: MyFaces Core
          Issue Type: Bug
          Components: JSR-252
    Affects Versions: 1.2.0-SNAPSHOT
            Reporter: Paul McMahan


The tag descriptor generated by the maven plugin for 
HtmlSelectBooleanCheckboxTag has the following attribute:
    <attribute>
      <description><![CDATA[The initial value of this 
component.]]></description>
      <name>value</name>
      <deferred-value></deferred-value>
    </attribute>

So when a JSP contains a tag like this:
<h:selectBooleanCheckbox id="foo1" value="true"/>

The following unhandled exception is thrown:
javax.servlet.ServletException: Expected submitted value of type Boolean for 
Component : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: 
/mytest.jsp][Class: javax.faces.component.html.HtmlForm,Id: form][Class: 
javax.faces.component.html.HtmlSelectBooleanCheckbox,Id: foo1]}
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at 
org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSubjectValve.java:56)
        at 
org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:333)
        at 
org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:47)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:543)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:238)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
        at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
        at java.lang.Thread.run(Thread.java:613)

This exception is thrown because RendererUtils.getBooleanValue() expects 
HtmlSelectBooleanCheckbox.getValue() to return a Boolean but instead it returns 
an Object.  Changing the type for the "value" attribute in h.tld as shown below 
avoids the exception and passes the currently failing TCK test for that 
component:
    <attribute>
      <description><![CDATA[The initial value of this 
component.]]></description>
      <name>value</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to