Author: ekoneil
Date: Tue Mar  8 08:55:33 2005
New Revision: 156543

URL: http://svn.apache.org/viewcvs?view=rev&rev=156543
Log:
Various data grid fixes:

- add a SortStrategy for plugging-in a state machine used to configure the 
order in which sorts flip
- fixes for
  - JIRA 401.  In the case that the configurePager tag wasn't used, there was 
not pager URI specified, and this defaults that pager URI to the current 
request URI.  To override this, use the <netui-data:configurePager> tag.
  - JIRA 418.  The sort and filter URL syntaxes are now consistent with the 
structure "<namespace>;<data>,<data>,..."

BB: self
DRT: NetUI pass
BVT: NetUI pxass


Added:
    
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/SortStrategy.java
   (with props)
    
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultSortStrategy.java
   (with props)
    
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j401/
    
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j401/Controller.jpf
   (with props)
    
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j401/index.jsp
   (with props)
    
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridJ401.xml
Modified:
    
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/PagerRenderer.java
    
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/Sort.java
    
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/SortDirection.java
    
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridURLService.java
    
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultDataGridConfig.java
    
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/codec/SortCodec.java
    
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/ConfigurePager.java
    
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java
    
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/DefaultSortTest.java
    
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortCodecTest.java
    
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortModelTest.java
    
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/servlet/HttpServletRequestHandler.java
    
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/simplesort/index.jsp
    
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
    
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridSimpleSort.xml

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/PagerRenderer.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/PagerRenderer.java?view=diff&r1=156542&r2=156543
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/PagerRenderer.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/PagerRenderer.java
 Tue Mar  8 08:55:33 2005
@@ -137,9 +137,18 @@
 
     protected String buildPageUri(Map queryParams) {
         String uri = null;
+
+        /*
+           if there isn't a defined page href, set one here.
+           note, this defaults to the curernt request URI.  In the absence of
+           anything else, it's hard (impossible?) to determine if this is an
+           action, so we default to something reasonable which is a request 
URI.
+         */
+        String href = _pagerModel.getPageHref() != null ? 
_pagerModel.getPageHref() : _request.getRequestURI();
+
         try {
             uri = JspUtil.createURL(
-                _pagerModel.getPageHref(),
+                href,
                 _pagerModel.getPageAction(),
                 null,
                 null,

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/Sort.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/Sort.java?view=diff&r1=156542&r2=156543
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/Sort.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/Sort.java
 Tue Mar  8 08:55:33 2005
@@ -17,6 +17,8 @@
  */
 package org.apache.beehive.netui.databinding.datagrid.api.sort;
 
+import 
org.apache.beehive.netui.databinding.datagrid.runtime.DefaultSortStrategy;
+
 /**
  *
  */
@@ -24,17 +26,25 @@
 
     private String _sortExpression;
     private SortDirection _sortDirection;
+    private SortStrategy _sortStrategy;
 
     public Sort() {
     }
 
     public Sort(String sortExpression, SortDirection sortDirection) {
         this();
-        
         _sortExpression = sortExpression;
         _sortDirection = sortDirection;
     }
 
+    public SortStrategy getSortStrategy() {
+        return _sortStrategy;
+    }
+
+    public void setSortStrategy(SortStrategy sortStrategy) {
+        _sortStrategy = sortStrategy;
+    }
+
     public String getSortExpression() {
         return _sortExpression;
     }
@@ -54,6 +64,9 @@
     }
 
     public void changeSortDirection() {
-        _sortDirection = _sortDirection.flipDirection();
+        if(_sortStrategy == null)
+            throw new IllegalStateException("Unable to change the sort 
direction.  The sort strategy is null.");
+        
+        _sortDirection = _sortStrategy.nextDirection(_sortDirection);
     }
 }

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/SortDirection.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/SortDirection.java?view=diff&r1=156542&r2=156543
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/SortDirection.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/SortDirection.java
 Tue Mar  8 08:55:33 2005
@@ -20,13 +20,7 @@
 /**
  */
 public enum SortDirection {
-    ASCENDING, DESCENDING, NONE;
-
-    public SortDirection flipDirection() {
-        if(this == SortDirection.ASCENDING)
-            return SortDirection.DESCENDING;
-        else if(this == SortDirection.DESCENDING)
-            return SortDirection.ASCENDING;
-        else return SortDirection.ASCENDING;
-    }
+    ASCENDING,
+    DESCENDING,
+    NONE;
 }

Added: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/SortStrategy.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/SortStrategy.java?view=auto&rev=156543
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/SortStrategy.java
 (added)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/SortStrategy.java
 Tue Mar  8 08:55:33 2005
@@ -0,0 +1,26 @@
+/*
+ * 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.databinding.datagrid.api.sort;
+
+/**
+ *
+ */
+public abstract class SortStrategy {
+
+    public abstract SortDirection nextDirection(SortDirection direction);
+}

Propchange: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/SortStrategy.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridURLService.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridURLService.java?view=diff&r1=156542&r2=156543
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridURLService.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DataGridURLService.java
 Tue Mar  8 08:55:33 2005
@@ -162,7 +162,7 @@
             /* todo: move to SortCodec */
             StringBuilder sb = new StringBuilder();
             sb.append(namespace);
-            sb.append("~");
+            sb.append(";");
             if(sortDirection == SortDirection.DESCENDING)
                 sb.append("-");
             sb.append(sortExpression);

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultDataGridConfig.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultDataGridConfig.java?view=diff&r1=156542&r2=156543
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultDataGridConfig.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultDataGridConfig.java
 Tue Mar  8 08:55:33 2005
@@ -21,6 +21,7 @@
 
 import org.apache.beehive.netui.databinding.datagrid.api.sort.Sort;
 import org.apache.beehive.netui.databinding.datagrid.api.sort.SortModel;
+import org.apache.beehive.netui.databinding.datagrid.api.sort.SortStrategy;
 import org.apache.beehive.netui.databinding.datagrid.api.filter.Filter;
 import org.apache.beehive.netui.databinding.datagrid.api.filter.FilterModel;
 import org.apache.beehive.netui.databinding.datagrid.api.pager.PagerModel;
@@ -39,17 +40,20 @@
 public class DefaultDataGridConfig
     extends DataGridConfig {
 
-    private static final StyleModel DEFAULT_STYLE_POLICY = new 
DefaultStyleModel("datagrid");
-    private static final StyleModel EMPTY_STYLE_POLICY = new EmptyStyleModel();
     private static final String EMPTY_STYLE_POLICY_NAME = "empty";
     private static final String DEFAULT_STYLE_POLICY_NAME = "default";
+    private static final StyleModel DEFAULT_STYLE_POLICY = new 
DefaultStyleModel("datagrid");
+    private static final StyleModel EMPTY_STYLE_POLICY = new EmptyStyleModel();
+    private static final SortStrategy SORT_STRATEGY = new 
DefaultSortStrategy();
 
     public DataGridState createDataGridState() {
         return new DataGridState();
     }
 
     public Sort createSort() {
-        return new Sort();
+        Sort sort = new Sort();
+        sort.setSortStrategy(SORT_STRATEGY);
+        return sort;
     }
 
     public Filter createFilter() {

Added: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultSortStrategy.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultSortStrategy.java?view=auto&rev=156543
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultSortStrategy.java
 (added)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultSortStrategy.java
 Tue Mar  8 08:55:33 2005
@@ -0,0 +1,36 @@
+/*
+ * 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.databinding.datagrid.runtime;
+
+import org.apache.beehive.netui.databinding.datagrid.api.sort.SortDirection;
+import org.apache.beehive.netui.databinding.datagrid.api.sort.SortStrategy;
+
+/**
+ *
+ */
+public class DefaultSortStrategy 
+    extends SortStrategy {
+
+    public SortDirection nextDirection(SortDirection direction) {
+        if(direction == SortDirection.ASCENDING)
+            return SortDirection.DESCENDING;
+        else if(direction == SortDirection.DESCENDING)
+            return SortDirection.ASCENDING;
+        else return SortDirection.ASCENDING;
+    }
+}

Propchange: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/DefaultSortStrategy.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/codec/SortCodec.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/codec/SortCodec.java?view=diff&r1=156542&r2=156543
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/codec/SortCodec.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/codec/SortCodec.java
 Tue Mar  8 08:55:33 2005
@@ -30,10 +30,10 @@
  */
 public final class SortCodec {
 
-    /* Default sort syntax: netui_sort=<gridNamespace>~[+|-]<expr> */
-
-    private static final String SORT_DELIM = "~";
+    /* Default sort syntax: netui_sort=<gridNamespace>;<expr>,-<expr> */
+    private static final String GRID_NAME_DELIM = ";";
     private static final String SORT_TERM_DELIM = ",";
+    private static final String SORT_DESCENDING = "-";
 
     public String getQueryParamKey() {
         return "netui_sort";
@@ -49,31 +49,32 @@
         Map<String, List<Sort>> map = new HashMap<String, List<Sort>>();
 
         for(String sortParam : queryParams) {
-            String[] terms = sortParam.split(SORT_DELIM);
-            assert terms != null && terms.length == 2;
+            String[] nameAndSorts = sortParam.split(GRID_NAME_DELIM);
+            if(nameAndSorts.length != 2)
+                continue;
 
-            String namespace = terms[0];
+            String namespace = nameAndSorts[0];
+            String[] sorts = nameAndSorts[1].split(SORT_TERM_DELIM);
 
             // find the list of sorted columns
             // two columns of the bugs grid would be sorted as:
             //
             // netui_sort=bugs~id,-priority
-            ArrayList<Sort> sorts = new ArrayList<Sort>();
-            String[] cols = terms[1].split(SORT_TERM_DELIM);
-            for(String sortExpr : cols) {
+            ArrayList<Sort> gridSorts = new ArrayList<Sort>();
+            for(String sort : sorts) {
                 SortDirection sortDirection = SortDirection.NONE;
-                if(sortExpr.startsWith("-"))
+                if(sort.startsWith("-"))
                     sortDirection = SortDirection.DESCENDING;
                 else sortDirection = SortDirection.ASCENDING;
-                String sortExpression = (sortDirection == 
SortDirection.DESCENDING ? sortExpr.substring(1) : sortExpr);
+                String sortExpression = (sortDirection == 
SortDirection.DESCENDING ? sort.substring(1) : sort);
 
-                Sort sort = new Sort(sortExpression, sortDirection);
+                Sort gridSort = new Sort(sortExpression, sortDirection);
 
-                sorts.add(sort);
+                gridSorts.add(gridSort);
             }
 
-            if(sorts.size() > 0)
-                map.put(namespace, sorts);
+            if(gridSorts.size() > 0)
+                map.put(namespace, gridSorts);
         }
 
         return map;
@@ -90,7 +91,7 @@
     private String buildSortParamValue(String namespace, List<Sort> sorts, 
String sortExpression, SortDirection sortDirection, boolean isSorted) {
         StringBuilder sb = new StringBuilder();
         sb.append(namespace);
-        sb.append("~");
+        sb.append(GRID_NAME_DELIM);
 
         boolean hasTerms = false;
         for(int i = 0; i < sorts.size(); i++) {
@@ -99,22 +100,22 @@
             if(sortExpression != null && 
sortExpression.equals(sort.getSortExpression())) {
                 if(sortDirection != SortDirection.NONE) {
                     if(hasTerms)
-                        sb.append(",");
+                        sb.append(SORT_TERM_DELIM);
                     else hasTerms = true;
 
                     if(sortDirection == SortDirection.DESCENDING)
-                        sb.append("-");
+                        sb.append(SORT_DESCENDING);
                     sb.append(sortExpression);
                     hasTerms = true;
                 }
             }
             else {
                 if(hasTerms)
-                    sb.append(",");
+                    sb.append(SORT_TERM_DELIM);
                 else hasTerms = true;
 
                 if(sort.getDirection() == SortDirection.DESCENDING)
-                    sb.append("-");
+                    sb.append(SORT_DESCENDING);
                 sb.append(sort.getSortExpression());
             }
         }
@@ -122,9 +123,9 @@
         /* any new sorts are added at the end of the current sorts. */
         if(sortExpression != null && sortDirection != SortDirection.NONE && 
!isSorted) {
             if(hasTerms)
-                sb.append(",");
+                sb.append(SORT_TERM_DELIM);
             if(sortDirection == SortDirection.DESCENDING)
-                sb.append("-");
+                sb.append(SORT_DESCENDING);
             sb.append(sortExpression);
         }
 

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/ConfigurePager.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/ConfigurePager.java?view=diff&r1=156542&r2=156543
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/ConfigurePager.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/ConfigurePager.java
 Tue Mar  8 08:55:33 2005
@@ -149,9 +149,8 @@
             else throw new JspException("The pagerFormat \"" + _pagerFormat + 
"\" is not supported");
         }
 
-        if(pagerRenderer != null) {
+        if(pagerRenderer != null)
             dgm.setPagerRenderer(pagerRenderer);
-        }
 
         if(_pageHref != null && _pageAction != null)
             throw new JspException("The configurePager tag can't set both the 
pageAction and pageHref attributes");
@@ -162,8 +161,11 @@
             _pageHref = 
((HttpServletRequest)JspUtil.getRequest(getJspContext())).getRequestURI();
         }
 
-        pm.setPageHref(_pageHref);
-        pm.setPageAction(_pageAction);
+        if(_pageHref != null)
+            pm.setPageHref(_pageHref);
+
+        if(_pageAction != null)
+            pm.setPageAction(_pageAction);
 
         return;
     }

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java?view=diff&r1=156542&r2=156543
==============================================================================
--- 
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
 Tue Mar  8 08:55:33 2005
@@ -177,6 +177,7 @@
         PagedDataSet dataSet = new PagedDataSet(dataSource, iterator);
 
         StyleModel styleModel = 
_dataGridConfig.getStyleModel(_stylePolicyName, _styleClassPrefix);
+
         DataGridResourceProvider resourceProvider = null;
         if(_resourceBundlePath == null)
             resourceProvider = _dataGridConfig.getDefaultResourceProvider();

Modified: 
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/DefaultSortTest.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/DefaultSortTest.java?view=diff&r1=156542&r2=156543
==============================================================================
--- 
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/DefaultSortTest.java
 (original)
+++ 
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/DefaultSortTest.java
 Tue Mar  8 08:55:33 2005
@@ -23,6 +23,8 @@
 
 import org.apache.beehive.netui.databinding.datagrid.api.sort.SortDirection;
 import org.apache.beehive.netui.databinding.datagrid.api.sort.Sort;
+import org.apache.beehive.netui.databinding.datagrid.api.DataGridConfig;
+import 
org.apache.beehive.netui.databinding.datagrid.runtime.DefaultDataGridConfig;
 
 /**
  *
@@ -31,7 +33,8 @@
     extends TestCase {
 
     private Sort createSort() {
-        return new Sort();
+        DataGridConfig config = new DefaultDataGridConfig();
+        return config.createSort();
     }
 
     public void testChangeSortDirection() {

Modified: 
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortCodecTest.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortCodecTest.java?view=diff&r1=156542&r2=156543
==============================================================================
--- 
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortCodecTest.java
 (original)
+++ 
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortCodecTest.java
 Tue Mar  8 08:55:33 2005
@@ -51,7 +51,7 @@
     }
 
     public void testSingleAscendingSort() {
-        DataGridTestUtil.initQueryString(_request, "netui_sort=" + _namespace 
+ "~CUSTOMERNAME");
+        DataGridTestUtil.initQueryString(_request, "netui_sort=" + _namespace 
+ ";CUSTOMERNAME");
         SortCodec codec = new SortCodec();
         Map<String, List<Sort>> allSorts = 
codec.decode(_request.getParameterMap());
 
@@ -64,8 +64,8 @@
 
     public void testMultipleSort() {
         DataGridTestUtil.initQueryString(_request, "?" +
-            "netui_sort=" + _namespace + "~CUSTOMERNAME,-UNITPRICE" +
-            "&netui_sort=productGrid~QUANTITY");
+            "netui_sort=" + _namespace + ";CUSTOMERNAME,-UNITPRICE" +
+            "&netui_sort=productGrid;QUANTITY");
         SortCodec codec = new SortCodec();
         Map<String, List<Sort>> allSorts = 
codec.decode(_request.getParameterMap());
         List<Sort> sorts = allSorts.get(_namespace);
@@ -85,7 +85,7 @@
     }
 
     public void testSingleDescendingSort() {
-        DataGridTestUtil.initQueryString(_request, "netui_sort=" + _namespace 
+ "~-CUSTOMERNAME");
+        DataGridTestUtil.initQueryString(_request, "netui_sort=" + _namespace 
+ ";-CUSTOMERNAME");
         SortCodec codec = new SortCodec();
         Map<String, List<Sort>> allSorts = 
codec.decode(_request.getParameterMap());
         List<Sort> sorts = allSorts.get(_namespace);
@@ -97,7 +97,7 @@
     }
 
     public void testTwoDescendingSorts() {
-        DataGridTestUtil.initQueryString(_request, "netui_sort=" + _namespace 
+ "~-CUSTOMERNAME,-CUSTOMERID");
+        DataGridTestUtil.initQueryString(_request, "netui_sort=" + _namespace 
+ ";-CUSTOMERNAME,-CUSTOMERID");
         SortCodec codec = new SortCodec();
         Map<String, List<Sort>> allSorts = 
codec.decode(_request.getParameterMap());
         List<Sort> sorts = allSorts.get(_namespace);

Modified: 
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortModelTest.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortModelTest.java?view=diff&r1=156542&r2=156543
==============================================================================
--- 
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortModelTest.java
 (original)
+++ 
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortModelTest.java
 Tue Mar  8 08:55:33 2005
@@ -65,7 +65,7 @@
     }
 
     public void testSortModelSimple3() {
-        DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs~id");
+        DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs;id");
         DataGridURLService dgss = 
DataGridURLService.getInstance(_servletRequest);
         SortModel sortModel = dgss.getDataGridState(GRID_NAME).getSortModel();
 
@@ -83,11 +83,11 @@
 
         values = (String[])queryParams.get("netui_sort");
         assert values.length == 1;
-        assert values[0].equals("bugs~id");
+        assert values[0].equals("bugs;id");
     }
 
     public void testSortModelSimple4() {
-        DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs~id,-name");
+        DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs;id,-name");
         DataGridURLService dgss = 
DataGridURLService.getInstance(_servletRequest);
         SortModel sortModel = dgss.getDataGridState(GRID_NAME).getSortModel();
 
@@ -107,11 +107,11 @@
 
         values = (String[])queryParams.get("netui_sort");
         assert values.length == 1;
-        assert values[0].equals("bugs~id,-name");
+        assert values[0].equals("bugs;id,-name");
     }
 
     public void testSortModelSimple5() {
-        DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs~id,-name");
+        DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs;id,-name");
         DataGridURLService dgss = 
DataGridURLService.getInstance(_servletRequest);
         SortModel sortModel = dgss.getDataGridState(GRID_NAME).getSortModel();
 
@@ -131,7 +131,7 @@
 
         values = (String[])queryParams.get("netui_sort");
         assert values.length == 1;
-        assert values[0].equals("bugs~id,-name");
+        assert values[0].equals("bugs;id,-name");
 
         /* now, for the "id" expression, change the direction */
         queryParams = dgss.buildSortQueryParamsMap(GRID_NAME, "id", 
SortDirection.DESCENDING);
@@ -142,7 +142,7 @@
 
         values = (String[])queryParams.get("netui_sort");
         assert values.length == 1;
-        assert values[0].equals("bugs~-id,-name");
+        assert values[0].equals("bugs;-id,-name");
 
         /* now, for the "id" expression, change the direction */
         queryParams = dgss.buildSortQueryParamsMap(GRID_NAME, "id", 
SortDirection.NONE);
@@ -153,7 +153,7 @@
 
         values = (String[])queryParams.get("netui_sort");
         assert values.length == 1;
-        assert values[0].equals("bugs~-name");
+        assert values[0].equals("bugs;-name");
 
         /* now, for the "id" expression, change the direction */
         queryParams = dgss.buildSortQueryParamsMap(GRID_NAME, "id", 
SortDirection.ASCENDING);
@@ -164,7 +164,7 @@
 
         values = (String[])queryParams.get("netui_sort");
         assert values.length == 1;
-        assert values[0].equals("bugs~id,-name");
+        assert values[0].equals("bugs;id,-name");
 
         /* now, add a new column "newcolumn" and explicitly set its direction 
*/
         queryParams = dgss.buildSortQueryParamsMap(GRID_NAME, "newcolumn", 
SortDirection.DESCENDING);
@@ -175,7 +175,7 @@
 
         values = (String[])queryParams.get("netui_sort");
         assert values.length == 1;
-        assert values[0].equals("bugs~id,-name,-newcolumn");
+        assert values[0].equals("bugs;id,-name,-newcolumn");
 
         /* now, add a new column "newcolumn" and explicitly set its direction 
*/
         queryParams = dgss.buildSortQueryParamsMap(GRID_NAME, "name", 
SortDirection.NONE);
@@ -186,11 +186,11 @@
 
         values = (String[])queryParams.get("netui_sort");
         assert values.length == 1;
-        assert values[0].equals("bugs~id");
+        assert values[0].equals("bugs;id");
     }
 
     public void testSortModelSimple6() {
-        DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs~-id,-name");
+        DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs;-id,-name");
         DataGridURLService dgss = 
DataGridURLService.getInstance(_servletRequest);
         SortModel sortModel = dgss.getDataGridState(GRID_NAME).getSortModel();
 
@@ -203,11 +203,11 @@
 
         values = (String[])queryParams.get("netui_sort");
         assert values.length == 1;
-        assert values[0].equals("bugs~-name");
+        assert values[0].equals("bugs;-name");
     }
 
     public void testSortModelSimple7() {
-        DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs~-id");
+        DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs;-id");
         DataGridURLService dgss = 
DataGridURLService.getInstance(_servletRequest);
         SortModel sortModel = dgss.getDataGridState(GRID_NAME).getSortModel();
 
@@ -221,7 +221,7 @@
 
     /* this is a test of sorts for two grids on the same URL */
     public void testSortModelSimple8() {
-        DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs~id,-name&netui_sort=developers~bugcount,-milestone");
+        DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs;id,-name&netui_sort=developers;bugcount,-milestone");
         DataGridURLService dgss = 
DataGridURLService.getInstance(_servletRequest);
         SortModel sortModel = dgss.getDataGridState(GRID_NAME).getSortModel();
 
@@ -241,8 +241,8 @@
 
         values = (String[])queryParams.get("netui_sort");
         assert values.length == 2;
-        assert values[0].equals("developers~bugcount,-milestone");
-        assert values[1].equals("bugs~id,-name");
+        assert values[0].equals("developers;bugcount,-milestone");
+        assert values[1].equals("bugs;id,-name");
     }
 
     protected void setUp() {

Modified: 
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/servlet/HttpServletRequestHandler.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/servlet/HttpServletRequestHandler.java?view=diff&r1=156542&r2=156543
==============================================================================
--- 
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/servlet/HttpServletRequestHandler.java
 (original)
+++ 
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/servlet/HttpServletRequestHandler.java
 Tue Mar  8 08:55:33 2005
@@ -154,6 +154,8 @@
             return "/netuiFauxTestWeb";
         else if(method.getName().equals("getServletPath"))
             return "/netuiFauxTestWeb/fauxServlet";
+        else if(method.getName().equals("getRequestURI"))
+            return "/netuiFauxTestWeb/fauxServlet.jsp";
         else if(method.getName().equals("getLocale"))
             /* default to the US Locale just for simplicity in testing */
             return Locale.US;

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j401/Controller.jpf
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j401/Controller.jpf?view=auto&rev=156543
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j401/Controller.jpf
 (added)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j401/Controller.jpf
 Tue Mar  8 08:55:33 2005
@@ -0,0 +1,65 @@
+package databinding.datagrid.j401;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.apache.beehive.controls.api.bean.Control;
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+import org.apache.log4j.Logger;
+
+/**
+ * Some useful Controller for BEEHIVE-401.
+ */
[EMAIL PROTECTED] (
+   simpleActions={
+      @Jpf.SimpleAction( name="begin", path="index.jsp" )
+   }
+)
+public class Controller extends PageFlowController {
+
+   private static final Logger logger =
+      Logger.getLogger( "BEEHIVE-401 Controller" );
+
+   public Collection getMyData() {
+      Collection myData = new ArrayList( 11 );
+      myData.add( new SomeStuff( "01", "akj skdjkjfkjdss df") );
+      myData.add( new SomeStuff( "02", "akj skdjkjfkjdss df") );
+      myData.add( new SomeStuff( "03", "akj skdjkjfkjdss df") );
+      myData.add( new SomeStuff( "04", "akj skdjkjfkjdss df") );
+      myData.add( new SomeStuff( "05", "akj skdjkjfkjdss df") );
+      myData.add( new SomeStuff( "06", "akj skdjkjfkjdss df") );
+      myData.add( new SomeStuff( "07", "akj skdjkjfkjdss df") );
+      myData.add( new SomeStuff( "08", "akj skdjkjfkjdss df") );
+      myData.add( new SomeStuff( "09", "akj skdjkjfkjdss df") );
+      myData.add( new SomeStuff( "10", "akj skdjkjfkjdss df") );
+      myData.add( new SomeStuff( "11", "akj skdjkjfkjdss df") );
+      myData.add( new SomeStuff( "12", "akj skdjkjfkjdss df") );
+
+      return myData;
+   }
+
+   public static class SomeStuff {
+      private String row;
+      private String stuff;
+
+      public String getRow() {
+         return row;
+      }
+      public String getStuff() {
+         return stuff;
+      }
+      public void setRow( String row ) {
+         this.row = row;
+      }
+      public void setStuff( String stuff ) {
+         this.stuff = stuff;
+      }
+
+      public SomeStuff( String row, String stuff ) {
+         this.row = row;
+         this.stuff = stuff;
+      }
+   }
+}

Propchange: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j401/Controller.jpf
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j401/index.jsp
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j401/index.jsp?view=auto&rev=156543
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j401/index.jsp
 (added)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j401/index.jsp
 Tue Mar  8 08:55:33 2005
@@ -0,0 +1,28 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8" %>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0";
+   prefix="netui-data" %>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0"; prefix="netui" 
%>
+
+<netui:html>
+   <head>
+      <title>BEEHIVE-401 Index Page</title>
+      <netui:base />
+   </head>
+   <netui:body>
+      <p>
+         BEEHIVE-401 Index Page
+      </p>
+      <p>
+         <netui-data:dataGrid dataSource="pageFlow.myData" name="myDataGrid">
+            <netui-data:header>
+               <netui-data:headerCell headerText="Row"/>
+               <netui-data:headerCell headerText="Stuff"/>
+            </netui-data:header>
+            <netui-data:rows>
+               <netui-data:spanCell value="${container.item.row}"/>
+               <netui-data:spanCell value="${container.item.stuff}"/>
+            </netui-data:rows>
+         </netui-data:dataGrid>
+      </p>
+   </netui:body>
+</netui:html>

Propchange: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/j401/index.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/simplesort/index.jsp
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/simplesort/index.jsp?view=diff&r1=156542&r2=156543
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/simplesort/index.jsp
 (original)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/simplesort/index.jsp
 Tue Mar  8 08:55:33 2005
@@ -5,7 +5,7 @@
 <%@ taglib prefix="datagrid" 
tagdir="/WEB-INF/tags/org/apache/beehive/netui/test/databinding/tagfiles" %>
 
 <netui-template:template templatePage="../site/template.jsp">
-    <netui-template:setAttribute name="title" value="Basic Data Grid"/>
+    <netui-template:setAttribute name="title" value="Data Grid Simple Sort"/>
     <netui-template:section name="body">
     <p>
 <datagrid:portfolioXmlBean/>

Modified: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml?view=diff&r1=156542&r2=156543
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
 (original)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
 Tue Mar  8 08:55:33 2005
@@ -2844,6 +2844,21 @@
          </features>
       </test>
       <test>
+         <name>DataGridJ401</name>
+         <description>DataGridJ401</description>
+         <webapp>coreWeb</webapp>
+         <categories>
+            <category>bvt</category>
+            <category>bvt.struts11</category>
+            <category>databinding</category>
+            <category>datagrid</category>
+         </categories>
+         <features>
+            <feature>Databinding</feature>
+            <feature>Data Grid</feature>
+         </features>
+      </test>
+      <test>
          <name>DataGridJavaScriptSmoke</name>
          <description>DataGridJavaScriptSmoke</description>
          <webapp>coreWeb</webapp>

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridJ401.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridJ401.xml?view=auto&rev=156543
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridJ401.xml
 (added)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridJ401.xml
 Tue Mar  8 08:55:33 2005
@@ -0,0 +1,478 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession 
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session";>
+   <ses:sessionName>DataGridJ401</ses:sessionName>
+   <ses:tester>ekoneil</ses:tester>
+   <ses:startDate>07 Mar 2005, 02:10:19.130 PM MST</ses:startDate>
+   <ses:description>Data grid test for JIRA 401; default setting of a pager 
href from the pager URI.</ses:description>
+   <ses:tests>
+      <ses:test>
+         <ses:testNumber>1</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            
<ses:uri>/coreWeb/databinding/datagrid/j401/Controller.jpf</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>F292A4058B200A034B3F13E2C93B31F6</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  
<ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  
<ses:value>JSESSIONID=F292A4058B200A034B3F13E2C93B31F6</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</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.5) Gecko/20041107 Firefox/1.0</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+
+   <head>
+      <title>BEEHIVE-401 Index Page</title>
+      <base 
href="http://localhost:8080/coreWeb/databinding/datagrid/j401/index.jsp";>
+   </head>
+   <body>
+      <p>
+         BEEHIVE-401 Index Page
+      </p>
+      <p>
+         Page 1 of 2&nbsp;&nbsp;&nbsp;<a 
href="/coreWeb/databinding/datagrid/j401/index.jsp?netui_row=myDataGrid%7E10">Next</a>
+<table class="datagrid">
+
+            
+            
+         
+            
+<tr class="datagrid-header">
+               <th class="datagrid">Row</th>
+
+
+               <th class="datagrid">Stuff</th>
+
+
+            
+</tr>
+            
+         
+            
+            
+<tr class="datagrid-even">
+               <td class="datagrid"><span>01</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+<tr class="datagrid-odd">
+               <td class="datagrid"><span>02</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+<tr class="datagrid-even">
+               <td class="datagrid"><span>03</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+<tr class="datagrid-odd">
+               <td class="datagrid"><span>04</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+<tr class="datagrid-even">
+               <td class="datagrid"><span>05</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+<tr class="datagrid-odd">
+               <td class="datagrid"><span>06</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+<tr class="datagrid-even">
+               <td class="datagrid"><span>07</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+<tr class="datagrid-odd">
+               <td class="datagrid"><span>08</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+<tr class="datagrid-even">
+               <td class="datagrid"><span>09</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+<tr class="datagrid-odd">
+               <td class="datagrid"><span>10</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+         </table>
+
+
+      </p>
+   </body>
+
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>2</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/coreWeb/databinding/datagrid/j401/index.jsp</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>netui_row</ses:name>
+                  <ses:value>myDataGrid~10</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>F292A4058B200A034B3F13E2C93B31F6</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  
<ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  
<ses:value>JSESSIONID=F292A4058B200A034B3F13E2C93B31F6</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/j401/Controller.jpf</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.5) Gecko/20041107 Firefox/1.0</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+
+   <head>
+      <title>BEEHIVE-401 Index Page</title>
+      <base 
href="http://localhost:8080/coreWeb/databinding/datagrid/j401/index.jsp";>
+   </head>
+   <body>
+      <p>
+         BEEHIVE-401 Index Page
+      </p>
+      <p>
+         Page 2 of 2&nbsp;&nbsp;<a 
href="/coreWeb/databinding/datagrid/j401/index.jsp">Previous</a>&nbsp;
+<table class="datagrid">
+
+            
+            
+         
+            
+<tr class="datagrid-header">
+               <th class="datagrid">Row</th>
+
+
+               <th class="datagrid">Stuff</th>
+
+
+            
+</tr>
+            
+         
+            
+            
+<tr class="datagrid-even">
+               <td class="datagrid"><span>11</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+<tr class="datagrid-odd">
+               <td class="datagrid"><span>12</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+         </table>
+
+
+      </p>
+   </body>
+
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>3</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/coreWeb/databinding/datagrid/j401/index.jsp</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>F292A4058B200A034B3F13E2C93B31F6</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  
<ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  
<ses:value>JSESSIONID=F292A4058B200A034B3F13E2C93B31F6</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/j401/index.jsp?netui_row=myDataGrid%7E10</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.5) Gecko/20041107 Firefox/1.0</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+
+   <head>
+      <title>BEEHIVE-401 Index Page</title>
+      <base 
href="http://localhost:8080/coreWeb/databinding/datagrid/j401/index.jsp";>
+   </head>
+   <body>
+      <p>
+         BEEHIVE-401 Index Page
+      </p>
+      <p>
+         Page 1 of 2&nbsp;&nbsp;&nbsp;<a 
href="/coreWeb/databinding/datagrid/j401/index.jsp?netui_row=myDataGrid%7E10">Next</a>
+<table class="datagrid">
+
+            
+            
+         
+            
+<tr class="datagrid-header">
+               <th class="datagrid">Row</th>
+
+
+               <th class="datagrid">Stuff</th>
+
+
+            
+</tr>
+            
+         
+            
+            
+<tr class="datagrid-even">
+               <td class="datagrid"><span>01</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+<tr class="datagrid-odd">
+               <td class="datagrid"><span>02</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+<tr class="datagrid-even">
+               <td class="datagrid"><span>03</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+<tr class="datagrid-odd">
+               <td class="datagrid"><span>04</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+<tr class="datagrid-even">
+               <td class="datagrid"><span>05</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+<tr class="datagrid-odd">
+               <td class="datagrid"><span>06</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+<tr class="datagrid-even">
+               <td class="datagrid"><span>07</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+<tr class="datagrid-odd">
+               <td class="datagrid"><span>08</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+<tr class="datagrid-even">
+               <td class="datagrid"><span>09</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+<tr class="datagrid-odd">
+               <td class="datagrid"><span>10</span></td>
+
+               <td class="datagrid"><span>akj skdjkjfkjdss df</span></td>
+
+            
+</tr>
+         </table>
+
+
+      </p>
+   </body>
+
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+   </ses:tests>
+   <ses:endDate>07 Mar 2005, 02:10:28.243 PM MST</ses:endDate>
+   <ses:testCount>3</ses:testCount>
+</ses:recorderSession>
\ No newline at end of file


Reply via email to