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/07 21:44:29 UTC
svn commit: r1298100 - in
/myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html:
HtmlButtonRendererBase.java HtmlLinkRendererBase.java
HtmlTableRendererBase.java
Author: lu4242
Date: Wed Mar 7 20:44:29 2012
New Revision: 1298100
URL: http://svn.apache.org/viewvc?rev=1298100&view=rev
Log:
MYFACES-3473 [perf] Avoid unnecessary _ComponentChildrenList instances - improve HtmlRenderer.getChildren
Modified:
myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlButtonRendererBase.java
myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.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/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlButtonRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlButtonRendererBase.java?rev=1298100&r1=1298099&r2=1298100&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlButtonRendererBase.java (original)
+++ myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlButtonRendererBase.java Wed Mar 7 20:44:29 2012
@@ -20,6 +20,7 @@ package org.apache.myfaces.shared.render
import java.io.IOException;
import java.util.Collection;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -140,8 +141,17 @@ public class HtmlButtonRendererBase
// we should write the form submit script
// (define oamSetHiddenInput, oamClearHiddenInput, oamSubmitForm)
// because oamSetHiddenInput is called on onclick function
+ List<UIComponent> childrenList = null;
+ if (getChildCount(uiComponent) > 0)
+ {
+ childrenList = getChildren(uiComponent);
+ }
+ else
+ {
+ childrenList = Collections.emptyList();
+ }
List<UIParameter> validParams = HtmlRendererUtils.getValidUIParameterChildren(
- facesContext, getChildren(uiComponent), false, false);
+ facesContext, childrenList, false, false);
boolean javascriptAllowed = JavascriptUtils.isJavascriptAllowed(facesContext.getExternalContext());
Modified: myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java?rev=1298100&r1=1298099&r2=1298100&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java (original)
+++ myfaces/core/branches/2.0.x/shared/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java Wed Mar 7 20:44:29 2012
@@ -22,6 +22,7 @@ import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Collection;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.RandomAccess;
@@ -659,8 +660,17 @@ public abstract class HtmlLinkRendererBa
StringBuilder params = new StringBuilder();
params.append("[");
+ List<UIComponent> childrenList = null;
+ if (getChildCount(component) > 0)
+ {
+ childrenList = getChildren(component);
+ }
+ else
+ {
+ childrenList = Collections.emptyList();
+ }
List<UIParameter> validParams = HtmlRendererUtils.getValidUIParameterChildren(
- FacesContext.getCurrentInstance(), getChildren(component), false, false);
+ context, childrenList, false, false);
for (int j = 0, size = validParams.size(); j < size; j++)
{
UIParameter param = validParams.get(j);
@@ -808,9 +818,17 @@ public abstract class HtmlLinkRendererBa
{
boolean strictXhtmlLinks
= MyfacesConfig.getCurrentInstance(facesContext.getExternalContext()).isStrictXhtmlLinks();
-
+ List<UIComponent> childrenList = null;
+ if (getChildCount(linkComponent) > 0)
+ {
+ childrenList = getChildren(linkComponent);
+ }
+ else
+ {
+ childrenList = Collections.emptyList();
+ }
List<UIParameter> validParams = HtmlRendererUtils.getValidUIParameterChildren(
- facesContext, getChildren(linkComponent), false, false);
+ facesContext, childrenList, false, false);
for (int i = 0, size = validParams.size(); i < size; i++)
{
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=1298100&r1=1298099&r2=1298100&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 Wed Mar 7 20:44:29 2012
@@ -470,9 +470,13 @@ public class HtmlTableRendererBase exten
rowStartRendered = true;
}
- List children = getChildren(component);
+ List children = null;
for (int j = 0, size = getChildCount(component); j < size; j++)
{
+ if (children == null)
+ {
+ children = getChildren(component);
+ }
UIComponent child = (UIComponent) children.get(j);
if (child.isRendered())
{