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