Author: dolander
Date: Mon Nov  1 11:02:04 2004
New Revision: 56272

Modified:
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/AbstractClassicTag.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/Select.java
Log:
Few Perf changes. 
The biggest is lifting the list.size() out of the loop test in a couple of 
places.




Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/AbstractClassicTag.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/AbstractClassicTag.java
   (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/AbstractClassicTag.java
   Mon Nov  1 11:02:04 2004
@@ -208,20 +208,21 @@
         if (namingChain == null)
             return rewriteName(name);
 
-        if (logger.isDebugEnabled())
-            logger.debug("rewrite name \"" + name + "\" on tag of type \"" + 
getClass().getName() + " with namingChain " +
-                    (namingChain != null ? "size " + namingChain.size() : 
"null"));
+        //if (logger.isDebugEnabled())
+        //    logger.debug("rewrite name \"" + name + "\" on tag of type \"" + 
getClass().getName() + " with namingChain " +
+        //            (namingChain != null ? "size " + namingChain.size() : 
"null"));
 
         try {
             String newName = name;
-            for (int i = 0; i < namingChain.size(); i++) {
-                if (logger.isDebugEnabled())
-                    logger.debug("rewriteName: \"" + newName + "\" with 
NameInterceptor: " + namingChain.get(i).getClass().getName());
+            int cnt = namingChain.size();
+            for (int i = 0; i < cnt; i++) {
+                //if (logger.isDebugEnabled())
+                //    logger.debug("rewriteName: \"" + newName + "\" with 
NameInterceptor: " + namingChain.get(i).getClass().getName());
 
                 newName = ((NameInterceptor) 
namingChain.get(i)).rewriteName(newName, this);
 
-                if (logger.isDebugEnabled())
-                    logger.debug("rewrite result: " + newName);
+                //if (logger.isDebugEnabled())
+                //    logger.debug("rewrite result: " + newName);
             }
 
             return rewriteName(newName);

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 11:02:04 2004
@@ -228,6 +228,8 @@
     private boolean _formSubmit = false;
     private Map _params;
 
+    private int _nextId;
+
     /**
      * Return the name of the Tag.
      */
@@ -591,13 +593,7 @@
      */
     public String getNextId()
     {
-        HttpServletRequest req = (HttpServletRequest) pageContext.getRequest();
-        Integer nextId = (Integer) req.getAttribute(ID_REQUEST_ATTRIBUTE);
-        if (nextId == null)
-            nextId = new Integer(0);
-        int id = nextId.intValue() + 1;
-        req.setAttribute(ID_REQUEST_ATTRIBUTE, new Integer(id));
-        return ID_PREFIX + id;
+        return ID_PREFIX + _nextId++;
     }
 
 
@@ -623,6 +619,10 @@
 
         // 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);
+        _nextId = nextId.intValue();
 
         _formId = FORM_ID + getNextId(request);
         String tagId = getTagId();
@@ -721,6 +721,8 @@
         // Create an appropriate "form" element based on our parameters
         HttpServletRequest request = (HttpServletRequest) 
pageContext.getRequest();
         ServletContext servletContext = pageContext.getServletContext();
+
+        request.setAttribute(ID_REQUEST_ATTRIBUTE, new Integer(_nextId));
 
         _state.name = _beanName;
         if (_beanName == null) {

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Select.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Select.java
  (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Select.java
  Mon Nov  1 11:02:04 2004
@@ -254,6 +254,7 @@
     private ArrayList _optionList;
     private String[] _match;             // The actual values we will match 
against
     private boolean _nullable;
+    private TagRenderingBase _optRb;
 
     private static final List _internalNamingChain;
 
@@ -873,7 +874,7 @@
         
         super.localRelease();
         _state.clear();
-        _optionState.clear();
+        //_optionState.clear();
 
         _defaultSelections = null;
         _formatters = null;
@@ -889,6 +890,7 @@
         _repCurStage = 0;
         _dynamicOptions = null;
         _formatterError = false;
+        _optRb = null;
     }
 
     private String getErrorsFromBody()
@@ -1125,8 +1127,9 @@
             _optionState.selected = true;
         }
 
-        TagRenderingBase br = 
TagRenderingBase.Factory.getRendering(TagRenderingBase.OPTION_TAG, req);
-        br.doStartTag(buffer, _optionState);
+        if (_optRb == null)
+            _optRb = 
TagRenderingBase.Factory.getRendering(TagRenderingBase.OPTION_TAG, req);
+        _optRb.doStartTag(buffer, _optionState);
 
 
         if (optionDisplay != null) {
@@ -1138,7 +1141,7 @@
             buffer.append(">");
         }
 
-        br.doEndTag(buffer);
+        _optRb.doEndTag(buffer);
 
         addOptionToList(optionValue);
     }
@@ -1175,7 +1178,8 @@
     public String formatText(Object text)
             throws JspException
     {
-        for (int i = 0; i < _formatters.size(); i++) {
+        int cnt =  _formatters.size();
+        for (int i = 0; i < cnt; i++) {
             FormatTag.Formatter currentFormatter = (FormatTag.Formatter) 
_formatters.get(i);
             try {
                 text = currentFormatter.format(text);

Reply via email to