[ 
https://issues.apache.org/jira/browse/MYFACES-3136?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Leonardo Uribe reopened MYFACES-3136:
-------------------------------------


I checked this one again and even if the improvement works for all known jsf 
libraries, , according to JSF spec section 8 Rendering Model,this part is 
essential to implement "delegated implementation" pattern, so we can't do this 
optimization here. Instead, JSF developers could prevent this evaluation 
overriding this method directly on the created components, like trinidad does. 
In other words, it is valid to have a ValueExpression attached to 
"rendererType". Unfortunately I have to revert this change. Instead, we should 
minimize lookups to attribute map using other means, like directly on the 
renderers, as suggested on MYFACES-3237

> [perf] review UIComponentBase.getRendererType 
> ----------------------------------------------
>
>                 Key: MYFACES-3136
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3136
>             Project: MyFaces Core
>          Issue Type: Improvement
>          Components: General
>    Affects Versions: 2.1.0-SNAPSHOT
>         Environment: myfaces core trunk
>            Reporter: Martin Kočí
>            Assignee: Martin Kočí
>            Priority: Minor
>             Fix For: 2.1.0
>
>         Attachments: MYFACES-3136.patch
>
>
> 1) method UIComponentBase.getRendererType is the most frequent, because all 
> encodeBegin, getRendersChildren and encodeAll l try to locate renderer
> 2) getRendererType uses StateHelper.eval - but can be renderType 
> ValueExpression? If not, change StateHelper.eval to StateHelper.get
> 3) should rendererType even be part of state saving? Each component I've ever 
> seen has setRendererType("com.foo.renderer") in  constructor and/or VDL calls 
> setRendererType() after calling Application.createComponent(): If 
> rendererType is not part of state saving, replace StateHelper with attribute
> 4) Cache getRenderer(FacesContext context) result anyway (I'll create 
> separate issue for this)

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


Reply via email to