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/02/27 05:06:17 UTC

svn commit: r1294019 - in /myfaces/core/branches/2.0.x: impl/src/main/java/org/apache/myfaces/view/facelets/ impl/src/main/java/org/apache/myfaces/view/facelets/impl/ shared/src/main/java/org/apache/myfaces/shared/renderkit/html/

Author: lu4242
Date: Mon Feb 27 04:06:16 2012
New Revision: 1294019

URL: http://svn.apache.org/viewvc?rev=1294019&view=rev
Log:
MYFACES-3468 [PERF] Avoid unnecessary _ComponentFacetMap instances (Thanks to Martin Koci for provide this patch)

Modified:
    myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.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
    myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java

Modified: myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java?rev=1294019&r1=1294018&r2=1294019&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java (original)
+++ myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java Mon Feb 27 04:06:16 2012
@@ -611,10 +611,9 @@ public class DefaultFaceletsStateManagem
             }
     
             //Scan facets
-            Map<String, UIComponent> facetMap = component.getFacets();
-            if (!facetMap.isEmpty())
+            if (component.getFacetCount() > 0)
             {
-                //String currentClientId = component.getClientId();
+                Map<String, UIComponent> facetMap = component.getFacets();
                 
                 for (Map.Entry<String, UIComponent> entry : facetMap.entrySet())
                 {
@@ -765,12 +764,15 @@ public class DefaultFaceletsStateManagem
                         else
                         {
                             String facetName = null;
-                            for (Map.Entry<String, UIComponent> entry : target.getParent().getFacets().entrySet()) 
+                            if (target.getParent().getFacetCount() > 0)
                             {
-                                if (target.equals(entry.getValue()))
+                                for (Map.Entry<String, UIComponent> entry : target.getParent().getFacets().entrySet()) 
                                 {
-                                    facetName = entry.getKey();
-                                    break;
+                                    if (target.equals(entry.getValue()))
+                                    {
+                                        facetName = entry.getKey();
+                                        break;
+                                    }
                                 }
                             }
                             states.put(target.getClientId(facesContext),new AttachedFullStateWrapper(new Object[]{
@@ -874,9 +876,10 @@ public class DefaultFaceletsStateManagem
             }
     
             //Scan facets
-            Map<String, UIComponent> facetMap = component.getFacets();
-            if (!facetMap.isEmpty())
+            
+            if (component.getFacetCount() > 0)
             {
+                Map<String, UIComponent> facetMap = component.getFacets();
                 String currentClientId = component.getClientId();
                 
                 for (Map.Entry<String, UIComponent> entry : facetMap.entrySet())
@@ -1137,9 +1140,10 @@ public class DefaultFaceletsStateManagem
         }
 
         //facets
-        Map<String, UIComponent> facetMap = component.getFacets();
-        if (!facetMap.isEmpty())
+        
+        if (component.getFacetCount() > 0)
         {
+            Map<String, UIComponent> facetMap = component.getFacets();
             List<Object[]> structFacetList = new ArrayList<Object[]>();
             for (Map.Entry<String, UIComponent> entry : facetMap.entrySet())
             {

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=1294019&r1=1294018&r2=1294019&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 Mon Feb 27 04:06:16 2012
@@ -203,7 +203,7 @@ final class DefaultFacelet extends Abstr
             }
 
             // remove any facets marked as deleted
-            if (c.getFacets().size() > 0)
+            if (c.getFacetCount() > 0)
             {
                 Collection<UIComponent> col = c.getFacets().values();
                 UIComponent fc;

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=1294019&r1=1294018&r2=1294019&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 Mon Feb 27 04:06:16 2012
@@ -625,13 +625,11 @@ public class FaceletCompositionContextIm
         id = (id == null) ? VIEWROOT_FACELET_ID : id;
         markComponentForDeletion(id, component);
         
-        Map<String, UIComponent> facets = component.getFacets();
-        if (!facets.isEmpty())
+        
+        if (component.getFacetCount() > 0)
         {
-            for (Iterator<UIComponent> itr = facets.values().iterator(); itr.hasNext();)
+            for (UIComponent fc: component.getFacets().values())
             {
-                UIComponent fc = itr.next();
-
                 id = (String) fc.getAttributes().get(ComponentSupport.MARK_CREATED);
                 if (id != null)
                 {
@@ -697,9 +695,10 @@ public class FaceletCompositionContextIm
         }
 
         // remove any facets marked as deleted
-        Map<String, UIComponent> facets = component.getFacets();
-        if (!facets.isEmpty())
+        
+        if (component.getFacetCount() > 0)
         {
+            Map<String, UIComponent> facets = component.getFacets();
             for (Iterator<UIComponent> itr = facets.values().iterator(); itr.hasNext();)
             {
                 UIComponent fc = itr.next();

Modified: myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java?rev=1294019&r1=1294018&r2=1294019&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java (original)
+++ myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java Mon Feb 27 04:06:16 2012
@@ -819,9 +819,13 @@ public class HtmlTableRendererBase exten
             }
         }
 
-
-        UIComponent facet = header ? (UIComponent) component.getFacets().get(HEADER_FACET_NAME)
-                : (UIComponent) component.getFacets().get(FOOTER_FACET_NAME);
+        
+        UIComponent facet = null;
+        if (component.getFacetCount() > 0)
+        {
+            facet = header ? (UIComponent) component.getFacets().get(HEADER_FACET_NAME) 
+                    : (UIComponent) component.getFacets().get(FOOTER_FACET_NAME);
+        }
         if (facet != null || hasColumnFacet)
         {
             // Header or Footer present on either the UIData or a column, so we