Author: dolander
Date: Mon Nov  1 17:13:11 2004
New Revision: 56315

Modified:
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Body.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBox.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBoxGroup.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/HtmlGroupBaseTag.java
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RadioButtonGroup.java
Log:
Performance Update. 
Remove calls to get the ConstantRenderer




Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Body.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Body.java
    (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Body.java
    Mon Nov  1 17:13:11 2004
@@ -240,7 +240,8 @@
      */
     public int doEndTag() throws JspException
     {
-        StringBuilder results = new StringBuilder(16);
+        int size = (_text != null) ? _text.length() + 32 : 512;
+        StringBuilder results = new StringBuilder(size);
 
         // render the header...
         TagRenderingBase br = 
TagRenderingBase.Factory.getRendering(TagRenderingBase.BODY_TAG,

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBox.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBox.java
        (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBox.java
        Mon Nov  1 17:13:11 2004
@@ -274,6 +274,7 @@
         }
 
         String hiddenParamName = realName + OLDVALUE_SUFFIX;
+        ServletRequest req = pageContext.getRequest();
 
         // @todo: should we not support the "on" version of this?
         if (val instanceof String) {
@@ -286,7 +287,7 @@
             _state.checked = ((Boolean) val).booleanValue();
         }
         else {
-            String oldCheckBoxValue = 
pageContext.getRequest().getParameter(hiddenParamName);
+            String oldCheckBoxValue = req.getParameter(hiddenParamName);
             if (oldCheckBoxValue != null) {
                 _state.checked = new Boolean(oldCheckBoxValue).booleanValue();
             }
@@ -296,7 +297,6 @@
         }
         _state.disabled = isDisabled();
 
-        ServletRequest req = pageContext.getRequest();
         StringBuilder results = new StringBuilder(128);
         idScript = renderTagId(_state, realName, false, true);
 

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBoxGroup.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBoxGroup.java
   (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBoxGroup.java
   Mon Nov  1 17:13:11 2004
@@ -22,7 +22,6 @@
 import org.apache.beehive.netui.tags.naming.FormDataNameInterceptor;
 import org.apache.beehive.netui.tags.naming.IndexedNameInterceptor;
 import org.apache.beehive.netui.tags.naming.PrefixNameInterceptor;
-import org.apache.beehive.netui.tags.rendering.ConstantRendering;
 import org.apache.beehive.netui.tags.rendering.InputHiddenTag;
 import org.apache.beehive.netui.tags.rendering.TagRenderingBase;
 import org.apache.beehive.netui.util.Bundle;
@@ -324,7 +323,8 @@
     public int doStartTag() throws JspException
     {
         ServletRequest req = pageContext.getRequest();
-        ConstantRendering cr = 
TagRenderingBase.Factory.getConstantRendering(req);
+        if (_cr == null)
+            _cr = TagRenderingBase.Factory.getConstantRendering(req);
 
         // get the evaluated dataSource and default values
         Object val = evaluateDataSource();
@@ -359,7 +359,7 @@
         }
 
         if (isVertical())
-            cr.TABLE(results);
+            _cr.TABLE(results);
 
         // if this is a repeater then we shouid prime the pump...
         _dynamicAttrs = evaluateOptionsDataSource();
@@ -379,7 +379,7 @@
                     break;
             }
             if (isVertical())
-                cr.TR_TD(results);
+                _cr.TR_TD(results);
 
             DataAccessProviderStack.addDataAccessProvider(this, pageContext);
         }
@@ -408,17 +408,18 @@
 
         if (_repeater) {
             ServletRequest req = pageContext.getRequest();
-            ConstantRendering cr = 
TagRenderingBase.Factory.getConstantRendering(req);
+            if (_cr == null)
+                 _cr = TagRenderingBase.Factory.getConstantRendering(req);
 
             if (isVertical())
-                cr.end_TD_TR(_saveBody);
+                _cr.end_TD_TR(_saveBody);
 
             while (((Iterator) _dynamicAttrs).hasNext()) {
                 _repCurItem = ((Iterator) _dynamicAttrs).next();
                 if (_repCurItem != null) {
                     _repIdx++;
                     if (isVertical())
-                        cr.TR_TD(_saveBody);
+                        _cr.TR_TD(_saveBody);
 
                     return EVAL_BODY_AGAIN;
                 }
@@ -439,8 +440,9 @@
             return reportAndExit(EVAL_PAGE);
 
         ServletRequest req = pageContext.getRequest();
-        ConstantRendering cr = 
TagRenderingBase.Factory.getConstantRendering(req);
         StringBuilder results = new StringBuilder(128);
+        if (_cr == null)
+            _cr = TagRenderingBase.Factory.getConstantRendering(req);
 
         String idScript = null;
         String altText = null;
@@ -455,7 +457,7 @@
         if (_repeater) {
             // Render a tag representing the end of our current form
             if (isVertical())
-                cr.end_TABLE(results);
+                _cr.end_TABLE(results);
 
             if (idScript != null)
                 results.append(idScript);
@@ -481,7 +483,7 @@
                 if (hasErrors()) {
                     reportErrors();
                     if (isVertical()) {
-                        cr.end_TABLE(results);
+                        _cr.end_TABLE(results);
                         write(results.toString());
                     }
                     localRelease();
@@ -511,7 +513,7 @@
                 if (hasErrors()) {
                     reportErrors();
                     if (isVertical()) {
-                        cr.end_TABLE(results);
+                        _cr.end_TABLE(results);
                         write(results.toString());
                     }
                     localRelease();
@@ -522,7 +524,7 @@
         }
 
         if (isVertical())
-            cr.end_TABLE(results);
+            _cr.end_TABLE(results);
 
         if (idScript != null)
             results.append(idScript);

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java
    (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Form.java
    Mon Nov  1 17:13:11 2004
@@ -613,12 +613,14 @@
         }
 
         // Look up the form bean name, scope, and type if necessary
-        lookup();
+        HttpServletRequest request = (HttpServletRequest) 
pageContext.getRequest();
+        ServletContext servletContext = pageContext.getServletContext();
+
+        lookup(request,servletContext);
         if (hasErrors())
             return SKIP_BODY;
 
         // Create an appropriate "form" element based on our parameters
-        HttpServletRequest request = (HttpServletRequest) 
pageContext.getRequest();
         Integer nextId = (Integer) request.getAttribute(ID_REQUEST_ATTRIBUTE);
         if (nextId == null)
             nextId = new Integer(0);
@@ -664,7 +666,7 @@
                 bean = RequestUtils.createActionForm(request, _mapping, 
_appConfig, _servlet);
                 if (bean == null) {
                     bean = InternalUtils.createActionForm(request, _mapping, 
_appConfig, _servlet,
-                            pageContext.getServletContext());
+                            servletContext);
                 }
             }
 
@@ -935,11 +937,9 @@
      * <code>type</code> properties if necessary.
      * @throws JspException if a required value cannot be looked up
      */
-    private void lookup()
+    private void lookup(HttpServletRequest request,ServletContext 
servletContext)
         throws JspException
     {
-        ServletContext servletContext = pageContext.getServletContext();
-        HttpServletRequest request = (HttpServletRequest) 
pageContext.getRequest();
         HttpServletResponse response = (HttpServletResponse) 
pageContext.getResponse();
 
         // Look up the application module configuration information we need

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/HtmlGroupBaseTag.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/HtmlGroupBaseTag.java
        (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/HtmlGroupBaseTag.java
        Mon Nov  1 17:13:11 2004
@@ -55,6 +55,7 @@
 
     private InputBooleanTag.State _inputState = new InputBooleanTag.State();
     private SpanTag.State _spanState = new SpanTag.State();
+    protected ConstantRendering _cr;
 
     private HashMap _attrs;
 
@@ -503,7 +504,8 @@
             throws JspException
     {
         ServletRequest req = pageContext.getRequest();
-        ConstantRendering cr = 
TagRenderingBase.Factory.getConstantRendering(req);
+        if (_cr == null)
+            _cr = TagRenderingBase.Factory.getConstantRendering(req);
 
         assert(buffer != null);
         assert(optionValue != null);
@@ -511,7 +513,7 @@
         assert(type != null);
 
         if (_orientation != null && isVertical()) {
-            cr.TR_TD(buffer);
+            _cr.TR_TD(buffer);
         }
 
         _inputState.clear();
@@ -559,14 +561,14 @@
 
         // backward compatibility this is now overridden by the _orientation
         if (_orientation == null) {
-            cr.BR(buffer);
+            _cr.BR(buffer);
         }
         else {
             if (isVertical()) {
-                cr.TR_TD(buffer);
+                _cr.TR_TD(buffer);
             }
             else {
-                cr.NBSP(buffer);
+                _cr.NBSP(buffer);
             }
         }
     }
@@ -579,6 +581,7 @@
         super.localRelease();
         if (_attrs != null)
             _attrs.clear();
+        _cr = null;
         _dataSource = null;
         _defaultValue = null;
         _optionsDataSource = null;

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RadioButtonGroup.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RadioButtonGroup.java
        (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RadioButtonGroup.java
        Mon Nov  1 17:13:11 2004
@@ -18,16 +18,14 @@
 package org.apache.beehive.netui.tags.html;
 
 import org.apache.beehive.netui.pageflow.ProcessPopulate;
+import org.apache.beehive.netui.script.common.DataAccessProviderStack;
 import org.apache.beehive.netui.tags.naming.FormDataNameInterceptor;
 import org.apache.beehive.netui.tags.naming.IndexedNameInterceptor;
 import org.apache.beehive.netui.tags.naming.PrefixNameInterceptor;
-import org.apache.beehive.netui.tags.rendering.ConstantRendering;
 import org.apache.beehive.netui.tags.rendering.TagRenderingBase;
 import org.apache.beehive.netui.util.Bundle;
 import org.apache.beehive.netui.util.logging.Logger;
 import org.apache.beehive.netui.util.tags.GroupOption;
-import org.apache.beehive.netui.script.common.DataAccessProviderBean;
-import org.apache.beehive.netui.script.common.DataAccessProviderStack;
 
 import javax.servlet.ServletRequest;
 import javax.servlet.jsp.JspException;
@@ -274,10 +272,11 @@
             return SKIP_BODY;
 
         ServletRequest req = pageContext.getRequest();
-        ConstantRendering cr = 
TagRenderingBase.Factory.getConstantRendering(req);
+        if (_cr == null)
+            _cr = TagRenderingBase.Factory.getConstantRendering(req);
         StringBuilder results = new StringBuilder(64);
         if (isVertical()) {
-            cr.TABLE(results);
+            _cr.TABLE(results);
         }
 
         // if this is a repeater then we shouid prime the pump...
@@ -298,7 +297,7 @@
                     break;
             }
             if (isVertical())
-                cr.TR_TD(results);
+                _cr.TR_TD(results);
 
             DataAccessProviderStack.addDataAccessProvider(this, pageContext);
         }
@@ -324,16 +323,17 @@
 
         if (_repeater) {
             ServletRequest req = pageContext.getRequest();
-            ConstantRendering cr = 
TagRenderingBase.Factory.getConstantRendering(req);
+            if (_cr == null)
+             _cr = TagRenderingBase.Factory.getConstantRendering(req);
             if (isVertical())
-                cr.end_TD_TR(_saveBody);
+                _cr.end_TD_TR(_saveBody);
 
             while (((Iterator) _dyanmicAttrs).hasNext()) {
                 _repCurItem = ((Iterator) _dyanmicAttrs).next();
                 if (_repCurItem != null) {
                     _repIdx++;
                     if (isVertical())
-                        cr.TR_TD(_saveBody);
+                        _cr.TR_TD(_saveBody);
                     return EVAL_BODY_AGAIN;
                 }
             }
@@ -358,7 +358,8 @@
         // Remove the page scope attributes we created
         pageContext.removeAttribute(RADIOBUTTONGROUP_KEY);
         ServletRequest req = pageContext.getRequest();
-        ConstantRendering cr = 
TagRenderingBase.Factory.getConstantRendering(req);
+        if (_cr == null)
+            _cr = TagRenderingBase.Factory.getConstantRendering(req);
 
         StringBuilder results = new StringBuilder(128);
         if (_saveBody != null)
@@ -368,7 +369,7 @@
         if (_repeater) {
             // Render a tag representing the end of our current form
             if (isVertical())
-                cr.end_TABLE(results);
+                _cr.end_TABLE(results);
 
             if (idScript != null)
                 results.append(idScript);
@@ -431,7 +432,7 @@
         }
 
         if (isVertical()) {
-            cr.end_TABLE(results);
+            _cr.end_TABLE(results);
         }
 
         if (idScript != null)

Reply via email to