You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ek...@apache.org on 2004/11/05 18:27:33 UTC

svn commit: rev 56688 - in incubator/beehive/trunk/netui: src/tags-databinding src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid src/tags-html/org/apache/beehive/netui/tags/html src/tags-html/org/apache/beehive/netui/tags/rendering src/util src/util/org/apache/beehive/netui/util test/src/testRecorder test/webapps/drt/testRecorder/tests

Author: ekoneil
Date: Fri Nov  5 09:27:31 2004
New Revision: 56688

Added:
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/AbstractColumnModel.java
      - copied, changed from rev 56139, incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/ColumnModel.java
   incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/rendering/THeadTag.java   (contents, props changed)
   incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/rendering/ThTag.java   (contents, props changed)
Removed:
   incubator/beehive/trunk/netui/src/tags-databinding/README.txt
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/ColumnModel.java
Modified:
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/StylePolicy.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/AbstractHtmlColumnModel.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/AnchorColumnModel.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/DefaultFilter.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/DefaultSort.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/DefaultStylePolicy.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/EmptyStylePolicy.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/ImageColumnModel.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/LiteralColumnModel.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/TableRenderer.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/FilterService.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/SortService.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractColumn.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlColumn.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AnchorColumn.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Caption.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Columns.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/ImageColumn.java
   incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/LiteralColumn.java
   incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/HtmlConstants.java
   incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/rendering/TagRenderingBase.java
   incubator/beehive/trunk/netui/src/util/build.xml
   incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/HtmlExceptionFormatter.java
   incubator/beehive/trunk/netui/test/src/testRecorder/build.xml
   incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridCSSPrefix.xml
   incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridCaptionTest.xml
   incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridCustomTagAttributes.xml
   incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridEmptyColumnsTag.xml
   incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridFooterTest.xml
   incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridHeaderTest.xml
   incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridJavaScriptSmoke.xml
   incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridModelTest.xml
   incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerBasic.xml
   incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerCustomSelect.xml
   incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerEmpty.xml
   incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerInCaption.xml
   incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerInFooter.xml
   incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridScriptletTagFile.xml
   incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridSmokeTest.xml
Log:
Various NetUI work:

- Fix BEEHIVE-32 so that root cause (servlet|JSP|EL)Exceptions are printed in the error page.  This greatly helps debugging exceptions that are thrown
- Switch data grid table rendering onto the HTML renderers and add a <caption> and <th> renderer.  Also starts to consume the AbstractRenderAppender which Daryl added recently.
- fix a test recorder build problem where the NetUI server DRTs didn't run if the test JAR output directory wasn't created

BB: self
DRT: NetUI pass



Copied: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/AbstractColumnModel.java (from rev 56139, incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/ColumnModel.java)
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/ColumnModel.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/AbstractColumnModel.java	Fri Nov  5 09:27:31 2004
@@ -23,14 +23,17 @@
 
 import org.apache.beehive.netui.databinding.datagrid.util.JspUtil;
 import org.apache.beehive.netui.tags.html.FormatTag;
+import org.apache.beehive.netui.tags.rendering.TdTag;
+import org.apache.beehive.netui.tags.rendering.ThTag;
+import org.apache.beehive.netui.tags.rendering.AbstractRenderAppender;
 import org.apache.beehive.netui.util.logging.Logger;
 
 /**
  * todo: re-enable sorting / filtering in column headers
  */
-public abstract class ColumnModel
+public abstract class AbstractColumnModel
 {
-    private static final Logger _logger = Logger.getInstance(ColumnModel.class);
+    private static final Logger _logger = Logger.getInstance(AbstractColumnModel.class);
 
     public static final int DATA_RENDER_STATE = 0;
     public static final int HEADER_RENDER_STATE = 1;
@@ -38,8 +41,9 @@
 
     public static final int ATTR_GENERAL = 0;
     public static final int ATTR_GENERAL_EXPRESSION = 1;
-    
+
     private static final String EMPTY_CELL = "&nbsp;";
+    private static final String EMPTY_STRING = "";
 
     private DataGridModel _dataGridModel;
     private ArrayList _formatters = null;
@@ -51,6 +55,8 @@
     private String _sortExpression;
     private String _filterExpression;
     private String _headerText;
+    private String _headerStyle;
+    private String _headerStyleClass;
 
     private Boolean _filterable = null;
     private Boolean _sortable = null;
@@ -81,6 +87,12 @@
     public String getHeaderText() {return _headerText;}
     public void setHeaderText(String headerText) {_headerText = headerText;}
 
+    public String getHeaderStyle() {return _headerStyle;}
+    public void setHeaderStyle(String headerStyle) {_headerStyle = headerStyle;}
+
+    public String getHeaderStyleClass() {return _headerStyleClass;}
+    public void setHeaderStyleClass(String headerStyleClass) {_headerStyleClass = headerStyleClass;}
+
     public Boolean isFilterable() {return _filterable;}
     public void setFilterable(Boolean filterable) {_filterable = filterable;}
 
@@ -109,45 +121,54 @@
     {
     }
 
-    public void renderHeader(StringBuffer buffer)
+    public void renderHeader(AbstractRenderAppender appender)
     {
         assert _dataGridModel != null;
         if(_headerText == null)
-            renderEmptyCell(buffer);
+            renderEmptyCell(appender);
         else
         {
             Object value = _headerText;
-            buffer.append(value);
+            appender.append(value != null ? value.toString() : EMPTY_STRING);
         }
     }
 
-    public abstract void renderDataCell(StringBuffer buffer);
+    public abstract void renderDataCell(AbstractRenderAppender appender);
 
-    public void openHeaderCell(StringBuffer buf)
+    public void openHeaderCell(AbstractRenderAppender appender)
     {
-        int[] styles = new int[] {StylePolicy.HEADER_CELL_CLASS};
+        ThTag.State state = new ThTag.State();
+        if(_headerStyleClass != null)
+            state.styleClass = _headerStyleClass;
+        else state.styleClass = _dataGridModel.getCssPolicy().getHeaderCellClass();
 
-        _dataGridModel.getTableRenderer().openHeaderCell(buf, styles);
+        if(_headerStyle != null)
+            state.style = _headerStyle;
+
+        _dataGridModel.getTableRenderer().openHeaderCell(state, appender);
     }
 
-    public void closeHeaderCell(StringBuffer buf)
+    public void closeHeaderCell(AbstractRenderAppender appender)
     {
-        _dataGridModel.getTableRenderer().closeHeaderCell(buf);
+        _dataGridModel.getTableRenderer().closeHeaderCell(appender);
     }
 
-    public void openDataCell(StringBuffer buf)
+    public void openDataCell(AbstractRenderAppender appender)
     {
-        _dataGridModel.getTableRenderer().openTableCell(buf);
+        TdTag.State state = new TdTag.State();
+        state.styleClass = _dataGridModel.getCssPolicy().getDataCellClass();
+
+        _dataGridModel.getTableRenderer().openTableCell(state, appender);
     }
 
-    public void closeDataCell(StringBuffer buf)
+    public void closeDataCell(AbstractRenderAppender appender)
     {
-        _dataGridModel.getTableRenderer().closeTableCell(buf);
+        _dataGridModel.getTableRenderer().closeTableCell(appender);
     }
 
-    protected void renderEmptyCell(StringBuffer buffer)
+    protected void renderEmptyCell(AbstractRenderAppender appender)
     {
-        buffer.append(EMPTY_CELL);
+        appender.append(EMPTY_CELL);
     }
 
     protected String createResourceUri(String resourceName)
@@ -169,15 +190,13 @@
             assert currentFormatter != null;
             try
             {
-                if(_logger.isDebugEnabled()) _logger.debug("run formatter of type \"" + currentFormatter.getClass().getName() + "\"");
-
                 text = currentFormatter.format(text);
             }
             catch (JspException e)
             {
-                // todo: need a way to register errors in the datagridmodel so that they can be reported back to the
-                // rendering engine
-                if(_logger.isErrorEnabled()) _logger.error("A formatter of type \"" + currentFormatter.getClass().getName() + "\" threw an exception " + e, e);
+                // todo: need a way to register errors in the datagridmodel so that they can be reported back to the rendering engine
+                if(_logger.isErrorEnabled())
+                    _logger.error("A formatter of type \"" + currentFormatter.getClass().getName() + "\" threw an exception " + e, e);
             }
         }
 

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java	Fri Nov  5 09:27:31 2004
@@ -19,6 +19,8 @@
 
 import java.util.*;
 import javax.servlet.jsp.JspContext;
+import javax.servlet.jsp.PageContext;
+import javax.servlet.http.HttpServletRequest;
 
 import org.apache.beehive.netui.databinding.datagrid.rendering.TableRenderer;
 import org.apache.beehive.netui.databinding.datagrid.services.FilterService;
@@ -28,6 +30,9 @@
 import org.apache.beehive.netui.databinding.datagrid.rendering.IPagerRenderer;
 import org.apache.beehive.netui.databinding.datagrid.rendering.impl.PreviousNextPagerRenderer;
 import org.apache.beehive.netui.util.logging.Logger;
+import org.apache.beehive.netui.tags.rendering.TableTag;
+import org.apache.beehive.netui.tags.rendering.TrTag;
+import org.apache.beehive.netui.tags.rendering.AbstractRenderAppender;
 
 /**
  *
@@ -37,21 +42,15 @@
     private static final Logger _logger = Logger.getInstance(DataGridModel.class);
 
     private String _name = null;
-
     private ArrayList _columns = null;
     private Iterator _columnIterator = null;
-
     private StylePolicy _cssPolicy = null;
     private SortService _sortService = null;
     private FilterService _filterService = null;
     private PagerService _pagerService = null;
-
     private IPagerRenderer _pagerRenderer = null;
-
     private PagerModel _pagerModel = null;
-    
-    private JspContext _jspContext;
-
+    private JspContext _jspContext = null;
     private PagedDataSet _dataSet = null;
     private TableRenderer _tableRenderer = null;
 
@@ -66,40 +65,29 @@
 
     public void initialize()
     {
-        if(_logger.isDebugEnabled()) _logger.debug("evaluate data source: " + _dataSet.getDataSourceRef());
+        HttpServletRequest request = (HttpServletRequest)((PageContext)_jspContext).getRequest();
 
         int lastPage = (int)Math.ceil((float)_dataSet.getSize()/(float)_pagerModel.getPageSize());
+        assert lastPage >= 0;
         int startRenderWindow = (_pagerModel.getCurrentPage()-1)*_pagerModel.getPageSize();
         int endRenderWindow =
                 _pagerModel.getCurrentPage() != lastPage ?
                 startRenderWindow+ _pagerModel.getPageSize() :
                 _dataSet.getSize();
 
-        if(_logger.isDebugEnabled())
-            _logger.debug("start: " + startRenderWindow + " end: " + endRenderWindow +
-                          " lastPage: " + lastPage + " pageSize: " + _pagerModel.getPageSize() +
-                          " dataSetSize: " + _dataSet.getSize());
-
         assert startRenderWindow <= endRenderWindow;
 
-        if(_logger.isDebugEnabled())
-        {
-            _logger.debug("start render window: " + startRenderWindow);
-            _logger.debug("end render window: " + endRenderWindow);
-            _logger.debug("last page: " + lastPage);
-        }
-
         // set the calculated render window on the data set
         _dataSet.createWindow(startRenderWindow, endRenderWindow);
         _pagerModel.initialize();
-        _tableRenderer = new TableRenderer(_cssPolicy);
+        _tableRenderer = new TableRenderer(request);
     }
     
     public void uninitialize()
     {
     }
 
-    public void addColumn(ColumnModel column)
+    public void addColumn(AbstractColumnModel column)
     {
         if(_columns == null)
             _columns = new ArrayList();
@@ -108,95 +96,118 @@
         _columns.add(column);
     }
 
-    public void renderPager(StringBuffer buf)
+    public void renderPager(AbstractRenderAppender appender)
     {
         // todo: should this be an assert or should it just return null?
         if(_pagerRenderer == null)
             _pagerRenderer = new PreviousNextPagerRenderer(this, _pagerModel);
 
-        buf.append(_pagerRenderer.render());
+        appender.append(_pagerRenderer.render());
     }
 
-    public void openTable(StringBuffer buf)
+    public void openTable(AbstractRenderAppender appender)
     {
-        _tableRenderer.openTable(buf);
+        TableTag.State state = new TableTag.State();
+        state.styleClass = _cssPolicy.getTableClass();
+        _tableRenderer.openTable(state, appender);
     }
 
-    public void closeTable(StringBuffer buf)
+    public void closeTable(AbstractRenderAppender appender)
     {
-        _tableRenderer.closeTable(buf);
+        _tableRenderer.closeTable(appender);
+        appender.append("\n");
     }
 
-    public void openCaption(StringBuffer buf)
+    public void openCaption(AbstractRenderAppender appender)
     {
-        _tableRenderer.openCaption(buf);
+        _tableRenderer.openCaption(appender);
     }
 
-    public void closeCaption(StringBuffer buf)
+    public void closeCaption(AbstractRenderAppender appender)
     {
-        _tableRenderer.closeCaption(buf);
+        _tableRenderer.closeCaption(appender);
     }
 
-    public final void openHeaderRow(StringBuffer buf)
+    public final void openHeaderRow(AbstractRenderAppender appender)
     {
-        _tableRenderer.openHeaderRow(buf);
+        TrTag.State state = new TrTag.State();
+        state.styleClass = _cssPolicy.getHeaderRowClass();
+
+        _tableRenderer.openHeaderRow(state, appender);
     }
 
-    public void closeHeaderRow(StringBuffer buf)
+    public void closeHeaderRow(AbstractRenderAppender appender)
     {
-        _tableRenderer.closeHeaderRow(buf);
+        _tableRenderer.closeHeaderRow(appender);
     }
 
-    public void openDataRow(StringBuffer buf)
+    public void openDataRow(AbstractRenderAppender appender)
     {
-        _tableRenderer.openTableRow(buf, getCurrentIndex());
+        TrTag.State state = new TrTag.State();
+        int index = getCurrentIndex();
+        if(index % 2 == 0)
+            state.styleClass = _cssPolicy.getRowClass();
+        else state.styleClass = _cssPolicy.getAltRowClass();
+
+        _tableRenderer.openTableRow(state, appender);
     }
 
-    public void closeDataRow(StringBuffer buf)
+    public void closeDataRow(AbstractRenderAppender appender)
     {
-        _tableRenderer.closeTableRow(buf);
+        _tableRenderer.closeTableRow(appender);
     }
 
-    public void openFooterRow(StringBuffer buf)
+    public void openFooterRow(AbstractRenderAppender appender)
     {
-        _tableRenderer.openFooterRow(buf);
+        TrTag.State state = new TrTag.State();
+        state.styleClass = _cssPolicy.getFooterRowClass();
+
+        _tableRenderer.openFooterRow(state, appender);
     }
 
-    public void closeFooterRow(StringBuffer buf)
+    public void closeFooterRow(AbstractRenderAppender appender)
     {
-        _tableRenderer.closeFooterRow(buf);
+        _tableRenderer.closeFooterRow(appender);
     }
 
-    public void setDataSet(PagedDataSet dataSet) {_dataSet = dataSet;}
-    public PagedDataSet getDataSet() {return _dataSet;}
+    public void setDataSet(PagedDataSet dataSet) {
+        _dataSet = dataSet;
+    }
 
-    public PagerModel getPagerModel()
-    {
+    public PagedDataSet getDataSet() {
+        return _dataSet;
+    }
+
+    public PagerModel getPagerModel(){
         return _pagerModel;
     }
 
-    public void setPagerService(PagerService pagerService) {_pagerService = pagerService;}
-    public PagerService getPagerService()
-    {
+    public void setPagerService(PagerService pagerService) {
+        _pagerService = pagerService;
+    }
+
+    public PagerService getPagerService() {
         if(_pagerService == null)
             _pagerService = PagerService.getInstance(_jspContext, _name);
 
         return _pagerService;
     }
 
-    public void setPagerRenderer(IPagerRenderer pagerRenderer)
-    {
+    public void setPagerRenderer(IPagerRenderer pagerRenderer) {
         _pagerRenderer = pagerRenderer;
     }
 
-    public IPagerRenderer getPagerRenderer()
-    {
+    public IPagerRenderer getPagerRenderer() {
         return _pagerRenderer;
     }
 
-    public String getName() {return _name;}
+    public String getName() {
+        return _name;
+    }
 
-    public JspContext getJspContext() {return _jspContext;}
+    public JspContext getJspContext() {
+        return _jspContext;
+    }
 
     public List getColumns()
     {
@@ -205,22 +216,31 @@
         else return Collections.EMPTY_LIST;
     }
 
-    public ColumnModel getColumn(int index)
+    public AbstractColumnModel getColumn(int index)
     {
         assert _columns != null;
         assert index < _columns.size();
 
-        ColumnModel cm = (ColumnModel)_columns.get(index);
+        AbstractColumnModel cm = (AbstractColumnModel)_columns.get(index);
 
         return cm;
     }
 
-    public void setCssPolicy(StylePolicy cssPolicy) {_cssPolicy = cssPolicy;}
-    public StylePolicy getCssPolicy() {return _cssPolicy;}
+    public void setCssPolicy(StylePolicy cssPolicy) {
+        _cssPolicy = cssPolicy;
+    }
+
+    public StylePolicy getCssPolicy() {
+        return _cssPolicy;
+    }
 
-    public int getDataSetSize() {return _dataSet.getSize();}
+    public int getDataSetSize() {
+        return _dataSet.getSize();
+    }
 
-    public TableRenderer getTableRenderer() {return _tableRenderer;}
+    public TableRenderer getTableRenderer() {
+        return _tableRenderer;
+    }
 
     /* ===========================================================
      *
@@ -255,13 +275,13 @@
         return hasNext;
     }
 
-    public ColumnModel getNextColumnModel()
+    public AbstractColumnModel getNextColumnModel()
     {
         if(_columnIterator == null)
             resetColumnIterator();
 
         if(_columnIterator.hasNext())
-            return (ColumnModel)_columnIterator.next();
+            return (AbstractColumnModel)_columnIterator.next();
         else throw new NoSuchElementException("There are no more ColumnModel objects available in this iterator");
     }
 

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/StylePolicy.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/StylePolicy.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/StylePolicy.java	Fri Nov  5 09:27:31 2004
@@ -26,9 +26,6 @@
 {
     private static final Logger _logger = Logger.getInstance(StylePolicy.class);
 
-    // todo: is this the correct delimiter relative to the CSS spec?
-    private static final String DELIM = "-";
-
     public static final int TABLE_CLASS = 1;
     public static final int HEADER_ROW_CLASS = 2;
     public static final int FOOTER_ROW_CLASS = 3;
@@ -39,15 +36,27 @@
     public static final int FOOTER_CELL_CLASS = 8;
     public static final int HEADER_CELL_SORTED_CLASS = 9;
 
-    private String _prefix = null;
-    
-    public StylePolicy(String prefix)
+    // todo: is this the correct delimiter relative to the CSS spec?
+    protected static final String DELIM = "-";
+
+    private String _stylePrefix = null;
+
+    public StylePolicy()
     {
         super();
-        
-        _prefix = prefix;
     }
-    
+
+    public StylePolicy(String stylePrefix)
+    {
+        this();
+        _stylePrefix = stylePrefix;
+    }
+
+    public String getStylePrefix()
+    {
+        return _stylePrefix;
+    }
+
     public abstract String getTableClass();
     public abstract String getHeaderRowClass();
     public abstract String getFooterRowClass();
@@ -58,34 +67,9 @@
     public abstract String getFooterCellClass();
     public abstract String getHeaderCellSortedClass();
 
-    public void writeStyleClass(StringBuffer buf, int[] cssClassTypes)
-    {
-        assert cssClassTypes != null;
-
-        buf.append(" class=\"");
-        for(int i = 0; i < cssClassTypes.length; i++)
-        {
-            if(i > 0) buf.append(" ");
-
-            String className = getClassForType(cssClassTypes[i]);
-            if(_prefix != null)
-            {
-                buf.append(_prefix);
-                buf.append(DELIM);
-            }
-            buf.append(className);
-        }
-        buf.append("\"");
-    }
-    
-    public void writeStyleClass(StringBuffer buf, int cssClassType)
-    {
-        writeStyleClass(buf, getClassForType(cssClassType));
-    }
-
-    protected String getClassForType(int cssClassType)
+    public String getClassForType(int cssClassType)
     {
-        switch(cssClassType) 
+        switch(cssClassType)
         {
         case TABLE_CLASS: return getTableClass();
         case HEADER_ROW_CLASS: return getHeaderRowClass();
@@ -98,25 +82,9 @@
         case HEADER_CELL_SORTED_CLASS: return getHeaderCellSortedClass();
         default:
             {
-                if(_logger.isDebugEnabled()) _logger.debug("Unable to file style class for class type \"" + cssClassType + "\"."); 
+                if(_logger.isDebugEnabled()) _logger.debug("Unable to file style class for class type \"" + cssClassType + "\".");
                 return "";
             }
         }
-    }
-
-    // todo: should the styleClass be an int that selects which style to use from a switch or something?
-    private void writeStyleClass(StringBuffer buf, String cssClass)
-    {
-        if(cssClass.equals(""))
-            return;
-            
-        buf.append(" class=\"");
-        if(_prefix != null)
-        {
-            buf.append(_prefix);
-            buf.append(DELIM);
-        }
-        buf.append(cssClass);
-        buf.append("\"");
     }
 }

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/AbstractHtmlColumnModel.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/AbstractHtmlColumnModel.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/AbstractHtmlColumnModel.java	Fri Nov  5 09:27:31 2004
@@ -17,21 +17,21 @@
  */
 package org.apache.beehive.netui.databinding.datagrid.model.impl;
 
-import org.apache.beehive.netui.databinding.datagrid.model.ColumnModel;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.jsp.PageContext;
+
+import org.apache.beehive.netui.databinding.datagrid.model.AbstractColumnModel;
 import org.apache.beehive.netui.databinding.datagrid.util.JspUtil;
 import org.apache.beehive.netui.tags.rendering.AbstractHtmlState;
 import org.apache.beehive.netui.tags.html.HtmlConstants;
 import org.apache.beehive.netui.tags.IAttributeConsumer;
 import org.apache.beehive.netui.util.Bundle;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.jsp.PageContext;
-
 /**
  * todo: need to do error reporting from the model back to the JSP tags
  */
 public abstract class AbstractHtmlColumnModel
-    extends ColumnModel
+    extends AbstractColumnModel
     implements IAttributeConsumer
 {
     private HttpServletRequest _request = null;
@@ -81,7 +81,9 @@
     }
 
     public void setTitle(String title)
-    {getHtmlState().registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.TITLE,  title);}
+    {
+        getHtmlState().registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.TITLE, title);
+    }
 
     /**
      * Base support for the <code>attribute</code> tag.  This requires that the tag buffer their body and

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/AnchorColumnModel.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/AnchorColumnModel.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/AnchorColumnModel.java	Fri Nov  5 09:27:31 2004
@@ -59,9 +59,17 @@
             _params.clear();
     }
 
-    public void setAction(String action) {_action = action;}
-    public void setScopeId(String scopeId) {_scopeId = scopeId;}
-    public void setHref(String href) {_href = href;}
+    public void setAction(String action) {
+        _action = action;
+    }
+
+    public void setScopeId(String scopeId) {
+        _scopeId = scopeId;
+    }
+
+    public void setHref(String href) {
+        _href = href;
+    }
 
     public void addParameter(String name, Object value)
     {
@@ -71,7 +79,7 @@
         ParamHelper.addParam(_params,name,value);
     }
 
-    public void renderDataCell(StringBuffer buffer)
+    public void renderDataCell(AbstractRenderAppender appender)
     {
         DataGridModel dgm = getDataGridModel();
         assert dgm != null;
@@ -93,15 +101,11 @@
         TagRenderingBase trb = TagRenderingBase.Factory.getRendering(TagRenderingBase.ANCHOR_TAG, getHttpServletRequest());
         TagRenderingBase span = TagRenderingBase.Factory.getRendering(TagRenderingBase.SPAN_TAG, getHttpServletRequest());
 
-        StringBuilder sb = new StringBuilder();
-        StringBuilderRenderAppender writer = new StringBuilderRenderAppender(sb);
-        trb.doStartTag(writer, _anchorState);
-        span.doStartTag(writer, spanState);
-        sb.append(getValue());
-        span.doEndTag(writer);
-        trb.doEndTag(writer);
-
-        buffer.append(sb.toString());
+        trb.doStartTag(appender, _anchorState);
+        span.doStartTag(appender, spanState);
+        appender.append(getValue());
+        span.doEndTag(appender);
+        trb.doEndTag(appender);
     }
 
     protected AbstractHtmlState getHtmlState()

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/DefaultFilter.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/DefaultFilter.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/DefaultFilter.java	Fri Nov  5 09:27:31 2004
@@ -108,7 +108,7 @@
     public String write(String namespace)
     {
         assert namespace != null;
-        StringBuffer buf = new StringBuffer();
+        StringBuilder buf = new StringBuilder();
         buf.append(namespace);
         buf.append(FILTER_DELIM);
         buf.append(getFilterExpression());

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/DefaultSort.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/DefaultSort.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/DefaultSort.java	Fri Nov  5 09:27:31 2004
@@ -54,7 +54,7 @@
         if(flipDirection)
             direction = flipSortDirection(direction);
 
-        StringBuffer buf = new StringBuffer();
+        StringBuilder buf = new StringBuilder();
         buf.append(namespace);
         buf.append("~");
         if(direction == ISort.DESCENDING)
@@ -65,7 +65,7 @@
     
     public String toString()
     {
-        StringBuffer buf = new StringBuffer();
+        StringBuilder buf = new StringBuilder();
         buf.append("\nexpr: " + _expr + "\n");
         buf.append("dir: " + _dir + "\n");
         return buf.toString();

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/DefaultStylePolicy.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/DefaultStylePolicy.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/DefaultStylePolicy.java	Fri Nov  5 09:27:31 2004
@@ -24,24 +24,61 @@
  */
 public class DefaultStylePolicy
     extends StylePolicy
-{
-    public DefaultStylePolicy()
     {
+    public DefaultStylePolicy() {
         this(null);
     }
 
-    public DefaultStylePolicy(String prefix)
-    {
+    public DefaultStylePolicy(String prefix) {
         super(prefix);
     }
-    
-    public String getTableClass() {return "datagrid";}
-    public String getHeaderRowClass() {return "datagrid-header";}
-    public String getFooterRowClass() {return "datagrid-footer";}
-    public String getRowClass() {return "datagrid-even";}
-    public String getAltRowClass() {return "datagrid-odd";}
-    public String getDataCellClass() {return "datagrid-data-cell";}
-    public String getHeaderCellClass() {return "datagrid-header-cell";}
-    public String getFooterCellClass() {return "datagrid-footer-cell";}
-    public String getHeaderCellSortedClass() {return "datagrid-header-sorted";}
+
+    public String getTableClass() {
+        return prefix("datagrid");
+    }
+
+    public String getHeaderRowClass() {
+        return prefix("datagrid-header");
+    }
+
+    public String getFooterRowClass() {
+        return prefix("datagrid-footer");
+    }
+
+    public String getRowClass() {
+        return prefix("datagrid-even");
+    }
+
+    public String getAltRowClass() {
+        return prefix("datagrid-odd");
+    }
+
+    public String getDataCellClass() {
+        return prefix("datagrid-data-cell");
+    }
+
+    public String getHeaderCellClass() {
+        return prefix("datagrid-header-cell");
+    }
+
+    public String getFooterCellClass() {
+        return prefix("datagrid-footer-cell");
+    }
+
+    public String getHeaderCellSortedClass() {
+        return prefix("datagrid-header-sorted");
+    }
+
+    // @todo: could cache the style names once they've been produced
+    private final String prefix(String styleBase) {
+        String prefix = getStylePrefix();
+        StringBuilder sb = new StringBuilder();
+        if (prefix != null) {
+            sb.append(prefix);
+            sb.append(DELIM);
+        }
+        sb.append(styleBase);
+
+        return sb.toString();
+    }
 }

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/EmptyStylePolicy.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/EmptyStylePolicy.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/EmptyStylePolicy.java	Fri Nov  5 09:27:31 2004
@@ -26,8 +26,6 @@
 public class EmptyStylePolicy
     extends StylePolicy
 {
-    private static final Logger _logger = Logger.getInstance(EmptyStylePolicy.class);
-
     public EmptyStylePolicy()
     {
         this(null);
@@ -47,14 +45,4 @@
     public String getHeaderCellClass() {return null;}
     public String getFooterCellClass() {return null;}
     public String getHeaderCellSortedClass() {return null;}
-
-    public void writeStyleClass(StringBuffer buf, int[] cssClassTypes)
-    {
-        return;
-    }
-
-    public void writeStyleClass(StringBuffer buf, int cssClassType)
-    {
-        return;
-    }
 }

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/ImageColumnModel.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/ImageColumnModel.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/ImageColumnModel.java	Fri Nov  5 09:27:31 2004
@@ -17,11 +17,10 @@
  */
 package org.apache.beehive.netui.databinding.datagrid.model.impl;
 
-import org.apache.beehive.netui.util.logging.Logger;
 import org.apache.beehive.netui.tags.rendering.TagRenderingBase;
 import org.apache.beehive.netui.tags.rendering.ImageTag;
 import org.apache.beehive.netui.tags.rendering.AbstractHtmlState;
-import org.apache.beehive.netui.tags.rendering.StringBuilderRenderAppender;
+import org.apache.beehive.netui.tags.rendering.AbstractRenderAppender;
 import org.apache.beehive.netui.tags.html.HtmlConstants;
 
 /**
@@ -30,8 +29,6 @@
 public class ImageColumnModel
     extends AbstractHtmlColumnModel
 {
-    private static final Logger _logger = Logger.getInstance(ImageColumnModel.class);
-
     private ImageTag.State _imageState = null;
 
     public void startCell()
@@ -46,50 +43,68 @@
         _imageState = null;
     }
 
-    public String getSrc() {return _imageState.src;}
-    public void setSrc(String src) {_imageState.src = src;}
+    public String getSrc() {
+        return _imageState.src;
+    }
 
-    public String getAlign()
-    {return (String)_imageState.getAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.ALIGN);}
+    public void setSrc(String src) {
+        _imageState.src = src;
+    }
+
+    public String getAlign() {
+        return (String)_imageState.getAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.ALIGN);
+    }
 
     public void setAlign(String align)
-    {_imageState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.ALIGN, align);}
+    {
+        _imageState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.ALIGN, align);
+    }
 
-    public String getHspace()
-    {return (String)_imageState.getAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.HSPACE);}
+    public String getHspace() {
+        return (String)_imageState.getAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.HSPACE);
+    }
     public void setHspace(String hspace)
-    {_imageState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.ALIGN, hspace);}
+    {
+        _imageState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.ALIGN, hspace);
+    }
 
-    public String getVspace()
-    {return _imageState.getAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.VSPACE);}
-    public void setVspace(String vspace)
-    {_imageState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.VSPACE, vspace);}
-
-    public String getBorder()
-    {return _imageState.getAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.BORDER);}
-    public void setBorder(String border)
-    {_imageState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.BORDER, border);}
-
-    public String getHeight()
-    {return _imageState.getAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.HEIGHT);}
-    public void setHeight(String height)
-    {_imageState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.HEIGHT, height);}
-
-    public String getWidth()
-    {return _imageState.getAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.WIDTH);}
-    public void setWidth(String width)
-    {_imageState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.WIDTH, width);}
+    public String getVspace() {
+        return _imageState.getAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.VSPACE);
+    }
 
-    public void renderDataCell(StringBuffer buffer)
-    {
-        StringBuilder sb = new StringBuilder();
+    public void setVspace(String vspace) {
+        _imageState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.VSPACE, vspace);
+    }
 
-        StringBuilderRenderAppender writer = new StringBuilderRenderAppender(sb);
-        TagRenderingBase br = TagRenderingBase.Factory.getRendering(TagRenderingBase.IMAGE_TAG, getHttpServletRequest());
-        br.doStartTag(writer, _imageState);
-        br.doEndTag(writer);
+    public String getBorder() {
+        return _imageState.getAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.BORDER);
+    }
+
+    public void setBorder(String border) {
+        _imageState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.BORDER, border);
+    }
+
+    public String getHeight() {
+        return _imageState.getAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.HEIGHT);
+    }
+
+    public void setHeight(String height) {
+        _imageState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.HEIGHT, height);
+    }
 
-        buffer.append(sb.toString());
+    public String getWidth() {
+        return _imageState.getAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.WIDTH);
+    }
+
+    public void setWidth(String width) {
+        _imageState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.WIDTH, width);
+    }
+
+    public void renderDataCell(AbstractRenderAppender appender)
+    {
+        TagRenderingBase br = TagRenderingBase.Factory.getRendering(TagRenderingBase.IMAGE_TAG, getHttpServletRequest());
+        br.doStartTag(appender, _imageState);
+        br.doEndTag(appender);
     }
 
     protected AbstractHtmlState getHtmlState()

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/LiteralColumnModel.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/LiteralColumnModel.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/impl/LiteralColumnModel.java	Fri Nov  5 09:27:31 2004
@@ -20,7 +20,7 @@
 import org.apache.beehive.netui.tags.rendering.AbstractHtmlState;
 import org.apache.beehive.netui.tags.rendering.SpanTag;
 import org.apache.beehive.netui.tags.rendering.TagRenderingBase;
-import org.apache.beehive.netui.tags.rendering.StringBuilderRenderAppender;
+import org.apache.beehive.netui.tags.rendering.AbstractRenderAppender;
 
 public class LiteralColumnModel
     extends AbstractHtmlColumnModel
@@ -36,18 +36,15 @@
         _state = new SpanTag.State();
     }
 
-    public void renderDataCell(StringBuffer buffer)
+    public void renderDataCell(AbstractRenderAppender appender)
     {
         TagRenderingBase span = TagRenderingBase.Factory.getRendering(TagRenderingBase.SPAN_TAG, getHttpServletRequest());
 
         String formatted = formatText(_value);
 
-        StringBuilder sb = new StringBuilder();
-        StringBuilderRenderAppender writer = new StringBuilderRenderAppender(sb);
-        span.doStartTag(writer, _state);
-        sb.append(formatted);
-        span.doEndTag(writer);
-        buffer.append(sb.toString());
+        span.doStartTag(appender, _state);
+        appender.append(formatted);
+        span.doEndTag(appender);
     }
 
     protected AbstractHtmlState getHtmlState()

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/TableRenderer.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/TableRenderer.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/TableRenderer.java	Fri Nov  5 09:27:31 2004
@@ -17,101 +17,124 @@
  */
 package org.apache.beehive.netui.databinding.datagrid.rendering;
 
-import org.apache.beehive.netui.databinding.datagrid.model.StylePolicy;
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.beehive.netui.tags.rendering.TableTag;
+import org.apache.beehive.netui.tags.rendering.TagRenderingBase;
+import org.apache.beehive.netui.tags.rendering.TrTag;
+import org.apache.beehive.netui.tags.rendering.TdTag;
+import org.apache.beehive.netui.tags.rendering.ThTag;
+import org.apache.beehive.netui.tags.rendering.CaptionTag;
+import org.apache.beehive.netui.tags.rendering.THeadTag;
+import org.apache.beehive.netui.tags.rendering.AbstractRenderAppender;
+import org.apache.beehive.netui.tags.rendering.StringBuilderRenderAppender;
 
 public class TableRenderer
 {
-    private StylePolicy _stylePolicy = null;
+    private static final CaptionTag.State CAPTION_STATE = new CaptionTag.State();
+    private static final THeadTag.State THEAD_STATE = new THeadTag.State();
+
+    private TagRenderingBase _tableRenderer = null;
+    private TagRenderingBase _captionRenderer = null;
+    private TagRenderingBase _theadRenderer = null;
+    private TagRenderingBase _trRenderer = null;
+    private TagRenderingBase _tdRenderer = null;
+    private TagRenderingBase _thRenderer = null;
 
-    public TableRenderer(StylePolicy stylePolicy)
+    public TableRenderer(HttpServletRequest request)
     {
-        _stylePolicy = stylePolicy;
+        super();
+        _tableRenderer = TagRenderingBase.Factory.getRendering(TagRenderingBase.TABLE_TAG, request);
+        _captionRenderer = TagRenderingBase.Factory.getRendering(TagRenderingBase.CAPTION_TAG, request);
+        _theadRenderer = TagRenderingBase.Factory.getRendering(TagRenderingBase.THEAD_TAG, request);
+        _trRenderer = TagRenderingBase.Factory.getRendering(TagRenderingBase.TR_TAG, request);
+        _thRenderer = TagRenderingBase.Factory.getRendering(TagRenderingBase.TH_TAG, request);
+        _tdRenderer = TagRenderingBase.Factory.getRendering(TagRenderingBase.TD_TAG, request);
     }
 
-    public void openTable(StringBuffer buf)
+    public void openTable(TableTag.State state, AbstractRenderAppender appender)
     {
-        buf.append("\n<table");
-        _stylePolicy.writeStyleClass(buf, StylePolicy.TABLE_CLASS);
-        buf.append(">\n");
+        appender.append("\n");
+        _tableRenderer.doStartTag(appender, state);
+        appender.append("\n");
     }
 
-    public void closeTable(StringBuffer buf)
+    public void closeTable(AbstractRenderAppender appender)
     {
-        buf.append("</table>\n");
+        _tableRenderer.doEndTag(appender);
+        appender.append("\n");
     }
 
-    public void openCaption(StringBuffer buf)
+    public void openCaption(AbstractRenderAppender appender)
     {
-        buf.append("<caption>\n");
+        appender.append("\n");
+        _captionRenderer.doStartTag(appender, CAPTION_STATE);
     }
 
-    public void closeCaption(StringBuffer buf)
+    public void closeCaption(AbstractRenderAppender appender)
     {
-        buf.append("\n</caption>\n");
+        _captionRenderer.doEndTag(appender);
+        appender.append("\n");
     }
 
-    public final void openHeaderRow(StringBuffer buf)
+    public final void openHeaderRow(TrTag.State state, AbstractRenderAppender appender)
     {
-        buf.append("\n<thead>");
-        buf.append("\n<tr");
-        _stylePolicy.writeStyleClass(buf, StylePolicy.HEADER_ROW_CLASS);
-        buf.append(">");
+        appender.append("\n");
+        _theadRenderer.doStartTag(appender, THEAD_STATE);
+        appender.append("\n");
+        _trRenderer.doStartTag(appender, state);
     }
 
-    public void closeHeaderRow(StringBuffer buf)
+    public void closeHeaderRow(AbstractRenderAppender appender)
     {
-        buf.append("</tr>\n");
-        buf.append("</thead>\n");
+        appender.append("\n");
+        _trRenderer.doEndTag(appender);
+        _theadRenderer.doEndTag(appender);
+        appender.append("\n");
     }
 
-    public void openTableRow(StringBuffer buf, int rowIndex)
+    public void openTableRow(TrTag.State state, AbstractRenderAppender appender)
     {
-        // render the row against the current data item
-        buf.append("\n<tr");
-        if(rowIndex % 2 == 0)
-            _stylePolicy.writeStyleClass(buf, StylePolicy.ROW_CLASS);
-        else _stylePolicy.writeStyleClass(buf, StylePolicy.ALT_ROW_CLASS);
-        buf.append(">");
+        appender.append("\n");
+        _trRenderer.doStartTag(appender, state);
     }
 
-    public void closeTableRow(StringBuffer buf)
+    public void closeTableRow(AbstractRenderAppender appender)
     {
-        buf.append("</tr>");
+        appender.append("\n");
+        _trRenderer.doEndTag(appender);
     }
 
-    public void openFooterRow(StringBuffer buf)
+    public void openFooterRow(TrTag.State state, AbstractRenderAppender appender)
     {
-        buf.append("\n<tr");
-        _stylePolicy.writeStyleClass(buf, StylePolicy.FOOTER_ROW_CLASS);        
-        buf.append(">");
+        appender.append("\n");
+        _trRenderer.doStartTag(appender, state);
     }
 
-    public void closeFooterRow(StringBuffer buf)
+    public void closeFooterRow(AbstractRenderAppender appender)
     {
-        buf.append("\n</tr>");
+        appender.append("\n");
+        _trRenderer.doEndTag(appender);
     }
 
-    public void openHeaderCell(StringBuffer buf, int[] styleClasses)
+    public void openHeaderCell(ThTag.State state, AbstractRenderAppender appender)
     {
-        buf.append("<th");
-        _stylePolicy.writeStyleClass(buf, styleClasses);
-        buf.append(">");
+        _thRenderer.doStartTag(appender, state);
     }
 
-    public void closeHeaderCell(StringBuffer buf)
+    public void closeHeaderCell(AbstractRenderAppender appender)
     {
-        buf.append("</th>\n");
+        _thRenderer.doEndTag(appender);
+        appender.append("\n");
     }
 
-    public void openTableCell(StringBuffer buf)
+    public void openTableCell(TdTag.State state, AbstractRenderAppender appender)
     {
-        buf.append("<td");
-        _stylePolicy.writeStyleClass(buf, StylePolicy.DATA_CELL_CLASS);
-        buf.append(">");
+        _tdRenderer.doStartTag(appender, state);
     }
 
-    public void closeTableCell(StringBuffer buf)
+    public void closeTableCell(AbstractRenderAppender appender)
     {
-        buf.append("</td>");
+        _tdRenderer.doEndTag(appender);
     }
 }

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/FilterService.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/FilterService.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/FilterService.java	Fri Nov  5 09:27:31 2004
@@ -30,8 +30,7 @@
 import org.apache.beehive.netui.util.logging.Logger;
 
 /**
- * 8.1: _sort=<namespace>~<columnName>~<op>~<value>
- * 9.0: netui_sort=<namespace>~<filterExpr>~<op>~<value>
+ * Beehive: netui_sort=<namespace>~<filterExpr>~<op>~<value>
  */
 public class FilterService
 {
@@ -183,7 +182,7 @@
     
     public String toString()
     {
-        StringBuffer buf = new StringBuffer(256);
+        StringBuilder buf = new StringBuilder(256);
         
         return buf.toString();
     }
@@ -250,7 +249,7 @@
         // @todo: caching of the alt query string
         ensureFilterList();
         
-        StringBuffer buf = new StringBuffer();
+        StringBuilder buf = new StringBuilder();
         if(_filters != null) 
         {
             
@@ -473,7 +472,7 @@
         if(map.size() == 0)
             return "Map is empty";
 
-        StringBuffer buf = new StringBuffer();
+        StringBuilder buf = new StringBuilder();
         buf.append("Map:::::\n");
 
         Iterator iterator = map.keySet().iterator();

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/SortService.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/SortService.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/SortService.java	Fri Nov  5 09:27:31 2004
@@ -32,8 +32,7 @@
 import org.apache.beehive.netui.util.logging.Logger;
 
 /**
- * 8.1: _sort=<namespace>~[+|-]<expr>
- * 9.0: netui_sort=<namespace>~[+|-]<expr>
+ * Beehive: netui_sort=<namespace>~[+|-]<expr>
  *
  * todo: would be great to move the namespace name into the key for faster lookups
  * todo: figure out the back-compat story (a sad, long, and sordid one to be sure)
@@ -112,7 +111,7 @@
     {
         ensureSortList();
         
-        StringBuffer buf = new StringBuffer();
+        StringBuilder buf = new StringBuilder();
         if(_sorts != null)
         {
             for(int i = 0; i < _sorts.length; i++)
@@ -189,7 +188,7 @@
         assert sortExpression != null;
 
         int direction = DEFAULT_SORT_DIRECTION;
-        StringBuffer buf = new StringBuffer();
+        StringBuilder buf = new StringBuilder();
         ISort had = findTerm(sortExpression);
         if(had == null)
         {
@@ -297,7 +296,7 @@
 
     public String toString()
     {
-        StringBuffer buf = new StringBuffer(256);
+        StringBuilder buf = new StringBuilder(256);
         return buf.toString();
     }
 
@@ -410,7 +409,7 @@
         if(map.size() == 0)
             return "Map is empty";
 
-        StringBuffer buf = new StringBuffer();
+        StringBuilder buf = new StringBuilder();
         buf.append("Map:::::\n");
 
         Iterator iterator = map.keySet().iterator();

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractColumn.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractColumn.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractColumn.java	Fri Nov  5 09:27:31 2004
@@ -17,15 +17,15 @@
  */
 package org.apache.beehive.netui.tags.databinding.datagrid;
 
-import javax.servlet.jsp.tagext.SimpleTagSupport;
 import javax.servlet.jsp.tagext.JspTag;
 import javax.servlet.jsp.tagext.JspFragment;
 import javax.servlet.jsp.JspException;
 
-import org.apache.beehive.netui.databinding.datagrid.model.ColumnModel;
+import org.apache.beehive.netui.databinding.datagrid.model.AbstractColumnModel;
 
-import org.apache.beehive.netui.tags.AbstractClassicTag;
 import org.apache.beehive.netui.tags.AbstractSimpleTag;
+import org.apache.beehive.netui.tags.rendering.AbstractRenderAppender;
+import org.apache.beehive.netui.tags.rendering.StringBuilderRenderAppender;
 import org.apache.beehive.netui.tags.html.Formattable;
 import org.apache.beehive.netui.tags.html.FormatTag.Formatter;
 import org.apache.beehive.netui.util.logging.Logger;
@@ -50,12 +50,29 @@
     private String _sortExpression = null;
     private String _filterExpression = null;
     private String _headerText = null;
+    private String _headerStyle = null;
+    private String _headerStyleClass = null;
 
     /**
      * @netui:attribute required="false" rtexprvalue="true"
      */
     public void setHeaderText(String headerText) {_headerText = headerText;}
 
+    /**
+     * @netui:attribute required="false" rtexprvalue="true"
+     */
+    public void setHeaderStyle(String headerStyle) {_headerStyle = headerStyle;}
+
+    /**
+     * @netui:attribute required="false" rtexprvalue="true"
+     */
+    public void setHeaderStyleClass(String headerStyleClass) {_headerStyleClass = headerStyleClass;}
+
+    /**
+     *
+     * @throws JspException
+     * @throws IOException
+     */
     public void doTag()
         throws JspException, IOException
     {
@@ -65,13 +82,10 @@
 
         int gridRenderState = getDataGridTag().getRenderState();
 
-        if(_logger.isDebugEnabled())
-            _logger.debug("start tag.  grid render state: " + gridRenderState);
-
-        // when starting to render, the ColumnModel associated with this tag needs to be created
+        // when starting to render, the AbstractColumnModel associated with this tag needs to be created
         if(gridRenderState == DataGrid.START_RENDER_STATE)
         {
-            ColumnModel cm = createColumnModel();
+            AbstractColumnModel cm = createColumnModel();
 
             assert cm != null : "Column type " + getClass().getName() + " created a null ColumnModel";
 
@@ -85,11 +99,11 @@
         {
             int columnsRenderState = getColumnsTag().getRenderState();
 
-            assert columnsRenderState == ColumnModel.DATA_RENDER_STATE ||
-                   columnsRenderState == ColumnModel.HEADER_RENDER_STATE;
+            assert columnsRenderState == AbstractColumnModel.DATA_RENDER_STATE ||
+                   columnsRenderState == AbstractColumnModel.HEADER_RENDER_STATE;
 
             getColumnsTag().loadNextColumn();
-            ColumnModel cm = getColumnModel();
+            AbstractColumnModel cm = getColumnModel();
 
             assert cm != null : "The ColumnModel received by the grid column was null";
 
@@ -107,8 +121,9 @@
 
             cm.setRenderState(columnsRenderState);
 
-            StringBuffer buf = new StringBuffer();
             int renderState = getColumnsTag().getRenderState();
+            StringBuilder content = new StringBuilder();
+            AbstractRenderAppender appender = new StringBuilderRenderAppender(content);
 
             // todo: need to assert that the identityHashCode of 'cm' is well-known
 
@@ -135,31 +150,31 @@
             // case there are cooperating tags that need to be applied as attributes
             applyAttributes();
 
-            if (renderState == ColumnModel.HEADER_RENDER_STATE)
+            if (renderState == AbstractColumnModel.HEADER_RENDER_STATE)
             {
                 if (_logger.isDebugEnabled()) _logger.debug("render a column's header cell");
 
-                cm.openHeaderCell(buf);
+                cm.openHeaderCell(appender);
                 if(_headerText != null)
-                    cm.renderHeader(buf);
+                    cm.renderHeader(appender);
                 else if(bodyContent != null)
-                    buf.append(bodyContent);
-                cm.closeHeaderCell(buf);
+                    appender.append(bodyContent);
+                cm.closeHeaderCell(appender);
             }
-            else if (renderState == ColumnModel.DATA_RENDER_STATE)
+            else if (renderState == AbstractColumnModel.DATA_RENDER_STATE)
             {
                 if (_logger.isDebugEnabled()) _logger.debug("render a column's data cell");
 
-                cm.openDataCell(buf);
-                cm.renderDataCell(buf);
-                cm.closeDataCell(buf);
+                cm.openDataCell(appender);
+                cm.renderDataCell(appender);
+                cm.closeDataCell(appender);
             }
 
-            if (buf != null && buf.length() > 0)
-                getJspContext().getOut().println(buf.toString());
+            if (content != null && content.length() > 0)
+                getJspContext().getOut().println(content.toString());
 
             cm.endCell();
-            cm.setRenderState(ColumnModel.NO_RENDER_STATE);
+            cm.setRenderState(AbstractColumnModel.NO_RENDER_STATE);
         }
 
         getColumnsTag().unloadColumn();
@@ -178,21 +193,28 @@
      */
     public void formatterHasError()
     {
-        // todo: need to implement this.
+        // todo: error reporting!
     }
 
-    public ColumnModel getColumnModel()
+    public AbstractColumnModel getColumnModel()
     {
-        return (ColumnModel)getJspContext().getAttribute(Columns.COLUMN_MODEL_KEY);
+        return (AbstractColumnModel)getJspContext().getAttribute(Columns.COLUMN_MODEL_KEY);
     }
 
-    protected abstract ColumnModel createColumnModel();
+    protected abstract AbstractColumnModel createColumnModel();
 
-    protected abstract void setColumnModel(ColumnModel model);
+    protected abstract void setColumnModel(AbstractColumnModel model);
 
     protected void applyAttributes()
         throws JspException
     {
+        AbstractColumnModel cm = getColumnModel();
+
+        if(_headerStyle != null)
+            cm.setHeaderStyle(_headerStyle);
+
+        if(_headerStyleClass != null)
+            cm.setHeaderStyleClass(_headerStyleClass);
     }
 
     protected Columns getColumnsTag()

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlColumn.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlColumn.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlColumn.java	Fri Nov  5 09:27:31 2004
@@ -230,6 +230,9 @@
     {
         assert getColumnModel() != null;
         assert getColumnModel() instanceof AbstractHtmlColumnModel;
+
+        super.applyAttributes();
+
         AbstractHtmlColumnModel htmlColumn = (AbstractHtmlColumnModel)getColumnModel();
 
         htmlColumn.setOnClick(_onClick);

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AnchorColumn.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AnchorColumn.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AnchorColumn.java	Fri Nov  5 09:27:31 2004
@@ -17,18 +17,13 @@
  */
 package org.apache.beehive.netui.tags.databinding.datagrid;
 
-// java imports
 import javax.servlet.jsp.JspException;
 
-// internal imports
-import org.apache.beehive.netui.databinding.datagrid.model.ColumnModel;
+import org.apache.beehive.netui.databinding.datagrid.model.AbstractColumnModel;
 import org.apache.beehive.netui.databinding.datagrid.model.impl.AnchorColumnModel;
-
 import org.apache.beehive.netui.tags.html.URLParams;
-
 import org.apache.beehive.netui.util.logging.Logger;
 
-// external imports
 
 /**
  * 
@@ -99,7 +94,7 @@
         _column.setValue(_value);
     }
 
-    protected void setColumnModel(ColumnModel column)
+    protected void setColumnModel(AbstractColumnModel column)
     {
         assert column != null : "Can't set a null ColumnModel";
         assert column instanceof AnchorColumnModel;
@@ -107,7 +102,7 @@
         _column = (AnchorColumnModel)column;
     }
 
-    protected ColumnModel createColumnModel()
+    protected AbstractColumnModel createColumnModel()
     {
         return new AnchorColumnModel();
     }

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Caption.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Caption.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Caption.java	Fri Nov  5 09:27:31 2004
@@ -35,8 +35,6 @@
 public class Caption
     extends AbstractSimpleTag
 {
-    private static final Logger _logger = Logger.getInstance(AnchorColumn.class);
-
     private DataGrid _dataGrid = null;
 
     public String getTagName()
@@ -47,7 +45,8 @@
     public void doTag()
         throws IOException, JspException
     {
-        if(getDataGrid().getRenderState() == DataGrid.CAPTION_RENDER_STATE)
+        DataGrid grid = getDataGrid();
+        if(grid.getRenderState() == DataGrid.CAPTION_RENDER_STATE)
         {
             JspFragment fragment = getJspBody();
             StringWriter sw = new StringWriter();

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Columns.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Columns.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/Columns.java	Fri Nov  5 09:27:31 2004
@@ -23,16 +23,21 @@
 import javax.servlet.jsp.tagext.JspFragment;
 import javax.servlet.jsp.tagext.JspTag;
 
-import org.apache.beehive.netui.databinding.datagrid.model.ColumnModel;
+import org.apache.beehive.netui.databinding.datagrid.model.AbstractColumnModel;
 import org.apache.beehive.netui.databinding.datagrid.model.DataGridModel;
 import org.apache.beehive.netui.tags.AbstractSimpleTag;
+import org.apache.beehive.netui.tags.rendering.StringBuilderRenderAppender;
+import org.apache.beehive.netui.tags.rendering.AbstractRenderAppender;
 import org.apache.beehive.netui.util.logging.Logger;
 
 /**
  *
- * @netui:tag name="columns" description="Container tag for columsn that will render in the grid" body-content="scriptless"
+ * @netui:tag name="columns"
+ *            description="Container tag for columsn that will render in the grid"
+ *            body-content="scriptless"
  * @netui.tldx:tag renderer="workshop.netui.jspdesigner.tldx.ColumnsRenderer" 
- *                 whitespace="indent" requiredparent="dataGrid"
+ *                 whitespace="indent"
+ *                 requiredparent="dataGrid"
  */
 public class Columns
     extends AbstractSimpleTag
@@ -41,7 +46,7 @@
 
     public static final String COLUMN_MODEL_KEY = "column";
 
-    private int _renderState = ColumnModel.NO_RENDER_STATE;
+    private int _renderState = AbstractColumnModel.NO_RENDER_STATE;
     private Boolean _sortable = null;
     private Boolean _filterable = null;
     private String _sortAction = null;
@@ -85,30 +90,31 @@
         }
         else if(gridRenderState == DataGrid.GRID_RENDER_STATE)
         {
-            StringBuffer content = new StringBuffer();
+            StringBuilder content = new StringBuilder();
+            AbstractRenderAppender appender = new StringBuilderRenderAppender(content);
 
             // render header row
             _gridModel.resetColumnIterator();
-            _renderState = ColumnModel.HEADER_RENDER_STATE;
-            _gridModel.openHeaderRow(content);
+            _renderState = AbstractColumnModel.HEADER_RENDER_STATE;
+            _gridModel.openHeaderRow(appender);
             fragment.invoke(sw);
             content.append(sw.toString());
-            _gridModel.closeHeaderRow(content);
+            _gridModel.closeHeaderRow(appender);
 
             // render data rows
-            _renderState = ColumnModel.DATA_RENDER_STATE;
+            _renderState = AbstractColumnModel.DATA_RENDER_STATE;
             while(_gridModel.hasNextDataItem())
             {
                 sw = new StringWriter();
                 _gridModel.resetColumnIterator();
-                _gridModel.openDataRow(content);
+                _gridModel.openDataRow(appender);
                 _gridModel.nextDataItem();
                 fragment.invoke(sw);
                 content.append(sw.toString());
-                _gridModel.closeDataRow(content);
+                _gridModel.closeDataRow(appender);
             }
 
-            _renderState = ColumnModel.NO_RENDER_STATE;
+            _renderState = AbstractColumnModel.NO_RENDER_STATE;
 
             getJspContext().getOut().write(content.toString());
         }
@@ -119,7 +125,7 @@
         return _renderState;
     }
 
-    public void addColumn(ColumnModel cm)
+    public void addColumn(AbstractColumnModel cm)
     {
         if(_logger.isDebugEnabled())
             _logger.debug("adding column of type " +
@@ -147,7 +153,7 @@
 
     public void loadNextColumn()
     {
-        ColumnModel cm = _gridModel.getNextColumnModel();
+        AbstractColumnModel cm = _gridModel.getNextColumnModel();
         getJspContext().setAttribute(COLUMN_MODEL_KEY, cm);
     }
 

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java	Fri Nov  5 09:27:31 2004
@@ -17,11 +17,9 @@
  */
 package org.apache.beehive.netui.tags.databinding.datagrid;
 
-import java.util.List;
 import java.util.Iterator;
 import java.io.IOException;
 import java.io.StringWriter;
-
 import javax.servlet.jsp.JspException;
 import javax.servlet.jsp.tagext.SimpleTagSupport;
 import javax.servlet.jsp.tagext.JspFragment;
@@ -31,38 +29,42 @@
 import org.apache.beehive.netui.databinding.datagrid.model.impl.DefaultStylePolicy;
 import org.apache.beehive.netui.databinding.datagrid.model.impl.EmptyStylePolicy;
 import org.apache.beehive.netui.databinding.datagrid.util.PagedDataSet;
-
 import org.apache.beehive.netui.script.common.IDataAccessProvider;
 import org.apache.beehive.netui.script.common.DataAccessProviderStack;
 import org.apache.beehive.netui.tags.ExpressionHandling;
 import org.apache.beehive.netui.tags.AbstractSimpleTag;
+import org.apache.beehive.netui.tags.rendering.AbstractRenderAppender;
+import org.apache.beehive.netui.tags.rendering.StringBuilderRenderAppender;
 import org.apache.beehive.netui.util.logging.Logger;
 import org.apache.beehive.netui.util.iterator.IteratorFactory;
 
 /**
- * @netui:tag name="dataGrid" description="Renders an HTML table containing a data set" body-content="scriptless"
- * @netui.tldx:tag whitespace="indent" renderer="workshop.netui.jspdesigner.tldx.GridRenderer"
+ * @netui:tag name="dataGrid"
+ *            description="Renders an HTML table containing a data set"
+ *            body-content="scriptless"
+ * @netui.tldx:tag whitespace="indent"
+ *                 renderer="workshop.netui.jspdesigner.tldx.GridRenderer"
  */
 public class DataGrid
-    extends AbstractSimpleTag
-    implements IDataAccessProvider
-{
+        extends AbstractSimpleTag
+        implements IDataAccessProvider {
+
     private static final Logger _logger = Logger.getInstance(DataGrid.class);
-    
+
     private static final StylePolicy DEFAULT_STYLE_POLICY = new DefaultStylePolicy();
     private static final StylePolicy EMPTY_STYLE_POLICY = new EmptyStylePolicy();
 
     private static final String DEFAULT_STYLE_POLICY_VALUE = "default";
     private static final String NO_STYLE_POLICY_VALUE = "none";
 
+    public static final String DATA_GRID_MODEL_KEY = "dataGrid";
+
     public static final int START_RENDER_STATE = 10;
     public static final int CAPTION_RENDER_STATE = 20;
     public static final int GRID_RENDER_STATE = 30;
     public static final int FOOTER_RENDER_STATE = 40;
     public static final int END_RENDER_STATE = 50;
 
-    public static final String DATA_GRID_MODEL_KEY = "dataGrid";
-
     private DataGridModel _gridModel = null;
 
     private boolean _disableDefaultPager = false;
@@ -73,43 +75,49 @@
     private String _cssClassPrefix = null;
     private String _dataSource = null;
 
-    // todo: consider a switch to StringBuilder or Writer w/ a StringWriter?
-    private StringBuffer _content = null;
-
-    public String getTagName()
-    {
+    public String getTagName() {
         return "DataGrid";
     }
-    
+
     /**
      * @netui:attribute required="true"
      */
-    public void setName(String name) {_name = name;}
+    public void setName(String name) {
+        _name = name;
+    }
 
     /**
      * @netui:attribute required="true"
      * @netui.tldx:attribute language="netuiel"
      */
-    public void setDataSource(String dataSource) {_dataSource = dataSource;}
+    public void setDataSource(String dataSource) {
+        _dataSource = dataSource;
+    }
 
     /**
      * @netui:attribute required="false" rtexprvalue="true"
      */
-    public void setCssClassPolicy(String cssClassPolicy) {_cssClassPolicy = cssClassPolicy;}
+    public void setCssClassPolicy(String cssClassPolicy) {
+        _cssClassPolicy = cssClassPolicy;
+    }
 
     /**
      * @netui:attribute required="false" rtexprvalue="true"
      */
-    public void setCssClassPrefix(String cssClassPrefix) {_cssClassPrefix = cssClassPrefix;}
+    public void setCssClassPrefix(String cssClassPrefix) {
+        _cssClassPrefix = cssClassPrefix;
+    }
 
     /**
      * @netui:attribute required="false" rtexprvalue="true"
      */
-    public void setDisableDefaultPager(boolean disableDefaultPager) {_disableDefaultPager = disableDefaultPager;}
+    public void setDisableDefaultPager(boolean disableDefaultPager) {
+        _disableDefaultPager = disableDefaultPager;
+    }
 
     public void doTag()
-        throws JspException, IOException
-    {
+        throws JspException, IOException {
+
         _gridModel = new DataGridModel(getJspContext(), _name);
 
         // create the dataSource expression
@@ -125,83 +133,73 @@
         _gridModel.setDataSet(dataSet);
 
         StylePolicy cssPolicy = null;
-        if(_cssClassPrefix != null)
+        if (_cssClassPrefix != null)
             cssPolicy = new DefaultStylePolicy(_cssClassPrefix);
-        else if(_cssClassPolicy == DEFAULT_STYLE_POLICY_VALUE || _cssClassPolicy.equals(DEFAULT_STYLE_POLICY_VALUE))
+        else if (_cssClassPolicy == DEFAULT_STYLE_POLICY_VALUE || _cssClassPolicy.equals(DEFAULT_STYLE_POLICY_VALUE))
             cssPolicy = DEFAULT_STYLE_POLICY;
-        else if(_cssClassPolicy.equals(NO_STYLE_POLICY_VALUE))
+        else if (_cssClassPolicy.equals(NO_STYLE_POLICY_VALUE))
             cssPolicy = EMPTY_STYLE_POLICY;
 
         _gridModel.setCssPolicy(cssPolicy);
 
-        // todo: implement state machine rendering here...
         _renderState = START_RENDER_STATE;
-        _content = new StringBuffer();
 
         // todo: optimize -- this doesn't need to happen when the data set is empty
         DataAccessProviderStack.addDataAccessProvider(this, getJspContext());
         getJspContext().setAttribute(DATA_GRID_MODEL_KEY, _gridModel);
 
         JspFragment fragment = getJspBody();
-        if(fragment == null)
+        if (fragment == null)
             return;
 
-        String content = null;
+        StringBuilder builder = new StringBuilder(2048);
+        AbstractRenderAppender appender = new StringBuilderRenderAppender(builder);
+
         StringWriter sw = new StringWriter();
         fragment.invoke(sw);
 
-        // print the column information
-        if(_logger.isDebugEnabled())
-        {
-            _logger.debug("registered columns:");
-            List columns = _gridModel.getColumns();
-            for(int i = 0; i < columns.size(); i++)
-            {
-                _logger.debug("column[" + i + "]: " + columns.get(i).getClass().getName());
-            }
-        }
         _gridModel.initialize();
 
-        if(!_disableDefaultPager)
-            _gridModel.renderPager(_content);
+        if (!_disableDefaultPager)
+            _gridModel.renderPager(appender);
 
-        _gridModel.openTable(_content);
+        _gridModel.openTable(appender);
 
-        // render the caption
+        /* render the caption */
         _renderState = CAPTION_RENDER_STATE;
         sw = new StringWriter();
         fragment.invoke(sw);
         String caption = sw.toString();
-        // append the <table>'s <caption> if one was specified
-        if(caption != null)
-        {
-            _gridModel.openCaption(_content);
-            _content.append(caption);
-            _gridModel.closeCaption(_content);
+        if (caption != null && !caption.trim().equals("")) {
+            _gridModel.openCaption(appender);
+            appender.append(caption);
+            _gridModel.closeCaption(appender);
         }
 
+        /* render the grid rows (header and data) */
         _renderState = GRID_RENDER_STATE;
         sw = new StringWriter();
         fragment.invoke(sw);
-        _content.append(sw.toString());
+        appender.append(sw.toString());
 
+        /* render the footer */
         _renderState = FOOTER_RENDER_STATE;
         sw = new StringWriter();
         fragment.invoke(sw);
         String footer = sw.toString();
-        if(footer != null)
-        {
-            _gridModel.openFooterRow(_content);
-            _content.append(footer);
-            _gridModel.closeFooterRow(_content);
+        String trimmed = footer.trim();
+        if (footer != null && !trimmed.trim().equals("")) {
+            _gridModel.openFooterRow(appender);
+            appender.append(footer);
+            _gridModel.closeFooterRow(appender);
         }
 
-        _gridModel.closeTable(_content);
+        _gridModel.closeTable(appender);
         _gridModel.uninitialize();
 
         _renderState = END_RENDER_STATE;
 
-        write(_content.toString());
+        write(builder.toString());
 
         DataAccessProviderStack.removeDataAccessProvider(getJspContext());
         getJspContext().removeAttribute(DATA_GRID_MODEL_KEY);
@@ -213,8 +211,7 @@
      *
      * ===========================================================
      */
-    public int getRenderState()
-    {
+    public int getRenderState() {
         return _renderState;
     }
 
@@ -224,31 +221,26 @@
      *
      * ===========================================================
      */
-    public int getCurrentIndex()
-    {
+    public int getCurrentIndex() {
         return _gridModel.getCurrentIndex();
     }
-    
-    public Object getCurrentItem()
-    {
-        if(_logger.isDebugEnabled()) _logger.debug("current item: " + _gridModel.getCurrentItem());
+
+    public Object getCurrentItem() {
+        if (_logger.isDebugEnabled()) _logger.debug("current item: " + _gridModel.getCurrentItem());
 
         return _gridModel.getCurrentItem();
     }
 
-    public Object getCurrentMetadata()
-    {
+    public Object getCurrentMetadata() {
         throw new UnsupportedOperationException();
     }
 
-    public String getDataSource()
-    {
+    public String getDataSource() {
         return "{" + _dataSource + "}";
     }
-    
-    public IDataAccessProvider getProviderParent()
-    {
-        IDataAccessProvider dap = (IDataAccessProvider)SimpleTagSupport.findAncestorWithClass(this, IDataAccessProvider.class);
+
+    public IDataAccessProvider getProviderParent() {
+        IDataAccessProvider dap = (IDataAccessProvider) SimpleTagSupport.findAncestorWithClass(this, IDataAccessProvider.class);
         return dap;
     }
 }

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/ImageColumn.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/ImageColumn.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/ImageColumn.java	Fri Nov  5 09:27:31 2004
@@ -18,7 +18,7 @@
 package org.apache.beehive.netui.tags.databinding.datagrid;
 
 import org.apache.beehive.netui.databinding.datagrid.model.impl.ImageColumnModel;
-import org.apache.beehive.netui.databinding.datagrid.model.ColumnModel;
+import org.apache.beehive.netui.databinding.datagrid.model.AbstractColumnModel;
 import org.apache.beehive.netui.util.logging.Logger;
 
 import javax.servlet.jsp.JspException;
@@ -32,8 +32,6 @@
 public class ImageColumn
     extends AbstractHtmlColumn
 {
-    private static final Logger logger = Logger.getInstance(ImageColumn.class);
-
     private ImageColumnModel _column;
     private String _src = null;
     private String _align = null;
@@ -114,14 +112,14 @@
         _column.setAlign(_align);
     }
 
-    protected void setColumnModel(ColumnModel column)
+    protected void setColumnModel(AbstractColumnModel column)
     {
         assert column != null : "Can't set a null ColumnModel";
         assert column instanceof ImageColumnModel;
         _column = (ImageColumnModel)column;
     }
 
-    protected ColumnModel createColumnModel()
+    protected AbstractColumnModel createColumnModel()
     {
         return new ImageColumnModel();
     }

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/LiteralColumn.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/LiteralColumn.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/LiteralColumn.java	Fri Nov  5 09:27:31 2004
@@ -17,7 +17,7 @@
  */
 package org.apache.beehive.netui.tags.databinding.datagrid;
 
-import org.apache.beehive.netui.databinding.datagrid.model.ColumnModel;
+import org.apache.beehive.netui.databinding.datagrid.model.AbstractColumnModel;
 import org.apache.beehive.netui.databinding.datagrid.model.impl.LiteralColumnModel;
 import org.apache.beehive.netui.util.logging.Logger;
 
@@ -55,14 +55,14 @@
         _column.setValue(_value);
     }
 
-    protected void setColumnModel(ColumnModel column)
+    protected void setColumnModel(AbstractColumnModel column)
     {
         assert column instanceof LiteralColumnModel;
 
         _column = (LiteralColumnModel)column;
     }
 
-    protected ColumnModel createColumnModel()
+    protected AbstractColumnModel createColumnModel()
     {
         return new LiteralColumnModel();
     }

Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/HtmlConstants.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/HtmlConstants.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/html/HtmlConstants.java	Fri Nov  5 09:27:31 2004
@@ -545,6 +545,16 @@
     static final String TEXTAREA = "textarea";
 
     /**
+     * The name of the <code>th</code> element.
+     */
+    static final String TH = "th";
+
+    /**
+     * The name of the <code>thead</code> element.
+     */
+    static final String THEAD = "thead";
+
+    /**
      * The name of the <code>tr</code> element.
      */
     static final String TR = "tr";

Added: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/rendering/THeadTag.java
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/rendering/THeadTag.java	Fri Nov  5 09:27:31 2004
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+package org.apache.beehive.netui.tags.rendering;
+
+import org.apache.beehive.netui.tags.html.HtmlConstants;
+
+import java.util.HashMap;
+
+/**
+ * Body, Start Tag: optional, End tag: optional
+ * Required href
+ */
+public abstract class THeadTag
+    extends TagHtmlBase
+{
+    public static void add(HashMap html, HashMap xhtml)
+    {
+        html.put(THEAD_TAG, new THeadTag.Rendering());
+        xhtml.put(THEAD_TAG, new THeadTag.Rendering());
+    }
+
+    public static class State extends AbstractHtmlState
+    {
+        public void clear()
+        {
+            super.clear();
+        }
+    }
+
+    private static class Rendering
+        extends THeadTag implements HtmlConstants
+    {
+        // @todo: need to support %coreattrs, %i18n, %events, %cellhalign, %cellvalign on <thead>
+        public void doStartTag(AbstractRenderAppender sb, AbstractTagState renderState)
+        {
+            assert(sb != null) : "Parameter 'sb' must not be null";
+            assert(renderState != null) : "Parameter 'renderState' must not be null";
+            assert(renderState instanceof State) : "Paramater 'renderState' must be an instance of TdTag.State";
+
+            State state = (State) renderState;
+
+            renderTag(sb, THEAD);
+
+            renderAttribute(sb, ID, state.id);
+            renderAttribute(sb, CLASS, state.styleClass);
+
+            renderAttributes(AbstractHtmlState.ATTR_GENERAL, sb, state);
+            renderAttribute(sb, STYLE, state.style);
+            renderAttributes(AbstractHtmlState.ATTR_JAVASCRIPT, sb, state);
+            sb.append(">");
+        }
+
+        public void doEndTag(AbstractRenderAppender sb)
+        {
+            renderEndTag(sb, THEAD);
+        }
+    }
+}
\ No newline at end of file

Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/rendering/TagRenderingBase.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/rendering/TagRenderingBase.java	(original)
+++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/rendering/TagRenderingBase.java	Fri Nov  5 09:27:31 2004
@@ -81,6 +81,8 @@
     public static final Object TABLE_TAG = new Object();
     public static final Object TD_TAG = new Object();
     public static final Object TEXT_AREA_TAG = new Object();
+    public static final Object TH_TAG = new Object();
+    public static final Object THEAD_TAG = new Object();
     public static final Object TR_TAG = new Object();
 
     //////////////////////////////////// Abstract Methods  ////////////////////////////
@@ -240,7 +242,6 @@
         private static ConstantRendering _xhtmlConstants;
         private static ConstantRendering _htmlConstants;
 
-
         // create the HashMaps and their static renderings.
         static
         {
@@ -269,6 +270,8 @@
             TableTag.add(_html, _xhtml);
             TdTag.add(_html, _xhtml);
             TextAreaTag.add(_html, _xhtml);
+            ThTag.add(_html, _xhtml);
+            THeadTag.add(_html, _xhtml);
             TrTag.add(_html, _xhtml);
         }
 

Added: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/rendering/ThTag.java
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/rendering/ThTag.java	Fri Nov  5 09:27:31 2004
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+package org.apache.beehive.netui.tags.rendering;
+
+import org.apache.beehive.netui.tags.html.HtmlConstants;
+
+import java.util.HashMap;
+
+/**
+ * Body, Start Tag: optional, End tag: optional
+ * Required href
+ */
+public abstract class ThTag
+    extends TagHtmlBase
+{
+    public static void add(HashMap html, HashMap xhtml)
+    {
+        html.put(TH_TAG, new Rendering());
+        xhtml.put(TH_TAG, new Rendering());
+    }
+
+    public static class State
+        extends AbstractHtmlState
+    {
+        public void clear()
+        {
+            super.clear();
+        }
+    }
+
+    private static class Rendering
+        extends ThTag
+        implements HtmlConstants
+    {
+        public void doStartTag(AbstractRenderAppender sb, AbstractTagState renderState)
+        {
+            assert(sb != null) : "Parameter 'sb' must not be null";
+            assert(renderState != null) : "Parameter 'renderState' must not be null";
+            assert(renderState instanceof State) : "Paramater 'renderState' must be an instance of ThTag.State";
+
+            State state = (State) renderState;
+
+            renderTag(sb, TH);
+
+            renderAttribute(sb, ID, state.id);
+            renderAttribute(sb, CLASS, state.styleClass);
+
+            renderAttributes(AbstractHtmlState.ATTR_GENERAL, sb, state);
+            renderAttribute(sb, STYLE, state.style);
+            renderAttributes(AbstractHtmlState.ATTR_JAVASCRIPT, sb, state);
+
+            sb.append(">");
+        }
+
+        public void doEndTag(AbstractRenderAppender sb)
+        {
+            renderEndTag(sb, TH);
+        }
+    }
+}
+

Modified: incubator/beehive/trunk/netui/src/util/build.xml
==============================================================================
--- incubator/beehive/trunk/netui/src/util/build.xml	(original)
+++ incubator/beehive/trunk/netui/src/util/build.xml	Fri Nov  5 09:27:31 2004
@@ -7,12 +7,21 @@
     <property file="${os.BEEHIVE_HOME}/netui/ant/netui.properties"/>
 
     <property name="module.name" value="util"/>
-    <property name="module.classpath" location="${servlet24.jar};${struts.jar};${log4j.jar};${commons-logging.jar};${xbean.jar};${jsr173.jar}"/>
     <property name="module.dir" location="${src.dir}/${module.name}"/>
 
+    <!-- core test recorder build file; everything beneath here should be generic to the environment in which the TR runs -->
+    <path id="module.classpath">
+        <pathelement path="${servlet24.jar}"/>
+        <pathelement path="${jsp20.jar}"/>
+        <pathelement path="${struts.jar}"/>
+        <pathelement path="${log4j.jar}"/>
+        <pathelement path="${commons-logging.jar}"/>
+        <pathelement path="${xbean.jar}"/>
+        <pathelement path="${jsr173.jar}"/>
+    </path>
+
     <target name="build">
         <echo>compile module: ${module.name}</echo>
-        <echo>module classpath: ${module.classpath}</echo>
 
         <mkdir dir="${classes.dir}/${module.name}"/>
 
@@ -26,7 +35,7 @@
 
         <javac srcdir="${module.dir}"
                destdir="${classes.dir}/${module.name}"
-               classpath="${module.classpath}"
+               classpathref="module.classpath"
                debug="${compile.debug}"
                deprecation="${compile.deprecation}"
                optimize="${compile.optimize}"

Modified: incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/HtmlExceptionFormatter.java
==============================================================================
--- incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/HtmlExceptionFormatter.java	(original)
+++ incubator/beehive/trunk/netui/src/util/org/apache/beehive/netui/util/HtmlExceptionFormatter.java	Fri Nov  5 09:27:31 2004
@@ -17,77 +17,124 @@
  */
 package org.apache.beehive.netui.util;
 
-// java imports
 import java.io.PrintWriter;
 import java.io.StringWriter;
 
-// internal imports
-
-// external imports
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.el.ELException;
+import javax.servlet.ServletException;
 
 /**
- * Format a Throwable object so that it displays well in HTML.
+ * Format a {@link java.lang.Throwable} so that it displays well in HTML.
  */ 
 public class HtmlExceptionFormatter
 {
     /** An XHTML line break */
     private static final String HTML_LINE_BREAK = "<br/>";
 
-    /** The end of line character to replace with an HTML line break */
     /* @TODO: is the formatting of Throwable.printStackTrace() dependent on the platform? */
+    /** The end of line character to replace with an HTML line break */
     private static final String LINE_BREAK = "\n";
     
-    private static final String CAUSED_BY = "caused by: ";
+    private static final String CAUSED_BY = "caused by ";
 
     /**
-     * Format an exception into XHTML.  Optionally include a message and the stack trace.
+     * Format an exception into XHTML.
+     *
+     * Optionally include a message and the stack trace.
+     *
+     * The formatted exception will have line breaks replaced with XHTML line breaks for display
+     * in HTML.  The String message of the cause will be included, and the stack trace of the
+     * cause is optionally included given the value of <code>includeStackTrace</code>
+     *
+     * @param message the message to include with the formatted exception.  This is in addition to the message in the stack trace.
+     * @param t a Throwable exception to format
+     * @param includeStackTrace a boolean that determines whether to include the stack trace in the formatted output
+     * @return the formatted error message, optionally including the stack trace.
      */
-    /* Note, this is not a valid replacement for real logging. */
-    public static String format(String message, Throwable t, boolean stackTrace)
+    public static String format(String message, Throwable t, boolean includeStackTrace)
     {
-        StringBuilder buf = new StringBuilder(256);
+        StringBuilder buf = new StringBuilder();
 
         if (message != null)
         {
             buf.append(message);
-            if (t.getCause() != null)
+
+            Throwable cause = discoverRootCause(t);
+            if (cause != null)
             {
                 buf.append(HTML_LINE_BREAK);
                 buf.append(CAUSED_BY);
                 buf.append(": ");
-                buf.append(t.getCause().toString());
+                buf.append(cause.toString());
             }
         }
 
-
-        if (stackTrace)
+        if (includeStackTrace)
         {
             if (message != null)
                 buf.append(HTML_LINE_BREAK);
 
-            StringWriter sw = new StringWriter();
-            PrintWriter pw = new PrintWriter(sw);
-            t.printStackTrace(pw);
-            pw.flush();
-            pw.close();
-
-            // put a style around the first line
-            String error = sw.toString();
-            int pos = error.indexOf(LINE_BREAK);
-            if (pos != -1) {
-                String lineOne = error.substring(0,pos);
-                String rest = error.substring(pos);
-
-                buf.append("<span class='pfErrorLineOne'>");
-                buf.append(lineOne);
-                buf.append("</span>");
-                buf.append(rest);
-            }
-            else {
-                buf.append(sw.toString());
+            String st = addStackTrace(t);
+            buf.append(st);
+
+            Throwable rootCause = null;
+            if(hasRootCause(t) && (rootCause = discoverRootCause(t)) != null)
+            {
+                st = addStackTrace(rootCause);
+                buf.append(HTML_LINE_BREAK);
+                buf.append(st);
             }
         }
-        
+
         return buf.toString().replaceAll(LINE_BREAK, HTML_LINE_BREAK);
     }
-}
+
+    private static final String addStackTrace(Throwable t)
+    {
+        StringBuilder buf = new StringBuilder();
+        StringWriter sw = new StringWriter();
+        PrintWriter pw = new PrintWriter(sw);
+        t.printStackTrace(pw);
+        pw.flush();
+        pw.close();
+
+        String error = sw.toString();
+        int pos = error.indexOf(LINE_BREAK);
+        if(pos != -1) {
+            String lineOne = error.substring(0, pos);
+            String rest = error.substring(pos);
+
+            buf.append("<span class='pfErrorLineOne'>");
+            buf.append(lineOne);
+            buf.append("</span>");
+            buf.append(rest);
+        }
+        else {
+            buf.append(sw.toString());
+        }
+
+        return buf.toString();
+    }
+
+    private static final boolean hasRootCause(Throwable t)
+    {
+        if(t.getCause() == null && (t instanceof JspException || t instanceof ServletException || t instanceof ELException))
+            return true;
+        else return false;
+    }
+
+    private static final Throwable discoverRootCause(Throwable t)
+    {
+        Throwable cause = null;
+        if(t instanceof JspException)
+            cause = ((JspException)t).getRootCause();
+        else if(t instanceof ServletException)
+            cause = ((ServletException)t).getRootCause();
+        else if(t instanceof ELException)
+            cause = ((ELException)t).getRootCause();
+        else cause = t.getCause();
+
+        return cause;
+    }
+}
\ No newline at end of file

Modified: incubator/beehive/trunk/netui/test/src/testRecorder/build.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/src/testRecorder/build.xml	(original)
+++ incubator/beehive/trunk/netui/test/src/testRecorder/build.xml	Fri Nov  5 09:27:31 2004
@@ -20,6 +20,7 @@
         <echo>module.classpath: ${module.classpath}</echo>
         <echo>debug: ${compile.debug}</echo>
 
+        <mkdir dir="${test.lib.dir}"/>
         <mkdir dir="${module.classes.dir}"/>
 
         <ant antfile="${netui.ant.dir}/xmlBean.xml" target="ant.build.xmlbean">

Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridCSSPrefix.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridCSSPrefix.xml	(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridCSSPrefix.xml	Fri Nov  5 09:27:31 2004
@@ -2,8 +2,8 @@
 <ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
    <ses:sessionName>DataGridCSSPrefix</ses:sessionName>
    <ses:tester>ekoneil</ses:tester>
-   <ses:startDate>24 Sep 2004, 02:32:24.568 PM MDT</ses:startDate>
-   <ses:description>Test the addition of a simple CSS prefix to the data grid CSS class names.</ses:description>
+   <ses:startDate>03 Nov 2004, 02:30:31.483 PM MST</ses:startDate>
+   <ses:description>ekoneil</ses:description>
    <ses:tests>
       <ses:test>
          <ses:testNumber>1</ses:testNumber>
@@ -18,7 +18,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>DCB782ADDFF281EFCB9F0444AADA321A</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -44,7 +44,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>JSESSIONID=DCB782ADDFF281EFCB9F0444AADA321A</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -55,6 +55,10 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
+                  <ses:name>testrecorder.playback.testid</ses:name>
+                  <ses:value>5d613590:ffff08a735:-7f45</ses:value>
+               </ses:header>
+               <ses:header>
                   <ses:name>user-agent</ses:name>
                   <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20040913 Firefox/0.10</ses:value>
                </ses:header>
@@ -90,11 +94,6 @@
     <br/>
     Page 1 of 1&nbsp;&nbsp;&nbsp;
 <table class="foo-datagrid">
-<caption>
-
-        
-    
-</caption>
 
         
 <thead>
@@ -108,8 +107,8 @@
             <th class="foo-datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="foo-datagrid-even">
             <td class="foo-datagrid-data-cell"><span>BEAS</span></td>
@@ -118,7 +117,8 @@
 
             <td class="foo-datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="foo-datagrid-odd">
             <td class="foo-datagrid-data-cell"><span>CSCO</span></td>
 
@@ -126,7 +126,8 @@
 
             <td class="foo-datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="foo-datagrid-even">
             <td class="foo-datagrid-data-cell"><span>GE</span></td>
 
@@ -134,7 +135,8 @@
 
             <td class="foo-datagrid-data-cell"><a href="http://www.ge.com?rowid=3&amp;symbol=GE"><span>General Electric</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="foo-datagrid-odd">
             <td class="foo-datagrid-data-cell"><span>RHAT</span></td>
 
@@ -142,7 +144,8 @@
 
             <td class="foo-datagrid-data-cell"><a href="http://www.redhat.com?rowid=4&amp;symbol=RHAT"><span>RedHat Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="foo-datagrid-even">
             <td class="foo-datagrid-data-cell"><span>YHOO</span></td>
 
@@ -150,20 +153,24 @@
 
             <td class="foo-datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&amp;symbol=YHOO"><span>Yahoo Inc</span></a></td>
 
-        </tr>
-    
-<tr class="foo-datagrid-footer">
         
-    
-</tr></table>
+</tr>
+    </table>
+
 
     </p>
   </body>
 
 </html>]]></ses:responseBody>
          </ses:response>
+         <ses:testResults>
+            <ses:testStatus>pass</ses:testStatus>
+         </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>24 Sep 2004, 02:32:30.937 PM MDT</ses:endDate>
+   <ses:endDate>03 Nov 2004, 02:30:33.351 PM MST</ses:endDate>
+   <ses:sessionStatus>pass</ses:sessionStatus>
    <ses:testCount>1</ses:testCount>
+   <ses:passedCount>1</ses:passedCount>
+   <ses:failedCount>0</ses:failedCount>
 </ses:recorderSession>

Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridCaptionTest.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridCaptionTest.xml	(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridCaptionTest.xml	Fri Nov  5 09:27:31 2004
@@ -2,7 +2,7 @@
 <ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
    <ses:sessionName>DataGridCaptionTest</ses:sessionName>
    <ses:tester>ekoneil</ses:tester>
-   <ses:startDate>26 Aug 2004, 12:09:46.111 AM MDT</ses:startDate>
+   <ses:startDate>03 Nov 2004, 02:30:30.067 PM MST</ses:startDate>
    <ses:description>ekoneil</ses:description>
    <ses:tests>
       <ses:test>
@@ -18,7 +18,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -44,7 +44,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -56,7 +56,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7fa6</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f47</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -91,13 +91,12 @@
 <br/>
 Page 1 of 1&nbsp;&nbsp;&nbsp;
 <table class="datagrid">
-<caption>
 
+<caption>
     
         This is the table's caption.    
     
     
-
 </caption>
 
     
@@ -113,8 +112,8 @@
         <th class="datagrid-header-cell">Web</th>
 
 
-    </tr>
-</thead>
+    
+</tr></thead>
 
 <tr class="datagrid-even">
         <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -123,7 +122,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-odd">
         <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -131,7 +131,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-even">
         <td class="datagrid-data-cell"><span>GE</span></td>
 
@@ -139,7 +140,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.ge.com?rowid=3&amp;symbol=GE"><span>General Electric</span></a></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-odd">
         <td class="datagrid-data-cell"><span>RHAT</span></td>
 
@@ -147,7 +149,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.redhat.com?rowid=4&amp;symbol=RHAT"><span>RedHat Systems</span></a></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-even">
         <td class="datagrid-data-cell"><span>YHOO</span></td>
 
@@ -155,13 +158,10 @@
 
         <td class="datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&amp;symbol=YHOO"><span>Yahoo Inc</span></a></td>
 
-    </tr>
-
-<tr class="datagrid-footer">
-    
     
+</tr>
+</table>
 
-</tr></table>
 
 <br/>
 <a href="/coreWeb/databinding/datagrid/caption/index.jsp">Reset</a>
@@ -183,9 +183,9 @@
          </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>26 Aug 2004, 12:09:46.181 AM MDT</ses:endDate>
+   <ses:endDate>03 Nov 2004, 02:30:31.252 PM MST</ses:endDate>
    <ses:sessionStatus>fail</ses:sessionStatus>
    <ses:testCount>1</ses:testCount>
    <ses:passedCount>0</ses:passedCount>
    <ses:failedCount>1</ses:failedCount>
-</ses:recorderSession>
+</ses:recorderSession>
\ No newline at end of file

Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridCustomTagAttributes.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridCustomTagAttributes.xml	(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridCustomTagAttributes.xml	Fri Nov  5 09:27:31 2004
@@ -2,8 +2,8 @@
 <ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
    <ses:sessionName>DataGridCustomTagAttributes</ses:sessionName>
    <ses:tester>ekoneil</ses:tester>
-   <ses:startDate>08 Sep 2004, 05:41:54.265 PM MDT</ses:startDate>
-   <ses:description>Test the application of custom tag attributes to data grid columns.</ses:description>
+   <ses:startDate>03 Nov 2004, 02:30:33.401 PM MST</ses:startDate>
+   <ses:description>ekoneil</ses:description>
    <ses:tests>
       <ses:test>
          <ses:testNumber>1</ses:testNumber>
@@ -18,7 +18,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>F2CBF595D028FFB4545A497BA01CA51B</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -44,7 +44,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>JSESSIONID=F2CBF595D028FFB4545A497BA01CA51B</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -55,6 +55,10 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
+                  <ses:name>testrecorder.playback.testid</ses:name>
+                  <ses:value>5d613590:ffff08a735:-7f43</ses:value>
+               </ses:header>
+               <ses:header>
                   <ses:name>user-agent</ses:name>
                   <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040614 Firefox/0.9</ses:value>
                </ses:header>
@@ -92,11 +96,6 @@
 
     Page 1 of 1&nbsp;&nbsp;&nbsp;
 <table class="datagrid">
-<caption>
-
-        
-    
-</caption>
 
         
 <thead>
@@ -110,8 +109,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span attr-test-symbol="BEAS" onclick="javascript:alert(this)">BEAS</span></td>
@@ -120,7 +119,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS" onmouseover='doAlert(this, 1)'><span>BEA Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span attr-test-symbol="CSCO" onclick="javascript:alert(this)">CSCO</span></td>
 
@@ -128,7 +128,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO" onmouseover='doAlert(this, 2)'><span>Cisco Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span attr-test-symbol="GE" onclick="javascript:alert(this)">GE</span></td>
 
@@ -136,7 +137,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.ge.com?rowid=3&amp;symbol=GE" onmouseover='doAlert(this, 3)'><span>General Electric</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span attr-test-symbol="RHAT" onclick="javascript:alert(this)">RHAT</span></td>
 
@@ -144,7 +146,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.redhat.com?rowid=4&amp;symbol=RHAT" onmouseover='doAlert(this, 4)'><span>RedHat Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span attr-test-symbol="YHOO" onclick="javascript:alert(this)">YHOO</span></td>
 
@@ -152,12 +155,10 @@
 
             <td class="datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&amp;symbol=YHOO" onmouseover='doAlert(this, 5)'><span>Yahoo Inc</span></a></td>
 
-        </tr>
-    
-<tr class="datagrid-footer">
         
-    
-</tr></table>
+</tr>
+    </table>
+
 
     
     </td></tr>
@@ -170,8 +171,14 @@
 
 </html>]]></ses:responseBody>
          </ses:response>
+         <ses:testResults>
+            <ses:testStatus>pass</ses:testStatus>
+         </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>08 Sep 2004, 05:42:00.554 PM MDT</ses:endDate>
+   <ses:endDate>03 Nov 2004, 02:30:34.536 PM MST</ses:endDate>
+   <ses:sessionStatus>pass</ses:sessionStatus>
    <ses:testCount>1</ses:testCount>
-</ses:recorderSession>
+   <ses:passedCount>1</ses:passedCount>
+   <ses:failedCount>0</ses:failedCount>
+</ses:recorderSession>
\ No newline at end of file

Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridEmptyColumnsTag.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridEmptyColumnsTag.xml	(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridEmptyColumnsTag.xml	Fri Nov  5 09:27:31 2004
@@ -2,8 +2,8 @@
 <ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
    <ses:sessionName>DataGridEmptyColumnsTag</ses:sessionName>
    <ses:tester>ekoneil</ses:tester>
-   <ses:startDate>26 Aug 2004, 10:32:51.449 AM MDT</ses:startDate>
-   <ses:description>Simple test of having a data grid columns tag with no additional attributes.</ses:description>
+   <ses:startDate>03 Nov 2004, 02:30:34.566 PM MST</ses:startDate>
+   <ses:description>ekoneil</ses:description>
    <ses:tests>
       <ses:test>
          <ses:testNumber>1</ses:testNumber>
@@ -18,7 +18,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>273558799049B934A412473618387636</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -44,7 +44,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>JSESSIONID=273558799049B934A412473618387636</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -55,6 +55,10 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
+                  <ses:name>testrecorder.playback.testid</ses:name>
+                  <ses:value>5d613590:ffff08a735:-7f41</ses:value>
+               </ses:header>
+               <ses:header>
                   <ses:name>user-agent</ses:name>
                   <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040614 Firefox/0.9</ses:value>
                </ses:header>
@@ -87,12 +91,6 @@
 <br/>
 Page 1 of 1&nbsp;&nbsp;&nbsp;
 <table class="datagrid">
-<caption>
-
-    
-    
-
-</caption>
 
     
 <thead>
@@ -106,8 +104,8 @@
         <th class="datagrid-header-cell">Web</th>
 
 
-    </tr>
-</thead>
+    
+</tr></thead>
 
 <tr class="datagrid-even">
         <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -116,7 +114,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-odd">
         <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -124,7 +123,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-even">
         <td class="datagrid-data-cell"><span>GE</span></td>
 
@@ -132,7 +132,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.ge.com?rowid=3&amp;symbol=GE"><span>General Electric</span></a></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-odd">
         <td class="datagrid-data-cell"><span>RHAT</span></td>
 
@@ -140,7 +141,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.redhat.com?rowid=4&amp;symbol=RHAT"><span>RedHat Systems</span></a></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-even">
         <td class="datagrid-data-cell"><span>YHOO</span></td>
 
@@ -148,7 +150,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&amp;symbol=YHOO"><span>Yahoo Inc</span></a></td>
 
-    </tr>
+    
+</tr>
     
 
 <tr class="datagrid-footer">
@@ -159,6 +162,7 @@
 
 </tr></table>
 
+
 <br/>
 <a href="/coreWeb/databinding/datagrid/misc/index.jsp">Reset</a>
 <br/>
@@ -174,8 +178,14 @@
 
 </html>]]></ses:responseBody>
          </ses:response>
+         <ses:testResults>
+            <ses:testStatus>pass</ses:testStatus>
+         </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>26 Aug 2004, 10:32:56.856 AM MDT</ses:endDate>
+   <ses:endDate>03 Nov 2004, 02:30:35.681 PM MST</ses:endDate>
+   <ses:sessionStatus>pass</ses:sessionStatus>
    <ses:testCount>1</ses:testCount>
-</ses:recorderSession>
+   <ses:passedCount>1</ses:passedCount>
+   <ses:failedCount>0</ses:failedCount>
+</ses:recorderSession>
\ No newline at end of file

Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridFooterTest.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridFooterTest.xml	(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridFooterTest.xml	Fri Nov  5 09:27:31 2004
@@ -2,7 +2,7 @@
 <ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
    <ses:sessionName>DataGridFooterTest</ses:sessionName>
    <ses:tester>ekoneil</ses:tester>
-   <ses:startDate>26 Aug 2004, 12:09:46.241 AM MDT</ses:startDate>
+   <ses:startDate>03 Nov 2004, 02:30:35.721 PM MST</ses:startDate>
    <ses:description>ekoneil</ses:description>
    <ses:tests>
       <ses:test>
@@ -18,7 +18,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -44,7 +44,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -56,7 +56,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7fa4</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f3f</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -91,12 +91,6 @@
 <br/>
 Page 1 of 1&nbsp;&nbsp;&nbsp;
 <table class="datagrid">
-<caption>
-
-    
-    
-
-</caption>
 
     
 <thead>
@@ -110,8 +104,8 @@
         <th class="datagrid-header-cell">Web</th>
 
 
-    </tr>
-</thead>
+    
+</tr></thead>
 
 <tr class="datagrid-even">
         <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -120,7 +114,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-odd">
         <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -128,7 +123,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-even">
         <td class="datagrid-data-cell"><span>GE</span></td>
 
@@ -136,7 +132,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.ge.com?rowid=3&amp;symbol=GE"><span>General Electric</span></a></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-odd">
         <td class="datagrid-data-cell"><span>RHAT</span></td>
 
@@ -144,7 +141,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.redhat.com?rowid=4&amp;symbol=RHAT"><span>RedHat Systems</span></a></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-even">
         <td class="datagrid-data-cell"><span>YHOO</span></td>
 
@@ -152,7 +150,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&amp;symbol=YHOO"><span>Yahoo Inc</span></a></td>
 
-    </tr>
+    
+</tr>
     
 
 <tr class="datagrid-footer">
@@ -163,6 +162,7 @@
 
 </tr></table>
 
+
 <br/>
 <a href="/coreWeb/databinding/datagrid/footer/index.jsp">Reset</a>
 <br/>
@@ -183,9 +183,9 @@
          </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>26 Aug 2004, 12:09:46.301 AM MDT</ses:endDate>
+   <ses:endDate>03 Nov 2004, 02:30:36.826 PM MST</ses:endDate>
    <ses:sessionStatus>fail</ses:sessionStatus>
    <ses:testCount>1</ses:testCount>
    <ses:passedCount>0</ses:passedCount>
    <ses:failedCount>1</ses:failedCount>
-</ses:recorderSession>
+</ses:recorderSession>
\ No newline at end of file

Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridHeaderTest.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridHeaderTest.xml	(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridHeaderTest.xml	Fri Nov  5 09:27:31 2004
@@ -2,7 +2,7 @@
 <ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
    <ses:sessionName>DataGridHeaderTest</ses:sessionName>
    <ses:tester>ekoneil</ses:tester>
-   <ses:startDate>26 Aug 2004, 12:09:46.371 AM MDT</ses:startDate>
+   <ses:startDate>03 Nov 2004, 02:30:36.866 PM MST</ses:startDate>
    <ses:description>ekoneil</ses:description>
    <ses:tests>
       <ses:test>
@@ -18,7 +18,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -44,7 +44,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -56,7 +56,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7fa2</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f3d</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -91,11 +91,6 @@
 <br/>
 Page 1 of 1&nbsp;&nbsp;&nbsp;
 <table class="datagrid">
-<caption>
-
-    
-
-</caption>
 
     
 <thead>
@@ -118,8 +113,8 @@
         </th>
 
 
-    </tr>
-</thead>
+    
+</tr></thead>
 
 <tr class="datagrid-even">
         <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -128,7 +123,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-odd">
         <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -136,7 +132,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-even">
         <td class="datagrid-data-cell"><span>GE</span></td>
 
@@ -144,7 +141,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.ge.com?rowid=3&amp;symbol=GE"><span>General Electric</span></a></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-odd">
         <td class="datagrid-data-cell"><span>RHAT</span></td>
 
@@ -152,7 +150,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.redhat.com?rowid=4&amp;symbol=RHAT"><span>RedHat Systems</span></a></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-even">
         <td class="datagrid-data-cell"><span>YHOO</span></td>
 
@@ -160,12 +159,10 @@
 
         <td class="datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&amp;symbol=YHOO"><span>Yahoo Inc</span></a></td>
 
-    </tr>
-
-<tr class="datagrid-footer">
     
+</tr>
+</table>
 
-</tr></table>
 
 <br/>
 <a href="/coreWeb/databinding/datagrid/header/index.jsp">Reset</a>
@@ -187,9 +184,9 @@
          </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>26 Aug 2004, 12:09:46.401 AM MDT</ses:endDate>
+   <ses:endDate>03 Nov 2004, 02:30:38.684 PM MST</ses:endDate>
    <ses:sessionStatus>fail</ses:sessionStatus>
    <ses:testCount>1</ses:testCount>
    <ses:passedCount>0</ses:passedCount>
    <ses:failedCount>1</ses:failedCount>
-</ses:recorderSession>
+</ses:recorderSession>
\ No newline at end of file

Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridJavaScriptSmoke.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridJavaScriptSmoke.xml	(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridJavaScriptSmoke.xml	Fri Nov  5 09:27:31 2004
@@ -2,8 +2,8 @@
 <ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
    <ses:sessionName>DataGridJavaScriptSmoke</ses:sessionName>
    <ses:tester>ekoneil</ses:tester>
-   <ses:startDate>26 Aug 2004, 10:30:57.715 AM MDT</ses:startDate>
-   <ses:description>Simple smoke test of using JavaScript on the data grid.</ses:description>
+   <ses:startDate>03 Nov 2004, 02:30:38.724 PM MST</ses:startDate>
+   <ses:description>ekoneil</ses:description>
    <ses:tests>
       <ses:test>
          <ses:testNumber>1</ses:testNumber>
@@ -18,7 +18,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>273558799049B934A412473618387636</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -44,7 +44,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>JSESSIONID=273558799049B934A412473618387636</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -55,6 +55,10 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
+                  <ses:name>testrecorder.playback.testid</ses:name>
+                  <ses:value>5d613590:ffff08a735:-7f3b</ses:value>
+               </ses:header>
+               <ses:header>
                   <ses:name>user-agent</ses:name>
                   <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040614 Firefox/0.9</ses:value>
                </ses:header>
@@ -92,11 +96,6 @@
 
     Page 1 of 1&nbsp;&nbsp;&nbsp;
 <table class="datagrid">
-<caption>
-
-        
-    
-</caption>
 
         
 <thead>
@@ -110,8 +109,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span onclick="javascript:alert(this)">BEAS</span></td>
@@ -120,7 +119,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS" onmouseover='doAlert(this, 1)'><span>BEA Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span onclick="javascript:alert(this)">CSCO</span></td>
 
@@ -128,7 +128,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO" onmouseover='doAlert(this, 2)'><span>Cisco Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span onclick="javascript:alert(this)">GE</span></td>
 
@@ -136,7 +137,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.ge.com?rowid=3&amp;symbol=GE" onmouseover='doAlert(this, 3)'><span>General Electric</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span onclick="javascript:alert(this)">RHAT</span></td>
 
@@ -144,7 +146,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.redhat.com?rowid=4&amp;symbol=RHAT" onmouseover='doAlert(this, 4)'><span>RedHat Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span onclick="javascript:alert(this)">YHOO</span></td>
 
@@ -152,12 +155,10 @@
 
             <td class="datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&amp;symbol=YHOO" onmouseover='doAlert(this, 5)'><span>Yahoo Inc</span></a></td>
 
-        </tr>
-    
-<tr class="datagrid-footer">
         
-    
-</tr></table>
+</tr>
+    </table>
+
 
     
     </td></tr>
@@ -170,8 +171,14 @@
 
 </html>]]></ses:responseBody>
          </ses:response>
+         <ses:testResults>
+            <ses:testStatus>pass</ses:testStatus>
+         </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>26 Aug 2004, 10:31:05.506 AM MDT</ses:endDate>
+   <ses:endDate>03 Nov 2004, 02:30:39.789 PM MST</ses:endDate>
+   <ses:sessionStatus>pass</ses:sessionStatus>
    <ses:testCount>1</ses:testCount>
-</ses:recorderSession>
+   <ses:passedCount>1</ses:passedCount>
+   <ses:failedCount>0</ses:failedCount>
+</ses:recorderSession>
\ No newline at end of file

Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridModelTest.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridModelTest.xml	(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridModelTest.xml	Fri Nov  5 09:27:31 2004
@@ -2,7 +2,7 @@
 <ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
    <ses:sessionName>DataGridModelTest</ses:sessionName>
    <ses:tester>ekoneil</ses:tester>
-   <ses:startDate>26 Aug 2004, 12:09:46.451 AM MDT</ses:startDate>
+   <ses:startDate>03 Nov 2004, 02:30:39.839 PM MST</ses:startDate>
    <ses:description>ekoneil</ses:description>
    <ses:tests>
       <ses:test>
@@ -18,7 +18,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -44,7 +44,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -56,7 +56,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7fa0</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f39</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -91,35 +91,6 @@
     <br/>
     Page 1 of 1&nbsp;&nbsp;&nbsp;
 <table class="datagrid">
-<caption>
-
-        
-
-
-
-
-
-
-
-        
-        
-
-
-
-
-
-
-
-        
-
-
-
-
-
-
-
-    
-</caption>
 
         
 
@@ -141,8 +112,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -151,7 +122,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -159,7 +131,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>GE</span></td>
 
@@ -167,7 +140,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.ge.com?rowid=3&amp;symbol=GE"><span>General Electric</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>RHAT</span></td>
 
@@ -175,7 +149,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.redhat.com?rowid=4&amp;symbol=RHAT"><span>RedHat Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>YHOO</span></td>
 
@@ -183,15 +158,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&amp;symbol=YHOO"><span>Yahoo Inc</span></a></td>
 
-        </tr>
         
-
-
-
-
-
-
-
+</tr>
         
 
 
@@ -200,8 +168,6 @@
 
 
 
-    
-<tr class="datagrid-footer">
         
 
 
@@ -210,25 +176,8 @@
 
 
 
-        
-        
-
-
-
-
-
-
-
-        
-
-
-
-
-
-
+    </table>
 
-    
-</tr></table>
 
     
 
@@ -260,13 +209,13 @@
 </html>]]></ses:responseBody>
          </ses:response>
          <ses:testResults>
-            <ses:testStatus>fail</ses:testStatus>
+            <ses:testStatus>pass</ses:testStatus>
          </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>26 Aug 2004, 12:09:46.531 AM MDT</ses:endDate>
-   <ses:sessionStatus>fail</ses:sessionStatus>
+   <ses:endDate>03 Nov 2004, 02:30:42.922 PM MST</ses:endDate>
+   <ses:sessionStatus>pass</ses:sessionStatus>
    <ses:testCount>1</ses:testCount>
-   <ses:passedCount>0</ses:passedCount>
-   <ses:failedCount>1</ses:failedCount>
-</ses:recorderSession>
+   <ses:passedCount>1</ses:passedCount>
+   <ses:failedCount>0</ses:failedCount>
+</ses:recorderSession>
\ No newline at end of file

Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerBasic.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerBasic.xml	(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerBasic.xml	Fri Nov  5 09:27:31 2004
@@ -2,7 +2,7 @@
 <ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
    <ses:sessionName>DataGridPagerBasic</ses:sessionName>
    <ses:tester>ekoneil</ses:tester>
-   <ses:startDate>26 Aug 2004, 12:09:46.591 AM MDT</ses:startDate>
+   <ses:startDate>03 Nov 2004, 02:30:42.973 PM MST</ses:startDate>
    <ses:description>ekoneil</ses:description>
    <ses:tests>
       <ses:test>
@@ -18,7 +18,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -44,7 +44,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -56,7 +56,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f9e</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f37</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -91,12 +91,6 @@
     <br/>
     Page 1 of 3&nbsp;&nbsp;First&nbsp;/&nbsp;Previous&nbsp;&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~2">Next</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~3">Last</a>
 <table class="datagrid">
-<caption>
-
-        
-        
-    
-</caption>
 
         
         
@@ -111,8 +105,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -121,7 +115,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -129,13 +124,10 @@
 
             <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-        </tr>
-    
-<tr class="datagrid-footer">
-        
         
-    
-</tr></table>
+</tr>
+    </table>
+
 
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/basic/index.jsp">Reset</a>
@@ -174,7 +166,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -200,7 +192,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -212,7 +204,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f9e</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f37</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -247,12 +239,6 @@
     <br/>
     Page 2 of 3&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~1">First</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~1">Previous</a>&nbsp;&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~3">Next</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~3">Last</a>
 <table class="datagrid">
-<caption>
-
-        
-        
-    
-</caption>
 
         
         
@@ -267,8 +253,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>GE</span></td>
@@ -277,7 +263,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.ge.com?rowid=3&amp;symbol=GE"><span>General Electric</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>RHAT</span></td>
 
@@ -285,13 +272,10 @@
 
             <td class="datagrid-data-cell"><a href="http://www.redhat.com?rowid=4&amp;symbol=RHAT"><span>RedHat Systems</span></a></td>
 
-        </tr>
-    
-<tr class="datagrid-footer">
         
-        
-    
-</tr></table>
+</tr>
+    </table>
+
 
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/basic/index.jsp">Reset</a>
@@ -330,7 +314,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -356,7 +340,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -368,7 +352,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f9e</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f37</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -403,12 +387,6 @@
     <br/>
     Page 3 of 3&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~1">First</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~2">Previous</a>&nbsp;&nbsp;&nbsp;Next&nbsp;/&nbsp;Last
 <table class="datagrid">
-<caption>
-
-        
-        
-    
-</caption>
 
         
         
@@ -423,8 +401,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>YHOO</span></td>
@@ -433,13 +411,10 @@
 
             <td class="datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&amp;symbol=YHOO"><span>Yahoo Inc</span></a></td>
 
-        </tr>
-    
-<tr class="datagrid-footer">
-        
         
-    
-</tr></table>
+</tr>
+    </table>
+
 
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/basic/index.jsp">Reset</a>
@@ -478,7 +453,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -504,7 +479,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -516,7 +491,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f9e</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f37</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -551,12 +526,6 @@
     <br/>
     Page 1 of 3&nbsp;&nbsp;First&nbsp;/&nbsp;Previous&nbsp;&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~2">Next</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~3">Last</a>
 <table class="datagrid">
-<caption>
-
-        
-        
-    
-</caption>
 
         
         
@@ -571,8 +540,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -581,7 +550,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -589,13 +559,10 @@
 
             <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-        </tr>
-    
-<tr class="datagrid-footer">
         
-        
-    
-</tr></table>
+</tr>
+    </table>
+
 
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/basic/index.jsp">Reset</a>
@@ -634,7 +601,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -660,7 +627,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -672,7 +639,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f9e</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f37</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -707,12 +674,6 @@
     <br/>
     Page 3 of 3&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~1">First</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~2">Previous</a>&nbsp;&nbsp;&nbsp;Next&nbsp;/&nbsp;Last
 <table class="datagrid">
-<caption>
-
-        
-        
-    
-</caption>
 
         
         
@@ -727,8 +688,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>YHOO</span></td>
@@ -737,13 +698,10 @@
 
             <td class="datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&amp;symbol=YHOO"><span>Yahoo Inc</span></a></td>
 
-        </tr>
-    
-<tr class="datagrid-footer">
-        
         
-    
-</tr></table>
+</tr>
+    </table>
+
 
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/basic/index.jsp">Reset</a>
@@ -782,7 +740,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -808,7 +766,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -820,7 +778,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f9e</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f37</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -855,12 +813,6 @@
     <br/>
     Page 2 of 3&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~1">First</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~1">Previous</a>&nbsp;&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~3">Next</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~3">Last</a>
 <table class="datagrid">
-<caption>
-
-        
-        
-    
-</caption>
 
         
         
@@ -875,8 +827,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>GE</span></td>
@@ -885,7 +837,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.ge.com?rowid=3&amp;symbol=GE"><span>General Electric</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>RHAT</span></td>
 
@@ -893,13 +846,10 @@
 
             <td class="datagrid-data-cell"><a href="http://www.redhat.com?rowid=4&amp;symbol=RHAT"><span>RedHat Systems</span></a></td>
 
-        </tr>
-    
-<tr class="datagrid-footer">
         
-        
-    
-</tr></table>
+</tr>
+    </table>
+
 
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/basic/index.jsp">Reset</a>
@@ -938,7 +888,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -964,7 +914,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -976,7 +926,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f9e</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f37</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -1011,12 +961,6 @@
     <br/>
     Page 1 of 3&nbsp;&nbsp;First&nbsp;/&nbsp;Previous&nbsp;&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~2">Next</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~3">Last</a>
 <table class="datagrid">
-<caption>
-
-        
-        
-    
-</caption>
 
         
         
@@ -1031,8 +975,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -1041,7 +985,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -1049,13 +994,10 @@
 
             <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-        </tr>
-    
-<tr class="datagrid-footer">
-        
         
-    
-</tr></table>
+</tr>
+    </table>
+
 
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/basic/index.jsp">Reset</a>
@@ -1094,7 +1036,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -1120,7 +1062,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -1132,7 +1074,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f9e</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f37</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -1167,12 +1109,6 @@
     <br/>
     Page 3 of 3&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~1">First</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~2">Previous</a>&nbsp;&nbsp;&nbsp;Next&nbsp;/&nbsp;Last
 <table class="datagrid">
-<caption>
-
-        
-        
-    
-</caption>
 
         
         
@@ -1187,8 +1123,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>YHOO</span></td>
@@ -1197,13 +1133,10 @@
 
             <td class="datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&amp;symbol=YHOO"><span>Yahoo Inc</span></a></td>
 
-        </tr>
-    
-<tr class="datagrid-footer">
         
-        
-    
-</tr></table>
+</tr>
+    </table>
+
 
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/basic/index.jsp">Reset</a>
@@ -1242,7 +1175,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -1268,7 +1201,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -1280,7 +1213,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f9e</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f37</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -1315,12 +1248,6 @@
     <br/>
     Page 1 of 3&nbsp;&nbsp;First&nbsp;/&nbsp;Previous&nbsp;&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~2">Next</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/basic/begin.do?netui_page=portfolio~3">Last</a>
 <table class="datagrid">
-<caption>
-
-        
-        
-    
-</caption>
 
         
         
@@ -1335,8 +1262,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -1345,7 +1272,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -1353,13 +1281,10 @@
 
             <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-        </tr>
-    
-<tr class="datagrid-footer">
-        
         
-    
-</tr></table>
+</tr>
+    </table>
+
 
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/basic/index.jsp">Reset</a>
@@ -1381,9 +1306,9 @@
          </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>26 Aug 2004, 12:09:46.842 AM MDT</ses:endDate>
+   <ses:endDate>03 Nov 2004, 02:30:44.258 PM MST</ses:endDate>
    <ses:sessionStatus>fail</ses:sessionStatus>
    <ses:testCount>9</ses:testCount>
    <ses:passedCount>0</ses:passedCount>
    <ses:failedCount>9</ses:failedCount>
-</ses:recorderSession>
+</ses:recorderSession>
\ No newline at end of file

Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerCustomSelect.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerCustomSelect.xml	(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerCustomSelect.xml	Fri Nov  5 09:27:31 2004
@@ -2,7 +2,7 @@
 <ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
    <ses:sessionName>DataGridPagerCustomSelect</ses:sessionName>
    <ses:tester>ekoneil</ses:tester>
-   <ses:startDate>26 Aug 2004, 12:09:46.982 AM MDT</ses:startDate>
+   <ses:startDate>03 Nov 2004, 02:30:44.409 PM MST</ses:startDate>
    <ses:description>ekoneil</ses:description>
    <ses:tests>
       <ses:test>
@@ -18,7 +18,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -44,7 +44,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -56,7 +56,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f94</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f2d</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -91,13 +91,6 @@
     <br/>
     
 <table class="datagrid">
-<caption>
-
-        
-        
-        
-    
-</caption>
 
         
         
@@ -112,8 +105,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -122,7 +115,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -130,7 +124,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-        </tr>
+        
+</tr>
         
     
 <tr class="datagrid-footer">
@@ -230,6 +225,7 @@
     
 </tr></table>
 
+
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/customselect/index.jsp">Reset</a>
     <br/>
@@ -267,7 +263,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -293,7 +289,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -305,7 +301,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f94</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f2d</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -340,13 +336,6 @@
     <br/>
     
 <table class="datagrid">
-<caption>
-
-        
-        
-        
-    
-</caption>
 
         
         
@@ -361,8 +350,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>GE</span></td>
@@ -371,7 +360,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.ge.com?rowid=3&amp;symbol=GE"><span>General Electric</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>RHAT</span></td>
 
@@ -379,7 +369,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.redhat.com?rowid=4&amp;symbol=RHAT"><span>RedHat Systems</span></a></td>
 
-        </tr>
+        
+</tr>
         
     
 <tr class="datagrid-footer">
@@ -479,6 +470,7 @@
     
 </tr></table>
 
+
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/customselect/index.jsp">Reset</a>
     <br/>
@@ -516,7 +508,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -542,7 +534,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -554,7 +546,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f94</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f2d</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -589,13 +581,6 @@
     <br/>
     
 <table class="datagrid">
-<caption>
-
-        
-        
-        
-    
-</caption>
 
         
         
@@ -610,8 +595,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>YHOO</span></td>
@@ -620,7 +605,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&amp;symbol=YHOO"><span>Yahoo Inc</span></a></td>
 
-        </tr>
+        
+</tr>
         
     
 <tr class="datagrid-footer">
@@ -720,6 +706,7 @@
     
 </tr></table>
 
+
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/customselect/index.jsp">Reset</a>
     <br/>
@@ -757,7 +744,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -783,7 +770,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -795,7 +782,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f94</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f2d</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -830,13 +817,6 @@
     <br/>
     
 <table class="datagrid">
-<caption>
-
-        
-        
-        
-    
-</caption>
 
         
         
@@ -851,8 +831,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -861,7 +841,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -869,7 +850,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-        </tr>
+        
+</tr>
         
     
 <tr class="datagrid-footer">
@@ -969,6 +951,7 @@
     
 </tr></table>
 
+
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/customselect/index.jsp">Reset</a>
     <br/>
@@ -1006,7 +989,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -1032,7 +1015,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -1044,7 +1027,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f94</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f2d</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -1079,13 +1062,6 @@
     <br/>
     
 <table class="datagrid">
-<caption>
-
-        
-        
-        
-    
-</caption>
 
         
         
@@ -1100,8 +1076,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>GE</span></td>
@@ -1110,7 +1086,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.ge.com?rowid=3&amp;symbol=GE"><span>General Electric</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>RHAT</span></td>
 
@@ -1118,7 +1095,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.redhat.com?rowid=4&amp;symbol=RHAT"><span>RedHat Systems</span></a></td>
 
-        </tr>
+        
+</tr>
         
     
 <tr class="datagrid-footer">
@@ -1218,6 +1196,7 @@
     
 </tr></table>
 
+
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/customselect/index.jsp">Reset</a>
     <br/>
@@ -1255,7 +1234,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -1281,7 +1260,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -1293,7 +1272,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f94</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f2d</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -1328,13 +1307,6 @@
     <br/>
     
 <table class="datagrid">
-<caption>
-
-        
-        
-        
-    
-</caption>
 
         
         
@@ -1349,8 +1321,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>YHOO</span></td>
@@ -1359,7 +1331,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&amp;symbol=YHOO"><span>Yahoo Inc</span></a></td>
 
-        </tr>
+        
+</tr>
         
     
 <tr class="datagrid-footer">
@@ -1459,6 +1432,7 @@
     
 </tr></table>
 
+
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/customselect/index.jsp">Reset</a>
     <br/>
@@ -1479,9 +1453,9 @@
          </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>26 Aug 2004, 12:09:47.302 AM MDT</ses:endDate>
+   <ses:endDate>03 Nov 2004, 02:30:47.854 PM MST</ses:endDate>
    <ses:sessionStatus>fail</ses:sessionStatus>
    <ses:testCount>6</ses:testCount>
    <ses:passedCount>0</ses:passedCount>
    <ses:failedCount>6</ses:failedCount>
-</ses:recorderSession>
+</ses:recorderSession>
\ No newline at end of file

Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerEmpty.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerEmpty.xml	(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerEmpty.xml	Fri Nov  5 09:27:31 2004
@@ -2,7 +2,7 @@
 <ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
    <ses:sessionName>DataGridPagerEmpty</ses:sessionName>
    <ses:tester>ekoneil</ses:tester>
-   <ses:startDate>19 Aug 2004, 11:43:31.049 AM MDT</ses:startDate>
+   <ses:startDate>03 Nov 2004, 02:30:47.984 PM MST</ses:startDate>
    <ses:description>ekoneil</ses:description>
    <ses:tests>
       <ses:test>
@@ -18,7 +18,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>CAED24AD1D81195F088D68FDF9585D9C</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -44,7 +44,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=CAED24AD1D81195F088D68FDF9585D9C; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -56,7 +56,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-f18affb:fe781ea1fa:-7fc9</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f26</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -88,13 +88,6 @@
       <br/>
       No data to display
 <table class="datagrid">
-<caption>
-
-          
-          
-          
-      
-</caption>
 
           
           
@@ -109,8 +102,8 @@
               <th class="datagrid-header-cell">Web</th>
 
 
-          </tr>
-</thead>
+          
+</tr></thead>
 
           
       
@@ -125,6 +118,7 @@
       
 </tr></table>
 
+
       <br/>
       <a href="/coreWeb/databinding/datagrid/pager/empty/index.jsp">Reset</a>
       <br/>
@@ -141,13 +135,13 @@
 </html>]]></ses:responseBody>
          </ses:response>
          <ses:testResults>
-            <ses:testStatus>fail</ses:testStatus>
+            <ses:testStatus>pass</ses:testStatus>
          </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>19 Aug 2004, 11:43:31.149 AM MDT</ses:endDate>
-   <ses:sessionStatus>fail</ses:sessionStatus>
+   <ses:endDate>03 Nov 2004, 02:30:48.044 PM MST</ses:endDate>
+   <ses:sessionStatus>pass</ses:sessionStatus>
    <ses:testCount>1</ses:testCount>
-   <ses:passedCount>0</ses:passedCount>
-   <ses:failedCount>1</ses:failedCount>
-</ses:recorderSession>
+   <ses:passedCount>1</ses:passedCount>
+   <ses:failedCount>0</ses:failedCount>
+</ses:recorderSession>
\ No newline at end of file

Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerInCaption.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerInCaption.xml	(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerInCaption.xml	Fri Nov  5 09:27:31 2004
@@ -2,7 +2,7 @@
 <ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
    <ses:sessionName>DataGridPagerInCaption</ses:sessionName>
    <ses:tester>ekoneil</ses:tester>
-   <ses:startDate>26 Aug 2004, 12:09:47.463 AM MDT</ses:startDate>
+   <ses:startDate>03 Nov 2004, 02:30:48.105 PM MST</ses:startDate>
    <ses:description>ekoneil</ses:description>
    <ses:tests>
       <ses:test>
@@ -18,7 +18,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -44,7 +44,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -56,7 +56,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f8b</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f24</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -91,15 +91,14 @@
     <br/>
     
 <table class="datagrid">
-<caption>
 
+<caption>
         
         
           <table><tr><td>Page 1 of 3&nbsp;&nbsp;First&nbsp;/&nbsp;Previous&nbsp;&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~2">Next</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~3">Last</a></td></tr></table>
         
         
-    
-</caption>
+    </caption>
 
         
         
@@ -115,8 +114,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -125,7 +124,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -133,14 +133,10 @@
 
             <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-        </tr>
-    
-<tr class="datagrid-footer">
         
-        
-        
-    
-</tr></table>
+</tr>
+    </table>
+
 
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/incaption/index.jsp">Reset</a>
@@ -179,7 +175,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -205,7 +201,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -217,7 +213,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f8b</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f24</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -252,15 +248,14 @@
     <br/>
     
 <table class="datagrid">
-<caption>
 
+<caption>
         
         
           <table><tr><td>Page 2 of 3&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~1">First</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~1">Previous</a>&nbsp;&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~3">Next</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~3">Last</a></td></tr></table>
         
         
-    
-</caption>
+    </caption>
 
         
         
@@ -276,8 +271,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>GE</span></td>
@@ -286,7 +281,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.ge.com?rowid=3&amp;symbol=GE"><span>General Electric</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>RHAT</span></td>
 
@@ -294,14 +290,10 @@
 
             <td class="datagrid-data-cell"><a href="http://www.redhat.com?rowid=4&amp;symbol=RHAT"><span>RedHat Systems</span></a></td>
 
-        </tr>
-    
-<tr class="datagrid-footer">
-        
         
-        
-    
-</tr></table>
+</tr>
+    </table>
+
 
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/incaption/index.jsp">Reset</a>
@@ -340,7 +332,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -366,7 +358,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -378,7 +370,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f8b</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f24</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -413,15 +405,14 @@
     <br/>
     
 <table class="datagrid">
-<caption>
 
+<caption>
         
         
           <table><tr><td>Page 3 of 3&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~1">First</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~2">Previous</a>&nbsp;&nbsp;&nbsp;Next&nbsp;/&nbsp;Last</td></tr></table>
         
         
-    
-</caption>
+    </caption>
 
         
         
@@ -437,8 +428,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>YHOO</span></td>
@@ -447,14 +438,10 @@
 
             <td class="datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&amp;symbol=YHOO"><span>Yahoo Inc</span></a></td>
 
-        </tr>
-    
-<tr class="datagrid-footer">
         
-        
-        
-    
-</tr></table>
+</tr>
+    </table>
+
 
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/incaption/index.jsp">Reset</a>
@@ -493,7 +480,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -519,7 +506,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -531,7 +518,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f8b</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f24</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -566,15 +553,14 @@
     <br/>
     
 <table class="datagrid">
-<caption>
 
+<caption>
         
         
           <table><tr><td>Page 1 of 3&nbsp;&nbsp;First&nbsp;/&nbsp;Previous&nbsp;&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~2">Next</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~3">Last</a></td></tr></table>
         
         
-    
-</caption>
+    </caption>
 
         
         
@@ -590,8 +576,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -600,7 +586,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -608,14 +595,10 @@
 
             <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-        </tr>
-    
-<tr class="datagrid-footer">
-        
         
-        
-    
-</tr></table>
+</tr>
+    </table>
+
 
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/incaption/index.jsp">Reset</a>
@@ -654,7 +637,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -680,7 +663,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -692,7 +675,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f8b</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f24</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -727,15 +710,14 @@
     <br/>
     
 <table class="datagrid">
-<caption>
 
+<caption>
         
         
           <table><tr><td>Page 3 of 3&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~1">First</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~2">Previous</a>&nbsp;&nbsp;&nbsp;Next&nbsp;/&nbsp;Last</td></tr></table>
         
         
-    
-</caption>
+    </caption>
 
         
         
@@ -751,8 +733,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>YHOO</span></td>
@@ -761,14 +743,10 @@
 
             <td class="datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&amp;symbol=YHOO"><span>Yahoo Inc</span></a></td>
 
-        </tr>
-    
-<tr class="datagrid-footer">
         
-        
-        
-    
-</tr></table>
+</tr>
+    </table>
+
 
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/incaption/index.jsp">Reset</a>
@@ -807,7 +785,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -833,7 +811,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -845,7 +823,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f8b</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f24</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -880,15 +858,14 @@
     <br/>
     
 <table class="datagrid">
-<caption>
 
+<caption>
         
         
           <table><tr><td>Page 2 of 3&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~1">First</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~1">Previous</a>&nbsp;&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~3">Next</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~3">Last</a></td></tr></table>
         
         
-    
-</caption>
+    </caption>
 
         
         
@@ -904,8 +881,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>GE</span></td>
@@ -914,7 +891,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.ge.com?rowid=3&amp;symbol=GE"><span>General Electric</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>RHAT</span></td>
 
@@ -922,14 +900,10 @@
 
             <td class="datagrid-data-cell"><a href="http://www.redhat.com?rowid=4&amp;symbol=RHAT"><span>RedHat Systems</span></a></td>
 
-        </tr>
-    
-<tr class="datagrid-footer">
-        
         
-        
-    
-</tr></table>
+</tr>
+    </table>
+
 
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/incaption/index.jsp">Reset</a>
@@ -968,7 +942,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -994,7 +968,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -1006,7 +980,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f8b</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f24</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -1041,15 +1015,14 @@
     <br/>
     
 <table class="datagrid">
-<caption>
 
+<caption>
         
         
           <table><tr><td>Page 1 of 3&nbsp;&nbsp;First&nbsp;/&nbsp;Previous&nbsp;&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~2">Next</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~3">Last</a></td></tr></table>
         
         
-    
-</caption>
+    </caption>
 
         
         
@@ -1065,8 +1038,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -1075,7 +1048,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -1083,14 +1057,10 @@
 
             <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-        </tr>
-    
-<tr class="datagrid-footer">
-        
-        
         
-    
-</tr></table>
+</tr>
+    </table>
+
 
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/incaption/index.jsp">Reset</a>
@@ -1129,7 +1099,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -1155,7 +1125,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -1167,7 +1137,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f8b</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f24</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -1202,15 +1172,14 @@
     <br/>
     
 <table class="datagrid">
-<caption>
 
+<caption>
         
         
           <table><tr><td>Page 3 of 3&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~1">First</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~2">Previous</a>&nbsp;&nbsp;&nbsp;Next&nbsp;/&nbsp;Last</td></tr></table>
         
         
-    
-</caption>
+    </caption>
 
         
         
@@ -1226,8 +1195,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>YHOO</span></td>
@@ -1236,14 +1205,10 @@
 
             <td class="datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&amp;symbol=YHOO"><span>Yahoo Inc</span></a></td>
 
-        </tr>
-    
-<tr class="datagrid-footer">
-        
         
-        
-    
-</tr></table>
+</tr>
+    </table>
+
 
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/incaption/index.jsp">Reset</a>
@@ -1282,7 +1247,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -1308,7 +1273,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -1320,7 +1285,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f8b</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f24</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -1355,15 +1320,14 @@
     <br/>
     
 <table class="datagrid">
-<caption>
 
+<caption>
         
         
           <table><tr><td>Page 1 of 3&nbsp;&nbsp;First&nbsp;/&nbsp;Previous&nbsp;&nbsp;&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~2">Next</a>&nbsp;/&nbsp;<a href="/coreWeb/databinding/datagrid/pager/incaption/begin.do?netui_page=portfolio~3">Last</a></td></tr></table>
         
         
-    
-</caption>
+    </caption>
 
         
         
@@ -1379,8 +1343,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -1389,7 +1353,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -1397,14 +1362,10 @@
 
             <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-        </tr>
-    
-<tr class="datagrid-footer">
-        
-        
         
-    
-</tr></table>
+</tr>
+    </table>
+
 
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/incaption/index.jsp">Reset</a>
@@ -1426,9 +1387,9 @@
          </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>26 Aug 2004, 12:09:47.713 AM MDT</ses:endDate>
+   <ses:endDate>03 Nov 2004, 02:30:49.511 PM MST</ses:endDate>
    <ses:sessionStatus>fail</ses:sessionStatus>
    <ses:testCount>9</ses:testCount>
    <ses:passedCount>0</ses:passedCount>
    <ses:failedCount>9</ses:failedCount>
-</ses:recorderSession>
+</ses:recorderSession>
\ No newline at end of file

Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerInFooter.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerInFooter.xml	(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridPagerInFooter.xml	Fri Nov  5 09:27:31 2004
@@ -2,7 +2,7 @@
 <ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
    <ses:sessionName>DataGridPagerInFooter</ses:sessionName>
    <ses:tester>ekoneil</ses:tester>
-   <ses:startDate>26 Aug 2004, 12:09:47.823 AM MDT</ses:startDate>
+   <ses:startDate>03 Nov 2004, 02:30:49.631 PM MST</ses:startDate>
    <ses:description>ekoneil</ses:description>
    <ses:tests>
       <ses:test>
@@ -18,7 +18,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -44,7 +44,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -56,7 +56,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f81</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f1a</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -91,13 +91,6 @@
     <br/>
     
 <table class="datagrid">
-<caption>
-
-        
-        
-        
-    
-</caption>
 
         
         
@@ -112,8 +105,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -122,7 +115,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -130,7 +124,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-        </tr>
+        
+</tr>
         
     
 <tr class="datagrid-footer">
@@ -144,6 +139,7 @@
     
 </tr></table>
 
+
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/infooter/index.jsp">Reset</a>
     <br/>
@@ -181,7 +177,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -207,7 +203,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -219,7 +215,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f81</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f1a</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -254,13 +250,6 @@
     <br/>
     
 <table class="datagrid">
-<caption>
-
-        
-        
-        
-    
-</caption>
 
         
         
@@ -275,8 +264,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>GE</span></td>
@@ -285,7 +274,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.ge.com?rowid=3&amp;symbol=GE"><span>General Electric</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>RHAT</span></td>
 
@@ -293,7 +283,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.redhat.com?rowid=4&amp;symbol=RHAT"><span>RedHat Systems</span></a></td>
 
-        </tr>
+        
+</tr>
         
     
 <tr class="datagrid-footer">
@@ -307,6 +298,7 @@
     
 </tr></table>
 
+
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/infooter/index.jsp">Reset</a>
     <br/>
@@ -344,7 +336,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -370,7 +362,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -382,7 +374,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f81</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f1a</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -417,13 +409,6 @@
     <br/>
     
 <table class="datagrid">
-<caption>
-
-        
-        
-        
-    
-</caption>
 
         
         
@@ -438,8 +423,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>YHOO</span></td>
@@ -448,7 +433,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&amp;symbol=YHOO"><span>Yahoo Inc</span></a></td>
 
-        </tr>
+        
+</tr>
         
     
 <tr class="datagrid-footer">
@@ -462,6 +448,7 @@
     
 </tr></table>
 
+
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/infooter/index.jsp">Reset</a>
     <br/>
@@ -499,7 +486,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -525,7 +512,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -537,7 +524,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f81</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f1a</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -572,13 +559,6 @@
     <br/>
     
 <table class="datagrid">
-<caption>
-
-        
-        
-        
-    
-</caption>
 
         
         
@@ -593,8 +573,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -603,7 +583,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -611,7 +592,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-        </tr>
+        
+</tr>
         
     
 <tr class="datagrid-footer">
@@ -625,6 +607,7 @@
     
 </tr></table>
 
+
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/infooter/index.jsp">Reset</a>
     <br/>
@@ -662,7 +645,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -688,7 +671,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -700,7 +683,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f81</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f1a</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -735,13 +718,6 @@
     <br/>
     
 <table class="datagrid">
-<caption>
-
-        
-        
-        
-    
-</caption>
 
         
         
@@ -756,8 +732,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>YHOO</span></td>
@@ -766,7 +742,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&amp;symbol=YHOO"><span>Yahoo Inc</span></a></td>
 
-        </tr>
+        
+</tr>
         
     
 <tr class="datagrid-footer">
@@ -780,6 +757,7 @@
     
 </tr></table>
 
+
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/infooter/index.jsp">Reset</a>
     <br/>
@@ -817,7 +795,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -843,7 +821,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -855,7 +833,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f81</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f1a</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -890,13 +868,6 @@
     <br/>
     
 <table class="datagrid">
-<caption>
-
-        
-        
-        
-    
-</caption>
 
         
         
@@ -911,8 +882,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>GE</span></td>
@@ -921,7 +892,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.ge.com?rowid=3&amp;symbol=GE"><span>General Electric</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>RHAT</span></td>
 
@@ -929,7 +901,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.redhat.com?rowid=4&amp;symbol=RHAT"><span>RedHat Systems</span></a></td>
 
-        </tr>
+        
+</tr>
         
     
 <tr class="datagrid-footer">
@@ -943,6 +916,7 @@
     
 </tr></table>
 
+
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/infooter/index.jsp">Reset</a>
     <br/>
@@ -980,7 +954,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -1006,7 +980,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -1018,7 +992,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f81</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f1a</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -1053,13 +1027,6 @@
     <br/>
     
 <table class="datagrid">
-<caption>
-
-        
-        
-        
-    
-</caption>
 
         
         
@@ -1074,8 +1041,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -1084,7 +1051,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -1092,7 +1060,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-        </tr>
+        
+</tr>
         
     
 <tr class="datagrid-footer">
@@ -1106,6 +1075,7 @@
     
 </tr></table>
 
+
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/infooter/index.jsp">Reset</a>
     <br/>
@@ -1143,7 +1113,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -1169,7 +1139,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -1181,7 +1151,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f81</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f1a</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -1216,13 +1186,6 @@
     <br/>
     
 <table class="datagrid">
-<caption>
-
-        
-        
-        
-    
-</caption>
 
         
         
@@ -1237,8 +1200,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>YHOO</span></td>
@@ -1247,7 +1210,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&amp;symbol=YHOO"><span>Yahoo Inc</span></a></td>
 
-        </tr>
+        
+</tr>
         
     
 <tr class="datagrid-footer">
@@ -1261,6 +1225,7 @@
     
 </tr></table>
 
+
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/infooter/index.jsp">Reset</a>
     <br/>
@@ -1298,7 +1263,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -1324,7 +1289,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -1336,7 +1301,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f81</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f1a</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -1371,13 +1336,6 @@
     <br/>
     
 <table class="datagrid">
-<caption>
-
-        
-        
-        
-    
-</caption>
 
         
         
@@ -1392,8 +1350,8 @@
             <th class="datagrid-header-cell">Web</th>
 
 
-        </tr>
-</thead>
+        
+</tr></thead>
 
 <tr class="datagrid-even">
             <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -1402,7 +1360,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-        </tr>
+        
+</tr>
 <tr class="datagrid-odd">
             <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -1410,7 +1369,8 @@
 
             <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-        </tr>
+        
+</tr>
         
     
 <tr class="datagrid-footer">
@@ -1424,6 +1384,7 @@
     
 </tr></table>
 
+
     <br/>
     <a href="/coreWeb/databinding/datagrid/pager/infooter/index.jsp">Reset</a>
     <br/>
@@ -1444,9 +1405,9 @@
          </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>26 Aug 2004, 12:09:48.104 AM MDT</ses:endDate>
+   <ses:endDate>03 Nov 2004, 02:30:51.520 PM MST</ses:endDate>
    <ses:sessionStatus>fail</ses:sessionStatus>
    <ses:testCount>9</ses:testCount>
    <ses:passedCount>0</ses:passedCount>
    <ses:failedCount>9</ses:failedCount>
-</ses:recorderSession>
+</ses:recorderSession>
\ No newline at end of file

Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridScriptletTagFile.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridScriptletTagFile.xml	(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridScriptletTagFile.xml	Fri Nov  5 09:27:31 2004
@@ -2,7 +2,7 @@
 <ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
    <ses:sessionName>DataGridScriptletTagFile</ses:sessionName>
    <ses:tester>ekoneil</ses:tester>
-   <ses:startDate>26 Aug 2004, 12:09:48.184 AM MDT</ses:startDate>
+   <ses:startDate>03 Nov 2004, 02:30:51.821 PM MST</ses:startDate>
    <ses:description>ekoneil</ses:description>
    <ses:tests>
       <ses:test>
@@ -18,7 +18,7 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>2167E077D4F8B27516227F939E72CE73</ses:value>
+                  <ses:value>D8C6463BE90B058F6CB913D763EBB403</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
@@ -44,7 +44,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; JSESSIONID=2167E077D4F8B27516227F939E72CE73; $Path=/coreWeb</ses:value>
+                  <ses:value>$Version=0; JSESSIONID=D8C6463BE90B058F6CB913D763EBB403; $Path=/coreWeb</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -56,7 +56,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7f77</ses:value>
+                  <ses:value>5d613590:ffff08a735:-7f10</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -91,8 +91,8 @@
 <br/>
 Page 1 of 1&nbsp;&nbsp;&nbsp;
 <table class="datagrid">
-<caption>
 
+<caption>
     
       
 
@@ -102,7 +102,6 @@
     
     
     
-
 </caption>
 
     
@@ -126,8 +125,8 @@
         </th>
 
 
-    </tr>
-</thead>
+    
+</tr></thead>
 
 <tr class="datagrid-even">
         <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -136,7 +135,8 @@
 
         <td class="datagrid-data-cell"><span>14.35</span></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-odd">
         <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -144,7 +144,8 @@
 
         <td class="datagrid-data-cell"><span>19.42</span></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-even">
         <td class="datagrid-data-cell"><span>GE</span></td>
 
@@ -152,7 +153,8 @@
 
         <td class="datagrid-data-cell"><span>59.42</span></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-odd">
         <td class="datagrid-data-cell"><span>RHAT</span></td>
 
@@ -160,7 +162,8 @@
 
         <td class="datagrid-data-cell"><span>18.2</span></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-even">
         <td class="datagrid-data-cell"><span>YHOO</span></td>
 
@@ -168,7 +171,8 @@
 
         <td class="datagrid-data-cell"><span>48.16</span></td>
 
-    </tr>
+    
+</tr>
     
 
 <tr class="datagrid-footer">
@@ -186,6 +190,7 @@
 
 </tr></table>
 
+
 <br/>
 <a href="/coreWeb/databinding/datagrid/scriptlettagfile/index.jsp">Reset</a>
 <br/>
@@ -206,9 +211,9 @@
          </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>26 Aug 2004, 12:09:48.224 AM MDT</ses:endDate>
+   <ses:endDate>03 Nov 2004, 02:30:54.603 PM MST</ses:endDate>
    <ses:sessionStatus>fail</ses:sessionStatus>
    <ses:testCount>1</ses:testCount>
    <ses:passedCount>0</ses:passedCount>
    <ses:failedCount>1</ses:failedCount>
-</ses:recorderSession>
+</ses:recorderSession>
\ No newline at end of file

Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridSmokeTest.xml
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridSmokeTest.xml	(original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridSmokeTest.xml	Fri Nov  5 09:27:31 2004
@@ -2,7 +2,7 @@
 <ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
    <ses:sessionName>DataGridSmokeTest</ses:sessionName>
    <ses:tester>ekoneil</ses:tester>
-   <ses:startDate>26 Aug 2004, 12:09:44.629 AM MDT</ses:startDate>
+   <ses:startDate>05 Nov 2004, 09:20:47.431 AM MST</ses:startDate>
    <ses:description>ekoneil</ses:description>
    <ses:tests>
       <ses:test>
@@ -15,7 +15,12 @@
             <ses:uri>/coreWeb/databinding/datagrid/basic/Controller.jpf</ses:uri>
             <ses:method>GET</ses:method>
             <ses:parameters/>
-            <ses:cookies/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>E41EF027A52A8872B048DE39F5BB8BA7</ses:value>
+               </ses:cookie>
+            </ses:cookies>
             <ses:headers>
                <ses:header>
                   <ses:name>accept</ses:name>
@@ -38,6 +43,10 @@
                   <ses:value>keep-alive</ses:value>
                </ses:header>
                <ses:header>
+                  <ses:name>cookie</ses:name>
+                  <ses:value>$Version=0; JSESSIONID=E41EF027A52A8872B048DE39F5BB8BA7; $Path=/coreWeb</ses:value>
+               </ses:header>
+               <ses:header>
                   <ses:name>host</ses:name>
                   <ses:value>localhost:8080</ses:value>
                </ses:header>
@@ -47,7 +56,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-1221a246:fe99922436:-7fa8</ses:value>
+                  <ses:value>36e4da92:1000988e50d:-7f98</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>user-agent</ses:name>
@@ -62,7 +71,7 @@
 	"http://www.w3.org/TR/html4/loose.dtd">
 <html lang="en">
 
-<head>
+  <head>
     <title>NetUI Data Grid Samples</title>
     <link rel="stylesheet" href="/coreWeb/databinding/datagrid/site/css/default.css" type="text/css"/>
   </head>
@@ -82,11 +91,6 @@
 <br/>
 Page 1 of 1&nbsp;&nbsp;&nbsp;
 <table class="datagrid">
-<caption>
-
-    
-
-</caption>
 
     
 <thead>
@@ -100,8 +104,8 @@
         <th class="datagrid-header-cell">Web</th>
 
 
-    </tr>
-</thead>
+    
+</tr></thead>
 
 <tr class="datagrid-even">
         <td class="datagrid-data-cell"><span>BEAS</span></td>
@@ -110,7 +114,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.bea.com?rowid=1&amp;symbol=BEAS"><span>BEA Systems</span></a></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-odd">
         <td class="datagrid-data-cell"><span>CSCO</span></td>
 
@@ -118,7 +123,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&amp;symbol=CSCO"><span>Cisco Systems</span></a></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-even">
         <td class="datagrid-data-cell"><span>GE</span></td>
 
@@ -126,7 +132,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.ge.com?rowid=3&amp;symbol=GE"><span>General Electric</span></a></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-odd">
         <td class="datagrid-data-cell"><span>RHAT</span></td>
 
@@ -134,7 +141,8 @@
 
         <td class="datagrid-data-cell"><a href="http://www.redhat.com?rowid=4&amp;symbol=RHAT"><span>RedHat Systems</span></a></td>
 
-    </tr>
+    
+</tr>
 <tr class="datagrid-even">
         <td class="datagrid-data-cell"><span>YHOO</span></td>
 
@@ -142,12 +150,10 @@
 
         <td class="datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&amp;symbol=YHOO"><span>Yahoo Inc</span></a></td>
 
-    </tr>
-
-<tr class="datagrid-footer">
     
+</tr>
+</table>
 
-</tr></table>
 
 <br/>
 <a href="/coreWeb/databinding/datagrid/basic/index.jsp">Reset</a>
@@ -169,9 +175,9 @@
          </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>26 Aug 2004, 12:09:45.900 AM MDT</ses:endDate>
+   <ses:endDate>05 Nov 2004, 09:20:49.254 AM MST</ses:endDate>
    <ses:sessionStatus>fail</ses:sessionStatus>
    <ses:testCount>1</ses:testCount>
    <ses:passedCount>0</ses:passedCount>
    <ses:failedCount>1</ses:failedCount>
-</ses:recorderSession>
+</ses:recorderSession>
\ No newline at end of file