beehive-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dolan...@apache.org
Subject svn commit: rev 37403 - in incubator/beehive/trunk/netui: src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater src/tags-html/org/apache/beehive/netui/tags/html src/util/org/apache/beehive/netui/util test/webapps/drt/testRecorder/tests
Date Thu, 02 Sep 2004 18:43:23 GMT
Author: dolander
Date: Thu Sep  2 11:43:22 2004
New Revision: 37403

Modified:
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/Repeater.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterFooter.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterHeader.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterItem.java
   incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ErrorBaseTag.java
   incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties
   incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/BindingUpdateErrors.xml
Log:
Put in some code to work around a bug in Tomcat where an internal error is thrown when BodyContent.clearBody()
is called.
The bug is due to the pooling of BodyContent objects.  I haven't been able to issolate a simple
repo case to report
the bug back to Tomcat yet.

Update the results of BindingUpdateErrors which were out of date.



Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/Repeater.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/Repeater.java
(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/Repeater.java
Thu Sep  2 11:43:22 2004
@@ -553,8 +553,13 @@
     {
         super.localRelease();
 
-        if(bodyContent != null) 
-            bodyContent.clearBody();
+        // This is a work around in Tomcat where clearBody() throwns an internal exception
+        // because the BodyContent tag is pooled and under certain situtions the pooled object
has been
+        // flushed.
+        try {
+            if(bodyContent != null) bodyContent.clearBody();
+        }
+        catch (Exception ignore) {}
         
         _currentItem = null;
         _currentIndex = -1;

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterFooter.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterFooter.java
(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterFooter.java
Thu Sep  2 11:43:22 2004
@@ -120,6 +120,13 @@
     protected void localRelease()
     {
         super.localRelease();
-        if(bodyContent != null) bodyContent.clearBody();
+
+        // This is a work around in Tomcat where clearBody() throwns an internal exception
+        // because the BodyContent tag is pooled and under certain situtions the pooled object
has been
+        // flushed.
+        try {
+            if(bodyContent != null) bodyContent.clearBody();
+        }
+        catch (Exception ignore) {}
     }
 }

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterHeader.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterHeader.java
(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterHeader.java
Thu Sep  2 11:43:22 2004
@@ -122,6 +122,14 @@
     protected void localRelease()
     {
         super.localRelease();
-        if(bodyContent != null) bodyContent.clearBody();
+
+        // This is a work around in Tomcat where clearBody() throwns an internal exception
+        // because the BodyContent tag is pooled and under certain situtions the pooled object
has been
+        // flushed.
+        try {
+            if(bodyContent != null) bodyContent.clearBody();
+        }
+        catch (Exception ignore) {}
+
     }
 }

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterItem.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterItem.java
(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/RepeaterItem.java
Thu Sep  2 11:43:22 2004
@@ -130,6 +130,13 @@
     protected void localRelease()
     {
         super.localRelease();
-        if(bodyContent != null) bodyContent.clearBody();
-    }
+
+        // This is a work around in Tomcat where clearBody() throwns an internal exception
+        // because the BodyContent tag is pooled and under certain situtions the pooled object
has been
+        // flushed.
+        try {
+            if(bodyContent != null) bodyContent.clearBody();
+        }
+        catch (Exception ignore) {}
+   }
 }

Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ErrorBaseTag.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ErrorBaseTag.java
(original)
+++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/ErrorBaseTag.java
Thu Sep  2 11:43:22 2004
@@ -24,6 +24,7 @@
 import org.apache.beehive.netui.tags.AbstractSimpleTag;
 import org.apache.beehive.netui.tags.ExpressionHandling;
 import org.apache.beehive.netui.util.logging.Logger;
+import org.apache.beehive.netui.util.Bundle;
 import org.apache.struts.Globals;
 import org.apache.struts.taglib.html.Constants;
 import org.apache.struts.action.ActionError;
@@ -119,7 +120,6 @@
         String message = null;
         String key = report.getKey();
         Object[] messageArgs = report.getValues();
-        ExpressionHandling eh = new ExpressionHandling(this);
         PageContext pageContext = getPageContext();
 
         // First, replace expressions in all the message arguments.
@@ -178,6 +178,11 @@
         }
         else {
             boolean requestedSpecificBundle = (bundle != null);
+            if (bundle == null && isMissingDefaultMessages(pageContext)) {
+                String s = Bundle.getString("Tags_ErrorsBundleMissing", null);
+                registerTagError(s, null);
+                return null;
+            }
 
             // First look in the default message bundle for the page flow.
             if (requestedSpecificBundle || ! isMissingDefaultMessages(pageContext))

Modified: incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties
==============================================================================
--- incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties
(original)
+++ incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/netui.properties
Thu Sep  2 11:43:22 2004
@@ -96,6 +96,7 @@
 Tags_formatDate_Type_Error=The type "{0}" may not be formatted by a formatDate tag.
 Tags_LocaleRequiresLanguage=If you set a country, you must also set a language when specifying
a local, defaulting to Locale of Request.  The country set was "{0}"
 Tags_ErrorsException=An error occurred accessing the message bundle.  This may be because
the message-resource is not defined within the page flow.  The error: {0}
+Tags_ErrorsBundleMissing=An error occurred accessing the message bundle.  This may be because
the message-resource is not defined within the page flow.  The error: Cannot find message
resources under key org.apache.struts.action.MESSAGE
 Tags_ParameterRenderError=The parameter type [{0}] was not recognized as a valid type.
 Tags_ParameterAccessError=The parameter type [{0}] was not recognized as a valid type, attempting
to access argument ''{1}''.
 Tags_DataSourceExpressionError=An error occurred converting the data source "{0}" into an
expression; {1}

Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/BindingUpdateErrors.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/BindingUpdateErrors.xml
(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/BindingUpdateErrors.xml
Thu Sep  2 11:43:22 2004
@@ -2,7 +2,7 @@
 <ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
    <ses:sessionName>BindingUpdateErrors</ses:sessionName>
    <ses:tester>Daryl</ses:tester>
-   <ses:startDate>24 Jul 2004, 05:33:48.522 PM MDT</ses:startDate>
+   <ses:startDate>02 Sep 2004, 10:52:54.657 AM MDT</ses:startDate>
    <ses:description>Daryl</ses:description>
    <ses:tests>
       <ses:test>
@@ -15,7 +15,12 @@
             <ses:uri>/coreWeb/tags/bindingUpdateErrors/Controller.jpf</ses:uri>
             <ses:method>GET</ses:method>
             <ses:parameters/>
-            <ses:cookies/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>941E27B2DA5B6E621FA18ED0DF8F05EB</ses:value>
+               </ses:cookie>
+            </ses:cookies>
             <ses:headers>
                <ses:header>
                   <ses:name>accept</ses:name>
@@ -34,6 +39,10 @@
                   <ses:value>Keep-Alive, TE</ses:value>
                </ses:header>
                <ses:header>
+                  <ses:name>cookie</ses:name>
+                  <ses:value>$Version=0; JSESSIONID=941E27B2DA5B6E621FA18ED0DF8F05EB;
$Path=/coreWeb</ses:value>
+               </ses:header>
+               <ses:header>
                   <ses:name>cookie2</ses:name>
                   <ses:value>$Version="1"</ses:value>
                </ses:header>
@@ -47,7 +56,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>4b58bc9d:fdf37c62e7:-7ed2</ses:value>
+                  <ses:value>-32aa562:fec006eb6a:-7ed2</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -101,7 +110,7 @@
 </html>]]></ses:responseBody>
          </ses:response>
          <ses:testResults>
-            <ses:testStatus>fail</ses:testStatus>
+            <ses:testStatus>pass</ses:testStatus>
          </ses:testResults>
       </ses:test>
       <ses:test>
@@ -126,7 +135,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>072CEC0E6B8430204D6BA95538CB13F0</ses:value>
+                  <ses:value>941E27B2DA5B6E621FA18ED0DF8F05EB</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -160,7 +169,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=072CEC0E6B8430204D6BA95538CB13F0;
$Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=941E27B2DA5B6E621FA18ED0DF8F05EB;
$Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>cookie2</ses:name>
@@ -176,7 +185,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>4b58bc9d:fdf37c62e7:-7ed2</ses:value>
+                  <ses:value>-32aa562:fec006eb6a:-7ed2</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -222,27 +231,30 @@
             <br/>&nbsp;
             <input type="submit" value="postName">&nbsp;
         <hr>
-        <br>
-        Errors for actionForm.firstName: <span style="color:red;background-color:white">
+        <span style="color:red;background-color:white">
  [<b>Tag Error:1</b>, Found in tag <b>BindingUpdateErrors</b>]</span><br>
+        Errors for actionForm.firstName: <span style="color:red;background-color:white">
+ [<b>Tag Error:3</b>, Found in tag <b>BindingUpdateErrors</b>]</span><br>
         Errors for actionForm.lastame: <span style="color:red;background-color:white">
- [<b>Tag Error:2</b>, Found in tag <b>BindingUpdateErrors</b>]</span><br>
+ [<b>Tag Error:4</b>, Found in tag <b>BindingUpdateErrors</b>]</span><br>
          </form>
     <div> <hr /><table border="1" cellspacing="0" style="color:red;background-color:white">
  <tr><th colspan="6">Page Errors</th></tr>
  <tr><th>Error Number</th><th>Tag Type</th><th colspan="4">Error</th></tr>
-<tr><th>1</th><th>BindingUpdateErrors</th><th>Message</th><td>Binding
Update Failed for 'actionForm.firstName', cause: Exception when attempting to update the expression
"{actionForm.firstName}" with available binding contexts [actionForm, pageFlow, globalApp].
Root cause: java.lang.RuntimeException: Could not update expression because a public field
named "firstName" or setter for the property "firstName" could not be found.</td></tr>
-<tr><th>2</th><th>BindingUpdateErrors</th><th>Message</th><td>Binding
Update Failed for 'actionForm.lastName', cause: Exception when attempting to update the expression
"{actionForm.lastName}" with available binding contexts [actionForm, pageFlow, globalApp].
Root cause: java.lang.RuntimeException: Could not update expression because a public field
named "lastName" or setter for the property "lastName" could not be found.</td></tr>
+<tr><th>1</th><th>BindingUpdateErrors</th><th>Message</th><td>Binding
Update Failed for '{actionForm.firstName}', cause: Exception when attempting to update the
expression "{actionForm.firstName}" with available binding contexts [actionForm, pageFlow,
globalApp]. Root cause: java.lang.RuntimeException: Could not update expression because a
public field named "firstName" or setter for the property "firstName" could not be found.</td></tr>
+<tr><th>2</th><th>BindingUpdateErrors</th><th>Message</th><td>Binding
Update Failed for '{actionForm.lastName}', cause: Exception when attempting to update the
expression "{actionForm.lastName}" with available binding contexts [actionForm, pageFlow,
globalApp]. Root cause: java.lang.RuntimeException: Could not update expression because a
public field named "lastName" or setter for the property "lastName" could not be found.</td></tr>
+<tr><th>3</th><th>BindingUpdateErrors</th><th>Message</th><td>Binding
Update Failed for 'actionForm.firstName', cause: Exception when attempting to update the expression
"{actionForm.firstName}" with available binding contexts [actionForm, pageFlow, globalApp].
Root cause: java.lang.RuntimeException: Could not update expression because a public field
named "firstName" or setter for the property "firstName" could not be found.</td></tr>
+<tr><th>4</th><th>BindingUpdateErrors</th><th>Message</th><td>Binding
Update Failed for 'actionForm.lastName', cause: Exception when attempting to update the expression
"{actionForm.lastName}" with available binding contexts [actionForm, pageFlow, globalApp].
Root cause: java.lang.RuntimeException: Could not update expression because a public field
named "lastName" or setter for the property "lastName" could not be found.</td></tr>
 </table></div>
 </body>
 </html>]]></ses:responseBody>
          </ses:response>
          <ses:testResults>
-            <ses:testStatus>pass</ses:testStatus>
+            <ses:testStatus>fail</ses:testStatus>
          </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>24 Jul 2004, 05:33:50.175 PM MDT</ses:endDate>
+   <ses:endDate>02 Sep 2004, 10:52:56.159 AM MDT</ses:endDate>
    <ses:sessionStatus>fail</ses:sessionStatus>
    <ses:testCount>2</ses:testCount>
    <ses:passedCount>1</ses:passedCount>

Mime
View raw message