myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Leonardo Uribe (JIRA)" <...@myfaces.apache.org>
Subject [jira] [Created] (MYFACES-3619) Define a special property to specify when a component is created by facelets ( oam.vf.addedByHandler )
Date Sun, 07 Oct 2012 22:26:03 GMT
Leonardo Uribe created MYFACES-3619:
---------------------------------------

             Summary: Define a special property to specify when a component is created by
facelets  ( oam.vf.addedByHandler )
                 Key: MYFACES-3619
                 URL: https://issues.apache.org/jira/browse/MYFACES-3619
             Project: MyFaces Core
          Issue Type: Improvement
          Components: JSR-314
            Reporter: Leonardo Uribe
            Assignee: Leonardo Uribe


I have notice the need to define a special property or attribute to indicate PSS algorithm
when a component has been created by facelets. In practice we use the following fragment in
DefaultFaceletsStateManagementStrategy:

                if (!isRefreshOnTransientBuildPreserveState() &&
                    FaceletCompositionContext.getCurrentInstance(_facesContext) != null &&
                    (component.getAttributes().containsKey(ComponentSupport.MARK_CREATED)
||
                     component.getAttributes().containsKey(ComponentSupport.FACET_CREATED_UIPANEL_MARKER))
||
                     (component.getId() != null && component.getId().length() >
16 && 
                      component.getId().startsWith(UIViewRoot.UNIQUE_ID_PREFIX) &&

                      component.getId().endsWith("__f_cc_facet") )
                    )

It is a complex check for something that should be simple. The idea is reduce that to something
like this:

                if (!isRefreshOnTransientBuildPreserveState() &&
                    FaceletCompositionContext.getCurrentInstance(_facesContext) != null &&
                    (component.getAttributes().containsKey(ComponentSupport.MARK_CREATED)
||
                     component.getAttributes().containsKey(ComponentSupport.COMPONENT_ADDED_BY_HANDLER_MARKER))
                    )

and create oam.vf.addedByHandler as special facelets attribute just like oam.vf.MARK_ID or
MARK_CREATED is, to make facelets refreshTransientBuild faster.

It is required to do some changes in some locations, specially when ComponentSupport.FACET_CREATED_UIPANEL_MARKER
is used, to set that one and ComponentSupport.COMPONENT_ADDED_BY_HANDLER_MARKER together.
It is not conveniento to mix both because both are used in different situations.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message