You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ta...@apache.org on 2019/07/25 09:27:26 UTC

[myfaces] branch master updated: use SharedStringBuilder

This is an automated email from the ASF dual-hosted git repository.

tandraschko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces.git


The following commit(s) were added to refs/heads/master by this push:
     new 9c51751  use SharedStringBuilder
9c51751 is described below

commit 9c51751396ca9ad5167c6f5a364c53dd00b50fb5
Author: Thomas Andraschko <ta...@apache.org>
AuthorDate: Thu Jul 25 11:27:18 2019 +0200

    use SharedStringBuilder
---
 .../context/servlet/ServletExternalContextImpl.java      |  5 ++++-
 .../renderkit/html/base/HtmlLinkRendererBase.java        | 16 ++++++++++------
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java b/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java
index cb05a26..da77285 100755
--- a/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java
@@ -60,6 +60,7 @@ import org.apache.myfaces.context.flash.FlashImpl;
 import org.apache.myfaces.util.lang.Assert;
 import org.apache.myfaces.util.lang.EnumerationIterator;
 import org.apache.myfaces.util.ExternalSpecifications;
+import org.apache.myfaces.util.SharedStringBuilder;
 import org.apache.myfaces.util.lang.StringUtils;
 
 /**
@@ -79,6 +80,7 @@ public final class ServletExternalContextImpl extends ServletExternalContextImpl
     private static final String URL_NAME_VALUE_PAIR_SEPERATOR="=";
     private static final String PUSHED_RESOURCE_URLS = "oam.PUSHED_RESOURCE_URLS";
     private static final String PUSH_SUPPORTED = "oam.PUSH_SUPPORTED";
+    private static final String SB_ENCODE_URL = ServletExternalContextImpl.class.getName() + "#encodeURL";
 
     private ServletRequest _servletRequest;
     private ServletResponse _servletResponse;
@@ -957,7 +959,8 @@ public final class ServletExternalContextImpl extends ServletExternalContextImpl
         }
 
         // start building the new URL
-        StringBuilder newUrl = new StringBuilder(baseUrl);
+        StringBuilder newUrl = SharedStringBuilder.get(facesContext, SB_ENCODE_URL, baseUrl.length() + 10);
+        newUrl.append(baseUrl);
 
         //now add the updated param list onto the url
         if (hasParams)
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlLinkRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlLinkRendererBase.java
index 4bfa257..8377aa9 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlLinkRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlLinkRendererBase.java
@@ -52,14 +52,18 @@ import org.apache.myfaces.renderkit.RendererUtils;
 import org.apache.myfaces.renderkit.html.util.ResourceUtils;
 import org.apache.myfaces.renderkit.html.util.HTML;
 import org.apache.myfaces.util.ComponentUtils;
+import org.apache.myfaces.util.SharedStringBuilder;
 
-public abstract class HtmlLinkRendererBase
-    extends HtmlRenderer
+public abstract class HtmlLinkRendererBase extends HtmlRenderer
 {
-
     public static final String END_LINK_OUTCOME_AS_SPAN = 
         "oam.shared.HtmlLinkRendererBase.END_LINK_OUTCOME_AS_SPAN";
 
+    private static final String SB_BUILD_ONCLICK = HtmlLinkRendererBase.class.getName()
+            + "#buildOnClick";
+    private static final String SB_ADD_CHILD_PARAMETERS = HtmlLinkRendererBase.class.getName() +
+            "#addChildParameters";
+
     @Override
     public boolean getRendersChildren()
     {
@@ -436,7 +440,7 @@ public abstract class HtmlLinkRendererBase
                                                UIComponent form)
         throws IOException
     {
-        StringBuilder onClick = new StringBuilder();
+        StringBuilder onClick = SharedStringBuilder.get(facesContext, SB_BUILD_ONCLICK);
 
         String commandOnclick;
         if (component instanceof HtmlCommandLink)
@@ -577,7 +581,7 @@ public abstract class HtmlLinkRendererBase
     protected String buildServerOnclick(FacesContext facesContext, UIComponent component, 
             String clientId, UIComponent form) throws IOException
     {
-        StringBuilder onClick = new StringBuilder();
+        StringBuilder onClick = SharedStringBuilder.get(facesContext, SB_BUILD_ONCLICK);
 
         StringBuilder params = addChildParameters(facesContext, component, form);
 
@@ -617,7 +621,7 @@ public abstract class HtmlLinkRendererBase
     private StringBuilder addChildParameters(FacesContext context, UIComponent component, UIComponent nestingForm)
     {
         //add child parameters
-        StringBuilder params = new StringBuilder();
+        StringBuilder params = SharedStringBuilder.get(context, SB_ADD_CHILD_PARAMETERS);
         params.append('[');
         
         List<UIComponent> childrenList = null;