[seam-issues] [JBoss JIRA] Updated: (SEAMFACES-166) UIValidateForm doesn't set the rendererType property correctly

Christian Kaltepoth (JIRA) jira-events at lists.jboss.org
Tue May 31 00:40:00 EDT 2011


     [ https://issues.jboss.org/browse/SEAMFACES-166?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christian Kaltepoth updated SEAMFACES-166:
------------------------------------------

    Git Pull Request: https://github.com/seam/faces/pull/36
         Description: 
MyFaces emits some warning when {{<s:validateForm>}} is used on a page:

{code}
30.05.2011 17:30:03 org.apache.myfaces.renderkit.html.HtmlRenderKitImpl getRenderer
WARNUNG: Unsupported component-family/renderer-type: org.jboss.seam.faces.ValidateForm/javax.faces.Text
30.05.2011 17:30:03 org.apache.catalina.core.ApplicationContext log
INFO: No Renderer found for component {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /validation.xhtml][Class: javax.faces.component.html.HtmlForm,Id: j_id98696035_5e1fb46][Class: org.jboss.seam.faces.component.UIValidateForm,Id: j_id98696035_5e1fb24]} (component-family=org.jboss.seam.faces.ValidateForm, renderer-type=javax.faces.Text)
30.05.2011 17:30:03 javax.faces.component.UIComponentBase getRenderer
WARNUNG: No Renderer found for component {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /validation.xhtml][Class: javax.faces.component.html.HtmlForm,Id: j_id98696035_5e1fb46][Class: org.jboss.seam.faces.component.UIValidateForm,Id: j_id98696035_5e1fb24]} (component-family=org.jboss.seam.faces.ValidateForm, renderer-type=javax.faces.Text)
{code}

{{UIValidateForm}} doesn't render any output and therefore implements the {{encode*()}} methods with empty method bodies. The {{rendererType}} property has to be {{null}} for this methods to be used (direct implementation model for rendering components).

The problem with {{UIValidateForm}} is that it is a subclass of {{UIInput}}. According to 4.1.6.2 the default value of the {{rendererType}} property for {{UIInput}} is {{javax.faces.Text}}. As {{UIValidateForm}} doesn't overwrite {{getRendererType()}} MyFaces uses the default value and therefore searches for a renderer for the component.

  was:
MyFaces emits some warning when <s:validateForm> is used on a page:

{code}
30.05.2011 17:30:03 org.apache.myfaces.renderkit.html.HtmlRenderKitImpl getRenderer
WARNUNG: Unsupported component-family/renderer-type: org.jboss.seam.faces.ValidateForm/javax.faces.Text
30.05.2011 17:30:03 org.apache.catalina.core.ApplicationContext log
INFO: No Renderer found for component {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /validation.xhtml][Class: javax.faces.component.html.HtmlForm,Id: j_id98696035_5e1fb46][Class: org.jboss.seam.faces.component.UIValidateForm,Id: j_id98696035_5e1fb24]} (component-family=org.jboss.seam.faces.ValidateForm, renderer-type=javax.faces.Text)
30.05.2011 17:30:03 javax.faces.component.UIComponentBase getRenderer
WARNUNG: No Renderer found for component {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /validation.xhtml][Class: javax.faces.component.html.HtmlForm,Id: j_id98696035_5e1fb46][Class: org.jboss.seam.faces.component.UIValidateForm,Id: j_id98696035_5e1fb24]} (component-family=org.jboss.seam.faces.ValidateForm, renderer-type=javax.faces.Text)
{code}

{{UIValidateForm}} doesn't render any output and therefore implements the {{encode*()}} methods with empty method bodies. The {{rendererType}} property has to be {{null}} for this methods to be used (direct implementation model for rendering components).

The problem with {{UIValidateForm}} is that it is a subclass of {{UIInput}}. According to 4.1.6.2 the default value of the {{rendererType}} property for {{UIInput}} is {{javax.faces.Text}}. As {{UIValidateForm}} doesn't overwrite {{getRendererType()}} MyFaces uses the default value and therefore searches for a renderer for the component.



I just opened a pull request:

https://github.com/seam/faces/pull/36

> UIValidateForm doesn't set the rendererType property correctly
> --------------------------------------------------------------
>
>                 Key: SEAMFACES-166
>                 URL: https://issues.jboss.org/browse/SEAMFACES-166
>             Project: Seam Faces
>          Issue Type: Bug
>          Components: Validation & Conversion
>    Affects Versions: 3.0.1
>         Environment: Tomcat 7.0.5, MyFaces 2.0.5, Weld 1.1.0
>            Reporter: Christian Kaltepoth
>            Priority: Minor
>
> MyFaces emits some warning when {{<s:validateForm>}} is used on a page:
> {code}
> 30.05.2011 17:30:03 org.apache.myfaces.renderkit.html.HtmlRenderKitImpl getRenderer
> WARNUNG: Unsupported component-family/renderer-type: org.jboss.seam.faces.ValidateForm/javax.faces.Text
> 30.05.2011 17:30:03 org.apache.catalina.core.ApplicationContext log
> INFO: No Renderer found for component {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /validation.xhtml][Class: javax.faces.component.html.HtmlForm,Id: j_id98696035_5e1fb46][Class: org.jboss.seam.faces.component.UIValidateForm,Id: j_id98696035_5e1fb24]} (component-family=org.jboss.seam.faces.ValidateForm, renderer-type=javax.faces.Text)
> 30.05.2011 17:30:03 javax.faces.component.UIComponentBase getRenderer
> WARNUNG: No Renderer found for component {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /validation.xhtml][Class: javax.faces.component.html.HtmlForm,Id: j_id98696035_5e1fb46][Class: org.jboss.seam.faces.component.UIValidateForm,Id: j_id98696035_5e1fb24]} (component-family=org.jboss.seam.faces.ValidateForm, renderer-type=javax.faces.Text)
> {code}
> {{UIValidateForm}} doesn't render any output and therefore implements the {{encode*()}} methods with empty method bodies. The {{rendererType}} property has to be {{null}} for this methods to be used (direct implementation model for rendering components).
> The problem with {{UIValidateForm}} is that it is a subclass of {{UIInput}}. According to 4.1.6.2 the default value of the {{rendererType}} property for {{UIInput}} is {{javax.faces.Text}}. As {{UIValidateForm}} doesn't overwrite {{getRendererType()}} MyFaces uses the default value and therefore searches for a renderer for the component.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the seam-issues mailing list