Author: dolander
Date: Sun Aug  8 09:42:43 2004
New Revision: 36088

Added:
   incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/binding/
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/binding/nullbinding/
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/binding/nullbinding/Controller.jpf
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/binding/nullbinding/index.jsp
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/binding/report/
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/binding/report/Controller.jpf
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/binding/report/index.jsp
   incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/core/
   incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/core/attrset/
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/core/attrset/Controller.jpf
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/core/attrset/index.jsp
   incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/group/
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/group/nullbinding/
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/group/nullbinding/Controller.jpf
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/group/nullbinding/index.jsp
   
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtBindingNullBinding.xml
   
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtBindingReport.xml
   
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtCoreAttrset.xml
   
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtGroupNullBinding.xml
Modified:
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Button.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/CheckBoxOption.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
   
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RadioButtonOption.java
   
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/beanerror/index.jsp
   incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/index.jsp
   
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
   
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/Expression.xml
   
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/HtmlExpression.xml
   
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/IteratorTest.xml
   
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/MultipleDatasource.xml
Log:

Cleanup of the CheckBoxGroup, CheckBox and RadioButtonGroup
Added a set of new error tests of null binding to attributes

Cleanup of teh BindingUpdateErrors
Added test of null attribute binding and Normal Errors

BVT test that should test pooling of tag instances in the JSP container.




Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Button.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Button.java
  (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/Button.java
  Sun Aug  8 09:42:43 2004
@@ -176,7 +176,7 @@
     public void setValue(String value)
             throws JspException
     {
-        _value = value;
+        _value = setNonEmptyValueAttribute(value);
     }
 
     /**
@@ -211,12 +211,13 @@
             throws JspException
     {
         if (bodyContent != null) {
-            String text = bodyContent.getString().trim();
-            bodyContent.clearBody();
-            if (text.length() <= 0)
-                text = null;
-            if (_value == null)
+            if (_value == null) {
+                String text = bodyContent.getString().trim();
+                if (text.length() <= 0)
+                    text = null;
                 _value = text;
+            }
+            bodyContent.clearBody();
         }
         return SKIP_BODY;
     }
@@ -234,10 +235,9 @@
         HttpServletResponse response = (HttpServletResponse) 
pageContext.getResponse();
 
         // Acquire the label value we will be generating
-        if ((_value == null) || (_value.trim().length() < 1))
+        if (_value == null)
             _value = Bundle.getString("Tags_ButtonText", null);
-        if ((_state.value == null) || (_state.value.trim().length() < 1))
-            _state.value = _value;
+        _state.value = _value;
 
         // Generate an HTML element
         StringBuilder results = new StringBuilder(128);
@@ -268,11 +268,8 @@
         }
 
         // report any errors that may have been generated.
-        if (hasErrors()) {
-            reportErrors();
-            localRelease();
-            return EVAL_PAGE;
-        }
+        if (hasErrors())
+            return reportAndExit(EVAL_PAGE);
 
         TagRenderingBase br = 
TagRenderingBase.Factory.getRendering(TagRenderingBase.INPUT_SUBMIT_TAG, 
request);
         br.doStartTag(results, _state);

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
        Sun Aug  8 09:42:43 2004
@@ -223,7 +223,7 @@
     /**
      * @return A boolean value.
      */
-    public boolean evaluateDefaultValue()
+    private boolean evaluateDefaultValue()
             throws JspException
     {
         if (_defaultValue instanceof String)
@@ -239,6 +239,7 @@
      */
     public int doStartTag() throws JspException
     {
+        // evaluate the body so that we can set the attributes
         return EVAL_BODY_BUFFERED;
     }
 
@@ -248,10 +249,6 @@
      */
     public int doAfterBody() throws JspException
     {
-
-        if (bodyContent != null) {
-            bodyContent.clearBody();
-        }
         return SKIP_BODY;
     }
 
@@ -264,29 +261,13 @@
         String idScript = null;
 
         Tag parent = getParent();
-        // @todo: see if we can move this to below....
-        if (parent instanceof CheckBoxGroup) {
+        if (parent instanceof CheckBoxGroup)
             registerTagError(Bundle.getString("Tags_CheckBoxGroupChildError"), 
null);
-            reportErrors();
-            localRelease();
-            return EVAL_PAGE;
-        }
 
         Object val = evaluateDataSource();
-        // if there were expression errors report them
-        // @todo: see if we can move this to below
-        if (hasErrors()) {
-            reportErrors();
-            localRelease();
-            return SKIP_BODY;
-        }
-
         String realName = doNaming();
-        if (hasErrors()) {
-            reportErrors();
-            localRelease();
-            return SKIP_BODY;
-        }
+        if (hasErrors())
+            return reportAndExit(EVAL_PAGE);
 
         String hiddenParamName = realName + OLDVALUE_SUFFIX;
 
@@ -334,18 +315,6 @@
             hiddenTag.doEndTag(results);
         }
 
-        /*
-        if (_state.checked) {
-            String oldCheckBoxValue = 
pageContext.getRequest().getParameter(hiddenParamName);
-            if (oldCheckBoxValue != null) {
-                _state.checked = new Boolean(oldCheckBoxValue).booleanValue();
-            }
-            else {
-                _state.checked = evaluateDefaultValue();
-            }
-        }
-        */
-
         _state.type = INPUT_CHECKBOX;
 
         if (_dataSource != null)
@@ -361,7 +330,7 @@
 
         // Continue processing this page
         localRelease();
-        return SKIP_BODY;
+        return EVAL_PAGE;
     }
 
     /**

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
   Sun Aug  8 09:42:43 2004
@@ -19,6 +19,7 @@
 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;
@@ -30,8 +31,6 @@
 import org.apache.beehive.netui.util.iterator.IteratorFactoryException;
 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.http.HttpServletRequest;
@@ -255,7 +254,7 @@
      * a <code>List</code> or null.
      * @return a <code>List</code> that represents the default value.
      */
-    protected Object evaluateDefaultValue()
+    private Object evaluateDefaultValue()
             throws JspException
     {
         Object val = _defaultValue;
@@ -332,7 +331,6 @@
         Object val = evaluateDataSource();
         _defaultSelections = (List) evaluateDefaultValue();
         if (hasErrors()) {
-            reportErrors();
             return SKIP_BODY;
         }
 
@@ -340,7 +338,6 @@
         if (val != null) {
             buildMatch(val);
             if (hasErrors()) {
-                reportErrors();
                 return SKIP_BODY;
             }
         }
@@ -402,13 +399,6 @@
      */
     public int doAfterBody() throws JspException
     {
-        if (hasErrors()) {
-            return SKIP_BODY;
-        }
-
-        ServletRequest req = pageContext.getRequest();
-        ConstantRendering cr = 
TagRenderingBase.Factory.getConstantRendering(req);
-
         if (bodyContent != null) {
             String value = bodyContent.getString();
             bodyContent.clearBody();
@@ -418,6 +408,9 @@
         }
 
         if (_repeater) {
+            ServletRequest req = pageContext.getRequest();
+            ConstantRendering cr = 
TagRenderingBase.Factory.getConstantRendering(req);
+
             if (isVertical())
                 cr.end_TD_TR(_saveBody);
 
@@ -443,26 +436,13 @@
     public int doEndTag()
             throws JspException
     {
+        if (hasErrors())
+            return reportAndExit(EVAL_PAGE);
+
         ServletRequest req = pageContext.getRequest();
         ConstantRendering cr = 
TagRenderingBase.Factory.getConstantRendering(req);
         StringBuilder results = new StringBuilder(128);
 
-        // report an error that occurred processing the body.
-        if (hasErrors()) {
-            reportErrors();
-            //if (isVertical())
-            //    cr.TR_TD(results);
-            //reportErrors();
-            //results.append(_saveBody);
-            //if (isVertical()) {
-            //    cr.end_TD_TR(results);
-            //    cr.end_TABLE(results);
-            //}
-            //write(results.toString());
-            localRelease();
-            return EVAL_PAGE;
-        }
-
         String idScript = null;
         String altText = null;
         char accessKey = 0x00;
@@ -472,6 +452,7 @@
         if (_saveBody != null)
             results.append(_saveBody);
 
+        // if this is a repeater then we have created the content in the body 
so we write that
         if (_repeater) {
             // Render a tag representing the end of our current form
             if (isVertical())
@@ -485,6 +466,7 @@
             return EVAL_PAGE;
         }
 
+        // non repeater working against the options data source
         assert(_dynamicAttrs != null);
         if (_dynamicAttrs instanceof Map) {
             Map dynamicCheckboxesMap = (Map) _dynamicAttrs;
@@ -576,6 +558,7 @@
      */
     protected void localRelease()
     {
+        // cleanup the context variables used for binding during repeater
         if(_repeater)
             DataAccessProviderStack.removeDataAccessProvider(pageContext);
 

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBoxOption.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBoxOption.java
  (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/CheckBoxOption.java
  Sun Aug  8 09:42:43 2004
@@ -126,7 +126,7 @@
      */
     public void setLabelStyle(String labelStyle)
     {
-        _spanState.style = labelStyle;
+        _spanState.style = setNonEmptyValueAttribute(labelStyle);
     }
 
     /**
@@ -145,7 +145,7 @@
      */
     public void setLabelStyleClass(String labelStyleClass)
     {
-        _spanState.styleClass = labelStyleClass;
+        _spanState.styleClass = setNonEmptyValueAttribute(labelStyleClass);
     }
 
     /**
@@ -177,7 +177,6 @@
      */
     public int doStartTag() throws JspException
     {
-
         // verify that the parent is a CheckBoxGroup
         Tag parentTag = getParent();
         if (!(parentTag instanceof CheckBoxGroup)) {
@@ -203,7 +202,6 @@
      */
     public int doAfterBody() throws JspException
     {
-
         String text = bodyContent.getString();
         if (text != null) {
             bodyContent.clearBody();
@@ -220,11 +218,8 @@
      */
     public int doEndTag() throws JspException
     {
-        if (hasErrors()) {
-            reportErrors();
-            localRelease();
-            return EVAL_PAGE;
-        }
+        if (hasErrors())
+            return reportAndExit(EVAL_PAGE);
 
         // we verified that the parent was a CheckboxGroup in the doBeginTag()
         ServletRequest req = pageContext.getRequest();

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
        Sun Aug  8 09:42:43 2004
@@ -196,7 +196,7 @@
      */
     public void setOrientation(String orientation)
     {
-        _orientation = orientation;
+        _orientation = setNonEmptyValueAttribute(orientation);
     }
 
     /**
@@ -239,7 +239,7 @@
      */
     public void setStyle(String style)
     {
-        _style = style;
+        _style = setNonEmptyValueAttribute(style);
     }
 
     /**
@@ -250,7 +250,7 @@
      */
     public void setStyleClass(String styleClass)
     {
-        _class = styleClass;
+        _class = setNonEmptyValueAttribute(styleClass);
     }
 
     /**
@@ -270,7 +270,7 @@
      */
     public void setLabelStyle(String labelStyle)
     {
-        this._labelStyle = labelStyle;
+        _labelStyle = setNonEmptyValueAttribute(labelStyle);
     }
 
     /**
@@ -290,7 +290,7 @@
      */
     public void setLabelStyleClass(String labelStyleClass)
     {
-        this._labelStyleClass = labelStyleClass;
+        _labelStyleClass = setNonEmptyValueAttribute(labelStyleClass);
     }
 
 
@@ -301,6 +301,7 @@
      * @netui.tldx:attribute language="netuiexpression"
      */
     public void setDataSource(String dataSource)
+        throws JspException
     {
         _dataSource = dataSource;
     }
@@ -366,18 +367,7 @@
         return (IDataAccessProvider) findAncestorWithClass(this, 
IDataAccessProvider.class);
     }
 
-    /**
-     * This method indicates that the expression of the repeater is bound into 
a
-     * client based context.
-     * @return <code>true</code> if the expression of this is bound on the 
client.
-     */
-    public boolean isBindingOnClient()
-    {
-        // @todo: need to really implement this
-        return false;
-    }
-
-    /**
+     /**
      * Return an <code>ArrayList</code> which represents a chain of 
<code>NameInterceptor</code>
      * objects.  This method by default returns <code>null</code> and should 
be overridden
      * by objects that support naming.
@@ -401,7 +391,6 @@
         String ds = expr.ensureValidExpression(dataSource, "dataSource", 
"DataSourceError");
         if (ds == null)
             return null;
-        //setDataSource(ds);
 
         // have a valid expression
         return expr.evaluateExpression(dataSource, "dataSource", pageContext);
@@ -423,6 +412,11 @@
     public void setDefaultValue(Object defaultValue)
             throws JspException
     {
+        if (defaultValue == null) {
+            String s = Bundle.getString("Tags_AttrValueRequired", new Object[] 
{"defaultValue"});
+            registerTagError(s, null);
+            return;
+        }
         _defaultValue = defaultValue;
     }
 
@@ -444,6 +438,11 @@
     public void setOptionsDataSource(Object optionsDataSource)
             throws JspException
     {
+        if (optionsDataSource == null) {
+            String s = Bundle.getString("Tags_AttrValueRequired", new Object[] 
{"optionsDataSource"});
+            registerTagError(s, null);
+            return;
+        }
         _optionsDataSource = optionsDataSource;
     }
 
@@ -479,6 +478,7 @@
             // This is an error.
             String s = Bundle.getString("Tags_Iteration_Error", new 
Object[]{ife.getTypeName()});
             registerTagError(s, ife);
+            it = IteratorFactory.EMPTY_ITERATOR;
         }
 
         assert (it != null && it instanceof Iterator);

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
        Sun Aug  8 09:42:43 2004
@@ -228,7 +228,7 @@
      * <code>null</code> value.
      * @return the value returned from <code>super.evaluteDefaultValue</code> 
or the empty string.
      */
-    protected Object evaluateDefaultValue()
+    private String evaluateDefaultValue()
             throws JspException
     {
         Object val = _defaultValue;
@@ -268,13 +268,11 @@
 
         // Store this tag itself as a page attribute
         pageContext.setAttribute(RADIOBUTTONGROUP_KEY, this);
-        _defaultRadio = (String) evaluateDefaultValue();
+        _defaultRadio = evaluateDefaultValue();
 
         // see if there are errors in the evaluation
-        if (hasErrors()) {
-            reportErrors();
+        if (hasErrors())
             return SKIP_BODY;
-        }
 
         ServletRequest req = pageContext.getRequest();
         ConstantRendering cr = 
TagRenderingBase.Factory.getConstantRendering(req);
@@ -306,8 +304,6 @@
             DataAccessProviderStack.addDataAccessProvider(this, pageContext);
         }
         write(results.toString());
-
-        // Continue processing this page
         _saveBody = new StringBuilder(128);
         return EVAL_BODY_INCLUDE;
     }
@@ -319,9 +315,6 @@
      */
     public int doAfterBody() throws JspException
     {
-        if (hasErrors())
-            return SKIP_BODY;
-
         if (bodyContent != null) {
             String value = bodyContent.getString();
             bodyContent.clearBody();
@@ -356,11 +349,8 @@
      */
     public int doEndTag() throws JspException
     {
-        if (hasErrors()) {
-            reportErrors();
-            localRelease();
-            return EVAL_PAGE;
-        }
+        if (hasErrors())
+            return reportAndExit(EVAL_PAGE);
 
         String idScript = null;
         String altText = null;
@@ -374,6 +364,8 @@
         StringBuilder results = new StringBuilder(128);
         if (_saveBody != null)
             results.append(_saveBody);
+
+        // if this is a repeater we output the content during the body 
processing
         if (_repeater) {
             // Render a tag representing the end of our current form
             if (isVertical())
@@ -388,7 +380,6 @@
         }
 
         // Render a tag representing the end of our current form
-
         if (_dyanmicAttrs instanceof Map) {
             Map dynamicRadiosMap = (Map) _dyanmicAttrs;
             Iterator keyIterator = dynamicRadiosMap.keySet().iterator();
@@ -457,6 +448,7 @@
      */
     protected void localRelease()
     {
+        // remove the context allowing binding to container.item during binding
         if(_repeater)
             DataAccessProviderStack.removeDataAccessProvider(pageContext);
         

Modified: 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RadioButtonOption.java
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RadioButtonOption.java
       (original)
+++ 
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/RadioButtonOption.java
       Sun Aug  8 09:42:43 2004
@@ -117,7 +117,7 @@
      */
     public void setLabelStyle(String labelStyle)
     {
-        _spanState.style = labelStyle;
+        _spanState.style = setNonEmptyValueAttribute(labelStyle);
     }
 
     /**
@@ -136,7 +136,7 @@
      */
     public void setLabelStyleClass(String labelStyleClass)
     {
-        _spanState.styleClass = labelStyleClass;
+        _spanState.styleClass = setNonEmptyValueAttribute(labelStyleClass);
     }
 
     /**
@@ -193,7 +193,6 @@
      */
     public int doAfterBody() throws JspException
     {
-
         String text = bodyContent.getString();
         if (text != null) {
             text = text.trim();
@@ -202,7 +201,6 @@
                 _text = text;
         }
         return SKIP_BODY;
-
     }
 
     /**
@@ -211,12 +209,9 @@
      */
     public int doEndTag() throws JspException
     {
-        if (hasErrors()) {
-            reportErrors();
-            localRelease();
-            return EVAL_PAGE;
-        }
-
+        if (hasErrors())
+            return reportAndExit(EVAL_PAGE);
+        
         ServletRequest req = pageContext.getRequest();
         ConstantRendering cr = 
TagRenderingBase.Factory.getConstantRendering(req);
 

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/binding/nullbinding/Controller.jpf
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/binding/nullbinding/Controller.jpf
  Sun Aug  8 09:42:43 2004
@@ -0,0 +1,53 @@
+package coretags.binding.nullbinding;
+
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+/**
+ * This is the default controller for a blank web application.
+ */
[EMAIL PROTECTED]
[EMAIL PROTECTED](
+    value = { 
+        "<!-- This data is auto-generated. Hand-editing this section is not 
recommended. -->", 
+        "<view-properties>", 
+        "<pageflow-object 
id='pageflow:/coretags/base/nullbinding/Controller.jpf'/>", 
+        "<pageflow-object id='action:begin.do'>", 
+        "  <property value='80' name='x'/>", 
+        "  <property value='100' name='y'/>", 
+        "</pageflow-object>", 
+        "<pageflow-object id='page:index.jsp'>", 
+        "  <property value='220' name='x'/>", 
+        "  <property value='100' name='y'/>", 
+        "</pageflow-object>", 
+        "<pageflow-object id='forward:[EMAIL PROTECTED]:begin.do@'>", 
+        "  <property value='116,140,140,164' name='elbowsX'/>", 
+        "  <property value='92,92,92,92' name='elbowsY'/>", 
+        "  <property value='East_1' name='fromPort'/>", 
+        "  <property value='West_1' name='toPort'/>", 
+        "  <property value='index' name='label'/>", 
+        "</pageflow-object>", 
+        "</view-properties>"
+    }
+)
+public class Controller extends PageFlowController
+{
+    private String _nullValue = null;
+    
+    public String getNullValue() {
+        return _nullValue;
+    }
+    
+    @Jpf.Action(
+        forwards={
+           @Jpf.Forward(name="index", path="index.jsp")
+        }
+    )
+    protected Forward begin()
+    {
+        return new Forward("index");
+    }
+
+
+}

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/binding/nullbinding/index.jsp
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/binding/nullbinding/index.jsp
       Sun Aug  8 09:42:43 2004
@@ -0,0 +1,24 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0"; prefix="netui"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0"; 
prefix="netui-data"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-template-1.0"; 
prefix="netui-template"%>
+
+
+<netui:html>
+    <head>
+        <netui:base />
+    </head>
+    <netui:body>
+    <h4>Null Binding to the BindingUpdateErrors tag</h4>
+    <p style="color:green">This test will binding the expression to a null 
value.  The expression attribute
+    is required so an error will be reported.
+    <br>
+    This is a single page test.
+    </p>
+    <ul>
+    <li><netui:bindingUpdateErrors expression="${pageFlow.nullValue}" /> -- 
Binding Errors</li>
+    </ul>
+    </netui:body>
+</netui:html>
+
+  
\ No newline at end of file

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/binding/report/Controller.jpf
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/binding/report/Controller.jpf
       Sun Aug  8 09:42:43 2004
@@ -0,0 +1,89 @@
+package coretags.binding.report;
+
+import org.apache.beehive.netui.pageflow.FormData;
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+/**
+ * This is the default controller for a blank web application.
+ */
[EMAIL PROTECTED]
+public class Controller extends PageFlowController
+{
+    private String _nullValue = null;
+    
+    public String getNullValue() {
+        return _nullValue;
+    }
+    
+    @Jpf.Action(
+        forwards={
+           @Jpf.Forward(name="index", path="index.jsp")
+        }
+    )
+    protected Forward begin()
+    {
+        return new Forward("index");
+    }
+
+    public static class Bean extends FormData
+    {
+    private String type;
+
+    private String name;
+
+    public String getType()
+    { return this.type; }
+
+    public void setType(String type)
+    { this.type = type; }
+
+    public String getName()
+    { return this.name; }
+
+    public void setName(String name)
+    { this.name = name; }
+    }
+
+
+
+        
+    @Jpf.Action(forwards = { 
+    @Jpf.Forward(name = "success", path = "index.jsp")
+})
+        protected Forward postForm(coretags.binding.report.Controller.Bean 
form)        {
+        Forward forward = new Forward("success");
+        
+                return forward;
+    }
+                }
[EMAIL PROTECTED](value = { 
+    "<!-- This data is auto-generated. Hand-editing this section is not 
recommended. -->", 
+    "<view-properties>", 
+    "<pageflow-object id='action:begin.do'>", 
+    "  <property value='80' name='x'/>", 
+    "  <property value='100' name='y'/>", 
+    "</pageflow-object>", 
+    "<pageflow-object 
id='action:postForm.do#coretags.binding.report.Controller.Bean'><property 
value='340' name='x'/><property value='100' name='y'/></pageflow-object>", 
+    "<pageflow-object id='page:index.jsp'>", 
+    "  <property value='220' name='x'/>", 
+    "  <property value='100' name='y'/>", 
+    "</pageflow-object>", 
+    "<pageflow-object id='forward:[EMAIL PROTECTED]:begin.do@'>", 
+    "  <property value='116,140,140,164' name='elbowsX'/>", 
+    "  <property value='92,92,92,92' name='elbowsY'/>", 
+    "  <property value='East_1' name='fromPort'/>", 
+    "  <property value='West_1' name='toPort'/>", 
+    "  <property value='index' name='label'/>", 
+    "</pageflow-object>", 
+    "<pageflow-object id='action-call:@page:[EMAIL 
PROTECTED]@action:postForm.do#coretags.binding.report.Controller.Bean@'><property
 value='256,280,280,304' name='elbowsX'/><property value='92,92,92,92' 
name='elbowsY'/><property value='East_1' name='fromPort'/><property 
value='West_1' name='toPort'/></pageflow-object>", 
+    "<pageflow-object id='action-call:@page:[EMAIL 
PROTECTED]@action:begin.do@'><property value='184,150,150,116' 
name='elbowsX'/><property value='92,92,92,92' name='elbowsY'/><property 
value='West_1' name='fromPort'/><property value='East_1' 
name='toPort'/></pageflow-object>", 
+    "<pageflow-object id='forward:[EMAIL 
PROTECTED]:postForm.do#coretags.binding.report.Controller.Bean@'><property 
value='304,280,280,256' name='elbowsX'/><property value='81,81,81,81' 
name='elbowsY'/><property value='West_0' name='fromPort'/><property 
value='East_0' name='toPort'/><property value='success' 
name='label'/></pageflow-object>", 
+    "</view-properties>"
+}
+    )
+interface VIEW_PROPERTIES
+{
+}
+

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/binding/report/index.jsp
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/binding/report/index.jsp
    Sun Aug  8 09:42:43 2004
@@ -0,0 +1,38 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0"; prefix="netui"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0"; 
prefix="netui-data"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-template-1.0"; 
prefix="netui-template"%>
+
+
+<netui:html>
+    <head>
+        <netui:base />
+    </head>
+    <netui:body>
+    <h4>Normal Error reporting by the BindingUpdateErrors tag</h4>
+    <p style="color:green">This test will verify that BindingUpdateErrors 
report errors when binding errors
+    occur.  The way this happens is we post a form to an action that doesn't 
take a form.  The errors are
+    reported either based upon an expression or all the errors are reported.  
Both cases are found below.
+    <br>
+    To run this test, you must fill in the form and then submit it.  When the 
form is submitted you will see the
+    errors displayed.
+    </p>
+    <p>
+    <ul>
+    <li>actionForm.name -- <netui:bindingUpdateErrors 
expression="actionForm.name" alwaysReport="true" /></li>
+    <li>actionForm.type -- <netui:bindingUpdateErrors 
expression="actionForm.type" alwaysReport="true" /></li>
+    <li>all -- <netui:bindingUpdateErrors alwaysReport="true" /></li>
+    </ul>
+    </p>
+    <hr>
+    <netui:form action="postForm">
+    <p>
+    Name <netui:textBox dataSource="actionForm.name" /><br>
+    Type <netui:textBox dataSource="actionForm.type" /><br>
+    <netui:button value="Submit" action="begin"/>
+    </p>
+    </netui:form>
+    </netui:body>
+</netui:html>
+
+  
\ No newline at end of file

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/core/attrset/Controller.jpf
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/core/attrset/Controller.jpf
 Sun Aug  8 09:42:43 2004
@@ -0,0 +1,47 @@
+package coretags.core.attrset;
+
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+/**
+ * This is the default controller for a blank web application.
+ */
[EMAIL PROTECTED]
[EMAIL PROTECTED](
+    value = { 
+        "<!-- This data is auto-generated. Hand-editing this section is not 
recommended. -->", 
+        "<view-properties>", 
+        "<pageflow-object 
id='pageflow:/coretags/base/nullbinding/Controller.jpf'/>", 
+        "<pageflow-object id='action:begin.do'>", 
+        "  <property value='80' name='x'/>", 
+        "  <property value='100' name='y'/>", 
+        "</pageflow-object>", 
+        "<pageflow-object id='page:index.jsp'>", 
+        "  <property value='220' name='x'/>", 
+        "  <property value='100' name='y'/>", 
+        "</pageflow-object>", 
+        "<pageflow-object id='forward:[EMAIL PROTECTED]:begin.do@'>", 
+        "  <property value='116,140,140,164' name='elbowsX'/>", 
+        "  <property value='92,92,92,92' name='elbowsY'/>", 
+        "  <property value='East_1' name='fromPort'/>", 
+        "  <property value='West_1' name='toPort'/>", 
+        "  <property value='index' name='label'/>", 
+        "</pageflow-object>", 
+        "</view-properties>"
+    }
+)
+public class Controller extends PageFlowController
+{
+    @Jpf.Action(
+        forwards={
+           @Jpf.Forward(name="index", path="index.jsp")
+        }
+    )
+    protected Forward begin()
+    {
+        return new Forward("index");
+    }
+
+
+}
\ No newline at end of file

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/core/attrset/index.jsp
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/core/attrset/index.jsp
      Sun Aug  8 09:42:43 2004
@@ -0,0 +1,27 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0"; prefix="netui"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0"; 
prefix="netui-data"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-template-1.0"; 
prefix="netui-template"%>
+
+
+<netui:html>
+    <head>
+        <netui:base />
+    </head>
+    <netui:body>
+    <h4>Verification of Tag Attribute Setting</h4>
+    <p style="color:green">This test sets the exact same attributes for 
multiple
+    tags.  Basically, it tests that if the JSP container is pooling tags, then
+    the values are stored and reported correctly.  
+    <br>
+    This is a single page test.
+    </p>
+    <ul>
+    <li><netui:anchor formSubmit="false" action="begin" 
accessKey="1"><netui:attribute name="lowsrc" value="low1.gif" 
/>Link</netui:anchor></li>
+    <li><netui:anchor formSubmit="false" action="begin" 
accessKey="2"><netui:attribute name="lowsrc" value="low2.gif" 
/>Link</netui:anchor></li>
+    <li><netui:anchor formSubmit="false" action="begin" 
accessKey="3"><netui:attribute name="lowsrc" value="low3.gif" 
/>Link</netui:anchor></li>
+    </ul>
+    </netui:body>
+</netui:html>
+
+  
\ No newline at end of file

Modified: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/beanerror/index.jsp
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/beanerror/index.jsp
    (original)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/form/beanerror/index.jsp
    Sun Aug  8 09:42:43 2004
@@ -16,7 +16,7 @@
     <br>
     This is a single page test.  
     </p>
-    <%%>
+
     <hr>
     <p>No Type Specified:
     <netui:form action="begin" name="ctFormBeanError2" scope="session" 
style="display:inline">

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/group/nullbinding/Controller.jpf
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/group/nullbinding/Controller.jpf
    Sun Aug  8 09:42:43 2004
@@ -0,0 +1,64 @@
+package coretags.group.nullbinding;
+
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+
+/**
+ * This is the default controller for a blank web application.
+ */
[EMAIL PROTECTED]
+public class Controller extends PageFlowController
+{
+    private String _nullValue = null;
+    private String[] _checked;
+    
+    public String getNullValue() {
+        return _nullValue;
+    }
+    
+    public String[] getChecked() {
+        return _checked;
+    }
+    public void setChekced(String[] checked) {
+        _checked = checked;
+    }
+    
+    @Jpf.Action(
+        forwards={
+           @Jpf.Forward(name="index", path="index.jsp")
+        }
+    )
+    protected Forward begin()
+    {
+        return new Forward("index");
+    }
+
+
+}
[EMAIL PROTECTED](
+        value = { 
+            "<!-- This data is auto-generated. Hand-editing this section is 
not recommended. -->", 
+            "<view-properties>", 
+            "<pageflow-object id='page:index.jsp'>", 
+            "  <property value='220' name='x'/>", 
+            "  <property value='100' name='y'/>", 
+            "</pageflow-object>", 
+            "<pageflow-object id='action:begin.do'>", 
+            "  <property value='80' name='x'/>", 
+            "  <property value='100' name='y'/>", 
+            "</pageflow-object>", 
+            "<pageflow-object id='forward:[EMAIL PROTECTED]:begin.do@'>", 
+            "  <property value='116,140,140,164' name='elbowsX'/>", 
+            "  <property value='92,92,92,92' name='elbowsY'/>", 
+            "  <property value='East_1' name='fromPort'/>", 
+            "  <property value='West_1' name='toPort'/>", 
+            "  <property value='index' name='label'/>", 
+            "</pageflow-object>", 
+            "</view-properties>"
+        }
+    )
+interface VIEW_PROPERTIES
+{
+}
+

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/group/nullbinding/index.jsp
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/group/nullbinding/index.jsp
 Sun Aug  8 09:42:43 2004
@@ -0,0 +1,46 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0"; prefix="netui"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0"; 
prefix="netui-data"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-template-1.0"; 
prefix="netui-template"%>
+
+
+<netui:html>
+    <head>
+        <netui:base />
+    </head>
+    <netui:body>
+    <h4>Null binding HtmlGroupBase Tag</h4>
+    <p style="color:green">This test will bind the null value to the 
attributes which are defined on
+    the HtmlGroupBase tag.  It does this through the checkbox and radio button 
group which are the two
+    subclasses of that tag.  Error are reported if the <b>defaultValue</b> or 
the <b>optionsDataSource<b> are
+    set to a null value.
+    <br>
+    This is a single page test.
+    </p>
+    <ul>
+    <li><netui:checkBoxGroup dataSource="pageFlow.checked" 
defaultValue="${pageFlow.nullValue}">
+    <netui:checkBoxOption>Option</netui:checkBoxOption>
+    </netui:checkBoxGroup> -- defaultValue</li>
+    <li><netui:checkBoxGroup dataSource="pageFlow.checked" 
optionsDataSource="${pageFlow.nullValue}">
+    <netui:checkBoxOption>Option</netui:checkBoxOption>
+    </netui:checkBoxGroup> -- optionsDataSource</li>
+    <li><netui:checkBoxGroup dataSource="pageFlow.checked" 
labelStyle="${pageFlow.nullValue}">
+    <netui:checkBoxOption>Option</netui:checkBoxOption>
+    </netui:checkBoxGroup> -- labelStyle</li>
+    <li><netui:checkBoxGroup dataSource="pageFlow.checked" 
labelStyleClass="${pageFlow.nullValue}">
+    <netui:checkBoxOption>Option</netui:checkBoxOption>
+    </netui:checkBoxGroup> -- labelStyleClass</li>
+    <li><netui:checkBoxGroup dataSource="pageFlow.checked" 
style="${pageFlow.nullValue}">
+    <netui:checkBoxOption>Option</netui:checkBoxOption>
+    </netui:checkBoxGroup> -- style</li>
+    <li><netui:checkBoxGroup dataSource="pageFlow.checked" 
styleClass="${pageFlow.nullValue}">
+    <netui:checkBoxOption>Option</netui:checkBoxOption>
+    </netui:checkBoxGroup> -- styleClass</li>
+    <li><netui:checkBoxGroup dataSource="pageFlow.checked" 
orientation="${pageFlow.nullValue}">
+    <netui:checkBoxOption>Option</netui:checkBoxOption>
+    </netui:checkBoxGroup> -- orientation</li>
+    </ul>
+    </netui:body>
+</netui:html>
+
+  
\ No newline at end of file

Modified: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/index.jsp
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/index.jsp   
(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/coretags/index.jsp   
Sun Aug  8 09:42:43 2004
@@ -10,8 +10,11 @@
     <li><a href="anchor/nullbindingerror/Controller.jpf">Anchor Error Null 
Binding</a> &#8212; Anchor null binding tests with errors</li>
     <li><a href="attribute/nullbinding/Controller.jpf">Attribute Null 
Binding</a> &#8212; Attribute null binding tests</li>
     <li><a href="base/nullbinding/Controller.jpf">Base Null Binding</a> 
&#8212; Base null binding tests</li>
+    <li><a href="binding/nullbinding/Controller.jpf">BindingUpdateErrors Null 
Binding</a> &#8212; BindingUpdateErrors null binding tests</li>
+    <li><a href="binding/report/Controller.jpf">BindingUpdateErrors error 
reporting</a> &#8212; Normal error reporting from the BindingUpdateErrors 
tag</li>
     <li><a href="button/nullbinding/Controller.jpf">Button Null Binding</a> 
&#8212; Button null binding tests</li>
     <li><a href="checkbox/nullbinding/Controller.jpf">Checkbox Null 
Binding</a> &#8212; Checkbox null binding tests</li>
+    <li><a href="core/attrset/Controller.jpf">Core Attribute Setting</a> 
&#8212; Multiple tags which may be reused set same attributes</li>
     <li><a href="fileupload/nullbinding/Controller.jpf">FileUpload Null 
Binding</a> &#8212; FileUpload null binding tests</li>
     <li><a href="form/bean/Controller.jpf">Form Bean</a> &#8212; Test of the 
Form name, type and scope attributes</li>
     <li><a href="form/beanerror/Controller.jpf">Form Bean Error</a> &#8212; 
Test of Errors in the Form name, type and scope attributes</li>
@@ -23,6 +26,7 @@
     <li><a href="formatnumber/errors/Controller.jpf">FormatNumber Errors</a> 
&#8212; FormatNumber errors</li>
     <li><a href="formatnumber/nullbinding/Controller.jpf">FormatNumber Null 
Binding</a> &#8212; FormatNumber null binding</li>
     <li><a href="formatstring/nullbinding/Controller.jpf">FormatString Null 
Binding</a> &#8212; FormatString null binding and errors</li>
+    <li><a href="group/nullbinding/Controller.jpf">HtmlGroupBase Null 
Binding</a> &#8212; HtmlGroupBase attributes null binding tests [Base for 
CheckBoxGroup and RadioButtonGroup]</li>
     <li><a href="htmlbase/nullbinding/Controller.jpf">HtmlBase Null 
Binding</a> &#8212; HtmlBase attributes null binding tests</li>
     </ul>
     </body>

Modified: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
   (original)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
   Sun Aug  8 09:42:43 2004
@@ -1680,6 +1680,31 @@
          </features>
       </test>
       <test>
+         <name>CtBindingNullBinding</name>
+         <description>Binding to null in the BindingUpdateErrors tags 
attributes</description>
+         <webapp>coreWeb</webapp>
+         <categories>
+            <category>bvt</category>
+            <category>tags</category>
+         </categories>
+         <features>
+            <feature>BindingUpdateErrors</feature>
+            <feature>Binding</feature>
+         </features>
+      </test>
+      <test>
+         <name>CtBindingReport</name>
+         <description>Normal errors reported by the BindingUpdateErrors 
tag.</description>
+         <webapp>coreWeb</webapp>
+         <categories>
+            <category>bvt</category>
+            <category>tags</category>
+         </categories>
+         <features>
+            <feature>BindingUpdateErrors</feature>
+         </features>
+      </test>
+      <test>
          <name>CtButtonNullBinding</name>
          <description>Binding to null in the Button tags 
attributes</description>
          <webapp>coreWeb</webapp>
@@ -1706,6 +1731,32 @@
          </features>
       </test>
       <test>
+         <name>CtCheckboxNullBinding</name>
+         <description>Binding to null in the Checkbox tags 
attributes</description>
+         <webapp>coreWeb</webapp>
+         <categories>
+            <category>bvt</category>
+            <category>tags</category>
+         </categories>
+         <features>
+            <feature>Checkbox</feature>
+            <feature>Binding</feature>
+         </features>
+      </test>
+      <test>
+         <name>CtCoreAttrset</name>
+         <description>Test of the JSP container pooling tags</description>
+         <webapp>coreWeb</webapp>
+         <categories>
+            <category>bvt</category>
+            <category>tags</category>
+         </categories>
+         <features>
+            <feature>JSP Container</feature>
+            <feature>Tag Pooling</feature>
+         </features>
+      </test>
+      <test>
          <name>CtFileUploadNullBinding</name>
          <description>Binding to null in the FileUpload tags 
attributes</description>
          <webapp>coreWeb</webapp>
@@ -1843,6 +1894,19 @@
          </categories>
          <features>
             <feature>FormatString</feature>
+            <feature>Binding</feature>
+         </features>
+      </test>
+      <test>
+         <name>CtGroupNullBinding</name>
+         <description>Binding to null in the HtmlGroupBaseTag 
attributes</description>
+         <webapp>coreWeb</webapp>
+         <categories>
+            <category>bvt</category>
+            <category>tags</category>
+         </categories>
+         <features>
+            <feature>HtmlGroupBaseTag</feature>
             <feature>Binding</feature>
          </features>
       </test>

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtBindingNullBinding.xml
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtBindingNullBinding.xml
  Sun Aug  8 09:42:43 2004
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession 
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session";>
+   <ses:sessionName>CtBindingNullBinding</ses:sessionName>
+   <ses:tester>Daryl</ses:tester>
+   <ses:startDate>08 Aug 2004, 10:13:04.304 AM MDT</ses:startDate>
+   <ses:description>Test of null binding to the attributes of the 
BindingUpdateError tag.</ses:description>
+   <ses:tests>
+      <ses:test>
+         <ses:testNumber>1</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            
<ses:uri>/coreWeb/coretags/binding/nullbinding/Controller.jpf</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>4BD7E5075D8C568D6D64392D01ADBE1D</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>image/gif, image/x-xbitmap, image/jpeg, 
image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, 
application/msword, application/x-shockwave-flash, */*</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip, deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>Keep-Alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  
<ses:value>JSESSIONID=4BD7E5075D8C568D6D64392D01ADBE1D</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>user-agent</ses:name>
+                  <ses:value>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 
5.1; .NET CLR 2.0.40607)</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+        <base 
href="http://localhost:8080/coreWeb/coretags/binding/nullbinding/index.jsp";>
+    </head>
+    <body>
+    <h4>Null Binding to the BindingUpdateErrors tag</h4>
+    <p style="color:green">This test will binding the expression to a null 
value.  The expression attribute
+    is required so an error will be reported.
+    <br>
+    This is a single page test.
+    </p>
+    <ul>
+    <li><span style="color:red;background-color:white">
+ [<b>Tag Error:1</b>, Found in tag <b>BindingUpdateErrors</b>]</span> -- 
Binding Errors</li>
+    </ul>
+    <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>Attribute 
'expression' is required to have a value.  The value "" is illegal.  This is 
often cause by binding to an object with a null value.</td></tr>
+</table></div>
+</body>
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+   </ses:tests>
+   <ses:endDate>08 Aug 2004, 10:13:10.974 AM MDT</ses:endDate>
+   <ses:testCount>1</ses:testCount>
+</ses:recorderSession>

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtBindingReport.xml
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtBindingReport.xml
       Sun Aug  8 09:42:43 2004
@@ -0,0 +1,219 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession 
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session";>
+   <ses:sessionName>CtBindingReport</ses:sessionName>
+   <ses:tester>Daryl</ses:tester>
+   <ses:startDate>08 Aug 2004, 10:13:50.479 AM MDT</ses:startDate>
+   <ses:description>Test of normal binding errors reported by the 
BindingUpdateErrors tag.</ses:description>
+   <ses:tests>
+      <ses:test>
+         <ses:testNumber>1</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/coreWeb/coretags/binding/report/Controller.jpf</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>CFE9C90200EDAC69518B67D39FC3962A</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>image/gif, image/x-xbitmap, image/jpeg, 
image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, 
application/msword, application/x-shockwave-flash, */*</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip, deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>Keep-Alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  
<ses:value>JSESSIONID=CFE9C90200EDAC69518B67D39FC3962A</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>user-agent</ses:name>
+                  <ses:value>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 
5.1; .NET CLR 2.0.40607)</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+        <base 
href="http://localhost:8080/coreWeb/coretags/binding/report/index.jsp";>
+    </head>
+    <body>
+    <h4>Normal Error reporting by the BindingUpdateErrors tag</h4>
+    <p style="color:green">This test will verify that BindingUpdateErrors 
report errors when binding errors
+    occur.  The way this happens is we post a form to an action that doesn't 
take a form.  The errors are
+    reported either based upon an expression or all the errors are reported.  
Both cases are found below.
+    <br>
+    To run this test, you must fill in the form and then submit it.  When the 
form is submitted you will see the
+    errors displayed.
+    </p>
+    <p>
+    <ul>
+    <li>actionForm.name -- </li>
+    <li>actionForm.type -- </li>
+    <li>all -- </li>
+    </ul>
+    </p>
+    <hr>
+    <form name="bean" action="/coreWeb/coretags/binding/report/postForm.do" 
method="post">
+    <p>
+    Name <input type="text" name="{actionForm.name}"><br>
+    Type <input type="text" name="{actionForm.type}"><br>
+    <input type="submit" name="actionOverride:begin" value="Submit">
+    </p>
+    </form>
+    </body>
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>2</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/coreWeb/coretags/binding/report/postForm.do</ses:uri>
+            <ses:method>POST</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>actionOverride:begin</ses:name>
+                  <ses:value>Submit</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>{actionForm.name}</ses:name>
+                  <ses:value>x</ses:value>
+               </ses:parameter>
+               <ses:parameter>
+                  <ses:name>{actionForm.type}</ses:name>
+                  <ses:value>x</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>CFE9C90200EDAC69518B67D39FC3962A</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>image/gif, image/x-xbitmap, image/jpeg, 
image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, 
application/msword, application/x-shockwave-flash, */*</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip, deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cache-control</ses:name>
+                  <ses:value>no-cache</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>Keep-Alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-length</ses:name>
+                  <ses:value>77</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>content-type</ses:name>
+                  <ses:value>application/x-www-form-urlencoded</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  
<ses:value>JSESSIONID=CFE9C90200EDAC69518B67D39FC3962A</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/coretags/binding/report/Controller.jpf</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>user-agent</ses:name>
+                  <ses:value>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 
5.1; .NET CLR 2.0.40607)</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+        <base 
href="http://localhost:8080/coreWeb/coretags/binding/report/index.jsp";>
+    </head>
+    <body>
+    <h4>Normal Error reporting by the BindingUpdateErrors tag</h4>
+    <p style="color:green">This test will verify that BindingUpdateErrors 
report errors when binding errors
+    occur.  The way this happens is we post a form to an action that doesn't 
take a form.  The errors are
+    reported either based upon an expression or all the errors are reported.  
Both cases are found below.
+    <br>
+    To run this test, you must fill in the form and then submit it.  When the 
form is submitted you will see the
+    errors displayed.
+    </p>
+    <p>
+    <ul>
+    <li>actionForm.name -- <span style="color:red;background-color:white">
+ [<b>Tag Error:1</b>, Found in tag <b>BindingUpdateErrors</b>]</span></li>
+    <li>actionForm.type -- <span style="color:red;background-color:white">
+ [<b>Tag Error:2</b>, Found in tag <b>BindingUpdateErrors</b>]</span></li>
+    <li>all -- <span style="color:red;background-color:white">
+ [<b>Tag Error:3</b>, Found in tag <b>BindingUpdateErrors</b>]</span></li>
+    </ul>
+    </p>
+    <hr>
+    <form name="bean" action="/coreWeb/coretags/binding/report/postForm.do" 
method="post">
+    <p>
+    Name <input type="text" name="{actionForm.name}"><br>
+    Type <input type="text" name="{actionForm.type}"><br>
+    <input type="submit" name="actionOverride:begin" value="Submit">
+    </p>
+    </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.name', cause: Exception when attempting to update the 
expression "{actionForm.name}" with available binding contexts [actionForm, 
pageFlow, globalApp]. Root cause: java.lang.RuntimeException: Can not update 
the identifier "name" on a null value object.</td></tr>
+<tr><th>2</th><th>BindingUpdateErrors</th><th>Message</th><td>Binding Update 
Failed for 'actionForm.type', cause: Exception when attempting to update the 
expression "{actionForm.type}" with available binding contexts [actionForm, 
pageFlow, globalApp]. Root cause: java.lang.RuntimeException: Can not update 
the identifier "type" on a null value object.</td></tr>
+<tr><th>3</th><th>BindingUpdateErrors</th><th>Message</th><td>Binding Update 
Failed for '{actionForm.type}', cause: Exception when attempting to update the 
expression "{actionForm.type}" with available binding contexts [actionForm, 
pageFlow, globalApp]. Root cause: java.lang.RuntimeException: Can not update 
the identifier "type" on a null value object.</td></tr>
+<tr><th>4</th><th>BindingUpdateErrors</th><th>Message</th><td>Binding Update 
Failed for '{actionForm.name}', cause: Exception when attempting to update the 
expression "{actionForm.name}" with available binding contexts [actionForm, 
pageFlow, globalApp]. Root cause: java.lang.RuntimeException: Can not update 
the identifier "name" on a null value object.</td></tr>
+</table></div>
+</body>
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+   </ses:tests>
+   <ses:endDate>08 Aug 2004, 10:14:00.183 AM MDT</ses:endDate>
+   <ses:testCount>2</ses:testCount>
+</ses:recorderSession>

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtCoreAttrset.xml
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtCoreAttrset.xml
 Sun Aug  8 09:42:43 2004
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession 
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session";>
+   <ses:sessionName>CtCoreAttrset</ses:sessionName>
+   <ses:tester>Daryl</ses:tester>
+   <ses:startDate>08 Aug 2004, 10:26:05.085 AM MDT</ses:startDate>
+   <ses:description>Test of setting tag pooling and setting 
attributes.</ses:description>
+   <ses:tests>
+      <ses:test>
+         <ses:testNumber>1</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/coreWeb/coretags/core/attrset/Controller.jpf</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>E27ED42ECDF14B673CA9AB5B32BACCEE</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>image/gif, image/x-xbitmap, image/jpeg, 
image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, 
application/msword, application/x-shockwave-flash, */*</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip, deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>Keep-Alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  
<ses:value>JSESSIONID=E27ED42ECDF14B673CA9AB5B32BACCEE</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>user-agent</ses:name>
+                  <ses:value>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 
5.1; .NET CLR 2.0.40607)</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+        <base 
href="http://localhost:8080/coreWeb/coretags/core/attrset/index.jsp";>
+    </head>
+    <body>
+    <h4>Verification of Tag Attribute Setting</h4>
+    <p style="color:green">This test sets the exact same attributes for 
multiple
+    tags.  Basically, it tests that if the JSP container is pooling tags, then
+    the values are stored and reported correctly.  
+    <br>
+    This is a single page test.
+    </p>
+    <ul>
+    <li><a href="/coreWeb/coretags/core/attrset/begin.do" accesskey="1" 
lowsrc="low1.gif">Link</a></li>
+    <li><a href="/coreWeb/coretags/core/attrset/begin.do" accesskey="2" 
lowsrc="low2.gif">Link</a></li>
+    <li><a href="/coreWeb/coretags/core/attrset/begin.do" accesskey="3" 
lowsrc="low3.gif">Link</a></li>
+    </ul>
+    </body>
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+   </ses:tests>
+   <ses:endDate>08 Aug 2004, 10:26:11.204 AM MDT</ses:endDate>
+   <ses:testCount>1</ses:testCount>
+</ses:recorderSession>

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtGroupNullBinding.xml
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/CtGroupNullBinding.xml
    Sun Aug  8 09:42:43 2004
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession 
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session";>
+   <ses:sessionName>CtGroupNullBinding</ses:sessionName>
+   <ses:tester>Daryl</ses:tester>
+   <ses:startDate>08 Aug 2004, 10:14:36.064 AM MDT</ses:startDate>
+   <ses:description>Test of null binding to the attributes of the 
HtmlGroupBase tag.</ses:description>
+   <ses:tests>
+      <ses:test>
+         <ses:testNumber>1</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            
<ses:uri>/coreWeb/coretags/group/nullbinding/Controller.jpf</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>8197E60AC822E7B6C8E76062DAEFFFF1</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>image/gif, image/x-xbitmap, image/jpeg, 
image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, 
application/msword, application/x-shockwave-flash, */*</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip, deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>Keep-Alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  
<ses:value>JSESSIONID=8197E60AC822E7B6C8E76062DAEFFFF1</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>user-agent</ses:name>
+                  <ses:value>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 
5.1; .NET CLR 2.0.40607)</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+        <base 
href="http://localhost:8080/coreWeb/coretags/group/nullbinding/index.jsp";>
+    </head>
+    <body>
+    <h4>Null binding HtmlGroupBase Tag</h4>
+    <p style="color:green">This test will bind the null value to the 
attributes which are defined on
+    the HtmlGroupBase tag.  It does this through the checkbox and radio button 
group which are the two
+    subclasses of that tag.  Error are reported if the <b>defaultValue</b> or 
the <b>optionsDataSource<b> are
+    set to a null value.
+    <br>
+    This is a single page test.
+    </p>
+    <ul>
+    <li><span style="color:red;background-color:white">
+ [<b>Tag Error:1</b>, Found in tag <b>CheckBoxGroup</b>]</span> -- 
defaultValue</li>
+    <li><span style="color:red;background-color:white">
+ [<b>Tag Error:2</b>, Found in tag <b>CheckBoxGroup</b>]</span> -- 
optionsDataSource</li>
+    <li><input type="hidden" 
name="wlw-checkbox_group_key:{pageFlow.checked}OldValue" value="true">
+    <input type="checkbox" 
name="wlw-checkbox_group_key:{pageFlow.checked}"><span>Option</span>
+     -- labelStyle</li>
+    <li><input type="hidden" 
name="wlw-checkbox_group_key:{pageFlow.checked}OldValue" value="true">
+    <input type="checkbox" 
name="wlw-checkbox_group_key:{pageFlow.checked}"><span>Option</span>
+     -- labelStyleClass</li>
+    <li><input type="hidden" 
name="wlw-checkbox_group_key:{pageFlow.checked}OldValue" value="true">
+    <input type="checkbox" 
name="wlw-checkbox_group_key:{pageFlow.checked}"><span>Option</span>
+     -- style</li>
+    <li><input type="hidden" 
name="wlw-checkbox_group_key:{pageFlow.checked}OldValue" value="true">
+    <input type="checkbox" 
name="wlw-checkbox_group_key:{pageFlow.checked}"><span>Option</span>
+     -- styleClass</li>
+    <li><input type="hidden" 
name="wlw-checkbox_group_key:{pageFlow.checked}OldValue" value="true">
+    <input type="checkbox" 
name="wlw-checkbox_group_key:{pageFlow.checked}"><span>Option</span>
+     -- orientation</li>
+    </ul>
+    <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>CheckBoxGroup</th><th>Message</th><td>Attribute 
'defaultValue' is required to have a value.  The value "" is illegal.  This is 
often cause by binding to an object with a null value.</td></tr>
+<tr><th>2</th><th>CheckBoxGroup</th><th>Message</th><td>Attribute 
'optionsDataSource' is required to have a value.  The value "" is illegal.  
This is often cause by binding to an object with a null value.</td></tr>
+</table></div>
+</body>
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+   </ses:tests>
+   <ses:endDate>08 Aug 2004, 10:14:43.574 AM MDT</ses:endDate>
+   <ses:testCount>1</ses:testCount>
+</ses:recorderSession>

Modified: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/Expression.xml
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/Expression.xml
    (original)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/Expression.xml
    Sun Aug  8 09:42:43 2004
@@ -2,7 +2,7 @@
 <ses:recorderSession 
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session";>
    <ses:sessionName>Expression</ses:sessionName>
    <ses:tester>Daryl</ses:tester>
-   <ses:startDate>08 Jul 2004, 09:38:44.633 PM MDT</ses:startDate>
+   <ses:startDate>08 Aug 2004, 09:51:57.979 AM MDT</ses:startDate>
    <ses:description>Daryl</ses:description>
    <ses:tests>
       <ses:test>
@@ -47,7 +47,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-35ead49b:fda1c948e7:-7341</ses:value>
+                  <ses:value>-1fd03d3e:fe3f15a3a1:-7dc0</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testnumber</ses:name>
@@ -120,14 +120,6 @@
  <th>Expression</th><td>{pageFlow.cbgDataSource}</td></tr>
  <tr><th valign="top">Message</th><td colspan="4">Caught exception when 
evaluating expression "{pageFlow.cbgDataSource}" with available binding 
contexts [actionForm, pageFlow, globalApp, request, session, application, 
pageContext, bundle, container, url, pageInput]. Root cause: 
java.lang.RuntimeException: Could not find property or field "cbgDataSource" on 
object of type "class errors.expression.Controller"</td></tr>
 </table></span>
-<span> <table border="1" cellspacing="0" 
style="color:red;background-color:white">
- <tr><th colspan="5">Tag Error</th></tr>
- <tr><th>Tag</th><td>CheckBoxGroup</td>
- <th>Errors</th><td colspan="2">1</td></tr>
- <tr><th>Expression Error</th><th>Attribute</th><td>dataSource</td>
- <th>Expression</th><td>{pageFlow.cbgDataSource}</td></tr>
- <tr><th valign="top">Message</th><td colspan="4">Caught exception when 
evaluating expression "{pageFlow.cbgDataSource}" with available binding 
contexts [actionForm, pageFlow, globalApp, request, session, application, 
pageContext, bundle, container, url, pageInput]. Root cause: 
java.lang.RuntimeException: Could not find property or field "cbgDataSource" on 
object of type "class errors.expression.Controller"</td></tr>
-</table></span>
 </td></tr>
 <tr><td>Radio Group</td><td><span> <table border="1" cellspacing="0" 
style="color:red;background-color:white">
  <tr><th colspan="5">Tag Error</th></tr>
@@ -137,14 +129,6 @@
  <th>Expression</th><td>{pageFlow.rgDataSource}</td></tr>
  <tr><th valign="top">Message</th><td colspan="4">Caught exception when 
evaluating expression "{pageFlow.rgDataSource}" with available binding contexts 
[actionForm, pageFlow, globalApp, request, session, application, pageContext, 
bundle, container, url, pageInput]. Root cause: java.lang.RuntimeException: 
Could not find property or field "rgDataSource" on object of type "class 
errors.expression.Controller"</td></tr>
 </table></span>
-<span> <table border="1" cellspacing="0" 
style="color:red;background-color:white">
- <tr><th colspan="5">Tag Error</th></tr>
- <tr><th>Tag</th><td>RadioButtonGroup</td>
- <th>Errors</th><td colspan="2">1</td></tr>
- <tr><th>Expression Error</th><th>Attribute</th><td>dataSource</td>
- <th>Expression</th><td>{pageFlow.rgDataSource}</td></tr>
- <tr><th valign="top">Message</th><td colspan="4">Caught exception when 
evaluating expression "{pageFlow.rgDataSource}" with available binding contexts 
[actionForm, pageFlow, globalApp, request, session, application, pageContext, 
bundle, container, url, pageInput]. Root cause: java.lang.RuntimeException: 
Could not find property or field "rgDataSource" on object of type "class 
errors.expression.Controller"</td></tr>
-</table></span>
 </td></tr>
 <tr><td>Select</td><td><span> <table border="1" cellspacing="0" 
style="color:red;background-color:white">
  <tr><th colspan="5">Tag Error</th></tr>
@@ -166,7 +150,7 @@
          </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>08 Jul 2004, 09:38:46.376 PM MDT</ses:endDate>
+   <ses:endDate>08 Aug 2004, 09:51:59.121 AM MDT</ses:endDate>
    <ses:sessionStatus>fail</ses:sessionStatus>
    <ses:testCount>1</ses:testCount>
    <ses:passedCount>0</ses:passedCount>

Modified: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/HtmlExpression.xml
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/HtmlExpression.xml
        (original)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/HtmlExpression.xml
        Sun Aug  8 09:42:43 2004
@@ -2,7 +2,7 @@
 <ses:recorderSession 
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session";>
    <ses:sessionName>HtmlExpression</ses:sessionName>
    <ses:tester>Daryl</ses:tester>
-   <ses:startDate>08 Jul 2004, 09:39:28.907 PM MDT</ses:startDate>
+   <ses:startDate>08 Aug 2004, 09:52:23.815 AM MDT</ses:startDate>
    <ses:description>Daryl</ses:description>
    <ses:tests>
       <ses:test>
@@ -47,7 +47,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-35ead49b:fda1c948e7:-72e8</ses:value>
+                  <ses:value>-1fd03d3e:fe3f15a3a1:-7d85</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testnumber</ses:name>
@@ -87,10 +87,8 @@
 <tr><td>Checkbox</td><td><span style="color:red;background-color:white">
  [<b>Expression Error:4</b>, Found in tag <b>CheckBox</b>]</span></td></tr>
 <tr><td>Checkbox Group</td><td><span style="color:red;background-color:white">
- [<b>Expression Error:5</b>, Found in tag <b>CheckBoxGroup</b>]</span><span 
style="color:red;background-color:white">
  [<b>Expression Error:5</b>, Found in tag 
<b>CheckBoxGroup</b>]</span></td></tr>
 <tr><td>Radio Group</td><td><span style="color:red;background-color:white">
- [<b>Expression Error:6</b>, Found in tag <b>RadioButtonGroup</b>]</span><span 
style="color:red;background-color:white">
  [<b>Expression Error:6</b>, Found in tag 
<b>RadioButtonGroup</b>]</span></td></tr>
 <tr><td>Select</td><td><span style="color:red;background-color:white">
  [<b>Expression Error:7</b>, Found in tag <b>Select</b>]</span></td></tr>
@@ -130,7 +128,7 @@
          </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>08 Jul 2004, 09:39:30.579 PM MDT</ses:endDate>
+   <ses:endDate>08 Aug 2004, 09:52:24.887 AM MDT</ses:endDate>
    <ses:sessionStatus>fail</ses:sessionStatus>
    <ses:testCount>1</ses:testCount>
    <ses:passedCount>0</ses:passedCount>

Modified: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/IteratorTest.xml
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/IteratorTest.xml
  (original)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/IteratorTest.xml
  Sun Aug  8 09:42:43 2004
@@ -1,92 +1,64 @@
 <?xml version="1.0" encoding="UTF-8"?>
-
-<recorderSession 
xmlns="http://beehive.apache.org/netui/tools/testrecorder/2004/session";>
-
-  <sessionName>IteratorTest</sessionName>
-  <tester>Daryl</tester>
-  <startDate>26 Mar 2004, 10:08:47.343 AM MST</startDate>
-  <description>Make sure that console Warning are issued.</description>
-
-  <tests>
-  <test>
-    <testNumber>1</testNumber>
-
-    <request>
-
-      <protocol>HTTP</protocol>
-      <protocolVersion>1.1</protocolVersion>
-      <host>localhost</host>
-      <port>7001</port>
-      <uri>/coreWeb/tags/iteratorTests/Controller.jpf</uri>
-      <method>GET</method>
-
-      <parameters>
-      </parameters>
-
-      <cookies>
-        <cookie>
-          <name>JSESSIONID</name>
-          
<value>AkixRbz1p1Z19Zl1GuSOB7eW2LBLnGNVdDjU26U8iNiUqYqVJxVv!853167481</value>
-        </cookie>
-      </cookies>
-
-      <headers>
-        <header>
-          <name>Accept</name>
-          <value>image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, 
application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, 
*/*</value>
-        </header>
-        <header>
-          <name>Accept-Encoding</name>
-          <value>gzip, deflate, x-gzip, compress, x-compress</value>
-        </header>
-        <header>
-          <name>Accept-Language</name>
-          <value>en-us</value>
-        </header>
-        <header>
-          <name>Connection</name>
-          <value>Keep-Alive, TE</value>
-        </header>
-        <header>
-          <name>Cookie</name>
-          
<value>JSESSIONID=AkixRbz1p1Z19Zl1GuSOB7eW2LBLnGNVdDjU26U8iNiUqYqVJxVv!853167481</value>
-        </header>
-        <header>
-          <name>Cookie2</name>
-          <value>$Version="1"</value>
-        </header>
-        <header>
-          <name>Host</name>
-          <value>localhost:7001</value>
-        </header>
-        <header>
-          <name>TE</name>
-          <value>trailers, deflate, gzip, compress</value>
-        </header>
-        <header>
-          <name>User-Agent</name>
-          <value>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) 
RPT-HTTPClient/0.3-3E RPT-HTTPClient/0.3-3E RPT-HTTPClient/0.3-3E 
RPT-HTTPClient/0.3-3E</value>
-        </header>
-        <header>
-          <name>testRecorder.playback.failMode</name>
-          <value>stop</value>
-        </header>
-        <header>
-          <name>testRecorder.playback.testID</name>
-          <value>-2520d58a:fb881db534:-7e26</value>
-        </header>
-        <header>
-          <name>testRecorder.playback.testNumber</name>
-          <value>1</value>
-        </header>
-      </headers>
-
-    </request>
-
-    <response>
-      <statusCode>200</statusCode>
-      <reason></reason>
-      <responseBody><![CDATA[<html>
+<ses:recorderSession 
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session";>
+   <ses:sessionName>IteratorTest</ses:sessionName>
+   <ses:tester>Daryl</ses:tester>
+   <ses:startDate>08 Aug 2004, 09:52:27.240 AM MDT</ses:startDate>
+   <ses:description>Daryl</ses:description>
+   <ses:tests>
+      <ses:test>
+         <ses:testNumber>1</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/coreWeb/tags/iteratorTests/Controller.jpf</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies/>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>image/gif, image/x-xbitmap, image/jpeg, 
image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, 
application/msword, */*</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip, deflate, x-gzip, compress, 
x-compress</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>Keep-Alive, TE</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie2</ses:name>
+                  <ses:value>$Version="1"</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>te</ses:name>
+                  <ses:value>trailers, deflate, gzip, compress</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>testrecorder.playback.testid</ses:name>
+                  <ses:value>-1fd03d3e:fe3f15a3a1:-7d7d</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>user-agent</ses:name>
+                  <ses:value>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 
5.0) RPT-HTTPClient/0.3-3E RPT-HTTPClient/0.3-3E RPT-HTTPClient/0.3-3E 
RPT-HTTPClient/0.3-3E</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<html>
 <head>
 <title>Test of Iterators</title>
 </head>
@@ -98,30 +70,39 @@
 <select name="wlw-select_key:{pageFlow.selected}"></select>
 <br />
 CheckBoxGroup:
-   <input type="hidden" 
name="wlw-checkbox_group_key:{pageFlow.checkGroup}OldValue" value="true">
+   <span> <table border="1" cellspacing="0" 
style="color:red;background-color:white">
+ <tr><th colspan="5">Tag Error</th></tr>
+ <tr><th>Tag</th><td>CheckBoxGroup</td>
+ <th>Errors</th><td colspan="2">2</td></tr>
+ <tr><th>Tag Error</th><th>Message</th><td colspan="3">Attribute 
'defaultValue' is required to have a value.  The value "" is illegal.  This is 
often cause by binding to an object with a null value.</td></tr>
+<tr><th>Tag Error</th><th>Message</th><td colspan="3">Attribute 
'optionsDataSource' is required to have a value.  The value "" is illegal.  
This is often cause by binding to an object with a null value.</td></tr>
+</table></span>
+
 <br />
 RadioButtonGroup: 
-   <br />
+   <span> <table border="1" cellspacing="0" 
style="color:red;background-color:white">
+ <tr><th colspan="5">Tag Error</th></tr>
+ <tr><th>Tag</th><td>RadioButtonGroup</td>
+ <th>Errors</th><td colspan="2">2</td></tr>
+ <tr><th>Tag Error</th><th>Message</th><td colspan="3">Attribute 
'defaultValue' is required to have a value.  The value "" is illegal.  This is 
often cause by binding to an object with a null value.</td></tr>
+<tr><th>Tag Error</th><th>Message</th><td colspan="3">Attribute 
'optionsDataSource' is required to have a value.  The value "" is illegal.  
This is often cause by binding to an object with a null value.</td></tr>
+</table></span>
+<br />
 <br/>
 <input type="submit" value="Submit">
 </form>
 <br />
 </body>
-</html>]]></responseBody>
-
-    </response>
-
-    <testResults>
-      <testStatus>fail</testStatus>
-
-    </testResults>
-  </test>
-
-  </tests>
-
-  <endDate>26 Mar 2004, 10:08:49.185 AM MST</endDate>
-  <sessionStatus>fail</sessionStatus>
-  <testCount>1</testCount>
-  <passedCount>0</passedCount>
-  <failedCount>1</failedCount>
-</recorderSession>
\ No newline at end of file
+</html>]]></ses:responseBody>
+         </ses:response>
+         <ses:testResults>
+            <ses:testStatus>fail</ses:testStatus>
+         </ses:testResults>
+      </ses:test>
+   </ses:tests>
+   <ses:endDate>08 Aug 2004, 09:52:28.642 AM MDT</ses:endDate>
+   <ses:sessionStatus>fail</ses:sessionStatus>
+   <ses:testCount>1</ses:testCount>
+   <ses:passedCount>0</ses:passedCount>
+   <ses:failedCount>1</ses:failedCount>
+</ses:recorderSession>

Modified: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/MultipleDatasource.xml
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/MultipleDatasource.xml
    (original)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/MultipleDatasource.xml
    Sun Aug  8 09:42:43 2004
@@ -2,7 +2,7 @@
 <ses:recorderSession 
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session";>
    <ses:sessionName>MultipleDatasource</ses:sessionName>
    <ses:tester>Daryl</ses:tester>
-   <ses:startDate>08 Jul 2004, 08:53:56.949 PM MDT</ses:startDate>
+   <ses:startDate>06 Aug 2004, 11:00:19.342 AM MDT</ses:startDate>
    <ses:description>Daryl</ses:description>
    <ses:tests>
       <ses:test>
@@ -47,7 +47,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-35ead49b:fda1c948e7:-7bc5</ses:value>
+                  <ses:value>65fcc13:fe35064a0f:-7d05</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -78,7 +78,6 @@
 Checkbox: <span style="color:red;background-color:white">
  [<b>Tag Error:5</b>, Found in tag <b>CheckBox</b>]</span><br/>
 CheckBoxGroup: <span style="color:red;background-color:white">
- [<b>Tag Error:6</b>, Found in tag <b>CheckBoxGroup</b>]</span><span 
style="color:red;background-color:white">
  [<b>Tag Error:6</b>, Found in tag <b>CheckBoxGroup</b>]</span><br/>
 <input type="submit" value="Submit">
 </form>
@@ -100,7 +99,7 @@
          </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>08 Jul 2004, 08:54:01.385 PM MDT</ses:endDate>
+   <ses:endDate>06 Aug 2004, 11:00:22.536 AM MDT</ses:endDate>
    <ses:sessionStatus>fail</ses:sessionStatus>
    <ses:testCount>1</ses:testCount>
    <ses:passedCount>0</ses:passedCount>

Reply via email to