You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2012/03/14 21:46:27 UTC

svn commit: r1300716 - in /myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets: FaceletCompositionContext.java impl/DefaultFacelet.java impl/FaceletCompositionContextImpl.java

Author: lu4242
Date: Wed Mar 14 20:46:27 2012
New Revision: 1300716

URL: http://svn.apache.org/viewvc?rev=1300716&view=rev
Log:
MYFACES-3487 [perf] cache unique ids generated by facelets (do not cache when isBuildingViewMetadata is set to true)

Modified:
    myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletCompositionContext.java
    myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFacelet.java
    myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/impl/FaceletCompositionContextImpl.java

Modified: myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletCompositionContext.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletCompositionContext.java?rev=1300716&r1=1300715&r2=1300716&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletCompositionContext.java (original)
+++ myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletCompositionContext.java Wed Mar 14 20:46:27 2012
@@ -519,4 +519,15 @@ abstract public class FaceletComposition
     {
     }
 
+    /**
+     * Check if the view
+     * 
+     * since 2.1.7, 2.0.13
+     * @return 
+     */
+    public boolean isBuildingViewMetadata()
+    {
+        return FaceletViewDeclarationLanguage.isBuildingViewMetadata(
+                FacesContext.getCurrentInstance());
+    }
 }

Modified: myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFacelet.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFacelet.java?rev=1300716&r1=1300715&r2=1300716&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFacelet.java (original)
+++ myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFacelet.java Wed Mar 14 20:46:27 2012
@@ -133,7 +133,8 @@ final class DefaultFacelet extends Abstr
             myFaceletContext = new FaceletCompositionContextImpl(_factory, facesContext);
             myFaceletContext.init(facesContext);
             faceletCompositionContextInitialized = true;
-            if (_encodingHandler && MyfacesConfig.getCurrentInstance(
+            if (_encodingHandler && !myFaceletContext.isBuildingViewMetadata()
+                    && MyfacesConfig.getCurrentInstance(
                     facesContext.getExternalContext()).isViewUniqueIdsCacheEnabled() && 
                     _refreshPeriod <= 0)
             {

Modified: myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/impl/FaceletCompositionContextImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/impl/FaceletCompositionContextImpl.java?rev=1300716&r1=1300715&r2=1300716&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/impl/FaceletCompositionContextImpl.java (original)
+++ myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/impl/FaceletCompositionContextImpl.java Wed Mar 14 20:46:27 2012
@@ -99,6 +99,8 @@ public class FaceletCompositionContextIm
     
     private Boolean _isMarkInitialState;
     
+    private Boolean _isBuildingViewMetadata;
+    
     private Boolean _refreshTransientBuildOnPSS;
     
     private Boolean _refreshTransientBuildOnPSSPreserveState;
@@ -496,6 +498,17 @@ public class FaceletCompositionContextIm
         }
         return _refreshTransientBuildOnPSSPreserveState;
     }
+    
+    @Override
+    public boolean isBuildingViewMetadata()
+    {
+        if (_isBuildingViewMetadata == null)
+        {
+            _isBuildingViewMetadata = FaceletViewDeclarationLanguage.
+                    isBuildingViewMetadata(_facesContext);
+        }
+        return _isBuildingViewMetadata;
+    }
 
     @Override
     public boolean isUsingPSSOnThisView()