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:47 UTC
svn commit: r1294020 - in /myfaces/core/trunk:
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:47 2012
New Revision: 1294020
URL: http://svn.apache.org/viewvc?rev=1294020&view=rev
Log:
MYFACES-3468 [PERF] Avoid unnecessary _ComponentFacetMap instances (Thanks to Martin Koci for provide this patch)
Modified:
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFacelet.java
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/impl/FaceletCompositionContextImpl.java
myfaces/core/trunk/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java?rev=1294020&r1=1294019&r2=1294020&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java Mon Feb 27 04:06:47 2012
@@ -612,10 +612,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())
{
@@ -767,12 +766,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[]{
@@ -876,9 +878,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())
@@ -1139,9 +1142,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/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java?rev=1294020&r1=1294019&r2=1294020&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletViewDeclarationLanguage.java Mon Feb 27 04:06:47 2012
@@ -563,17 +563,15 @@ public class FaceletViewDeclarationLangu
if (view.getFacetCount() > 0)
{
Map<String, UIComponent> facetMap = view.getFacets();
- if (!facetMap.isEmpty())
+ for (Map.Entry<String, UIComponent> entry : facetMap.entrySet())
{
- for (Map.Entry<String, UIComponent> entry : facetMap.entrySet())
+ UIComponent child = entry.getValue();
+ if (!child.isTransient())
{
- UIComponent child = entry.getValue();
- if (!child.isTransient())
- {
- _markInitialState(child);
- }
+ _markInitialState(child);
}
}
+
}
}
@@ -596,17 +594,15 @@ public class FaceletViewDeclarationLangu
if (component.getFacetCount() > 0)
{
Map<String, UIComponent> facetMap = component.getFacets();
- if (!facetMap.isEmpty())
+ for (Map.Entry<String, UIComponent> entry : facetMap.entrySet())
{
- for (Map.Entry<String, UIComponent> entry : facetMap.entrySet())
+ UIComponent child = entry.getValue();
+ if (!child.isTransient())
{
- UIComponent child = entry.getValue();
- if (!child.isTransient())
- {
- _markInitialState(child);
- }
+ _markInitialState(child);
}
}
+
}
}
@@ -872,7 +868,7 @@ public class FaceletViewDeclarationLangu
// In the spec javadoc this variable is referred as forAttributeValue, but
// note it is also called curTargetName
String forValue = currentHandler.getFor();
-
+
for (AttachedObjectTarget currentTarget : targetList)
{
FaceletCompositionContext mctx = FaceletCompositionContext.getCurrentInstance();
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFacelet.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFacelet.java?rev=1294020&r1=1294019&r2=1294020&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFacelet.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFacelet.java Mon Feb 27 04:06:47 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/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/impl/FaceletCompositionContextImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/impl/FaceletCompositionContextImpl.java?rev=1294020&r1=1294019&r2=1294020&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/impl/FaceletCompositionContextImpl.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/impl/FaceletCompositionContextImpl.java Mon Feb 27 04:06:47 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/trunk/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java?rev=1294020&r1=1294019&r2=1294020&view=diff
==============================================================================
--- myfaces/core/trunk/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java (original)
+++ myfaces/core/trunk/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java Mon Feb 27 04:06:47 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