Author: ekoneil
Date: Fri Jan 21 05:48:47 2005
New Revision: 125927

URL: http://svn.apache.org/viewcvs?view=rev&rev=125927
Log:
Fix a bunch of bugs in storing data grid sorts on the URL.  Sorts are now put 
on the URL correctly for multiple columns in asc / desc / none states.  URL is 
clean when all columns are sorted "none".  Still doesn't work for two grids on 
a page; will get to that shortly.

Fill out sort JUnit tests.

BB: self
BVT: NetUI pass


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/sort/DefaultSort.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/ISort.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/SortModel.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/pager/AbstractPagerRenderer.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/DataGridStateService.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortService.java
   
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/ConfigurePager.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/SortModelTest.java
   
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortServiceTest.java
   
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/model/DataGridModel.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java?view=diff&rev=125927&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java&r1=125926&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java&r2=125927
==============================================================================
--- 
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 Jan 21 05:48:47 2005
@@ -179,12 +179,6 @@
         appender.append(getPagerRenderer().render());
     }
 
-    /* ===========================================================
-     *
-     * IDataAccessProvider implementation
-     *
-     * ===========================================================
-     */
     public int getCurrentIndex() {
         return _dataSet.getCurrentIndex();
     }

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/DefaultSort.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/DefaultSort.java?view=diff&rev=125927&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/DefaultSort.java&r1=125926&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/DefaultSort.java&r2=125927
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/DefaultSort.java
        (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/DefaultSort.java
        Fri Jan 21 05:48:47 2005
@@ -17,8 +17,6 @@
  */
 package org.apache.beehive.netui.databinding.datagrid.model.sort;
 
-/* Default sort syntax: netui_sort=<gridNamespace>~[+|-]<expr> */
-
 /**
  *
  */
@@ -60,14 +58,6 @@
         _sortDirection = _sortDirection.flipDirection();
     }
 
-    public String write(String namespace) {
-        return writeSortParam(namespace, false);
-    }
-
-    public String write(String namespace, boolean flipDirection) {
-        return writeSortParam(namespace, flipDirection);
-    }
-
     public String toString() {
         StringBuilder buf = new StringBuilder(32);
         buf.append("\n");
@@ -78,26 +68,5 @@
         buf.append(_sortDirection);
         buf.append("\n");
         return buf.toString();
-    }
-
-    private String writeSortParam(String namespace, boolean flipDirection) {
-
-        SortDirection sortDirection = _sortDirection;
-        if(flipDirection)
-        /* todo: break this dependency.  switch ISort to AbstractSort with 
utility methods */
-            sortDirection = sortDirection.flipDirection();
-
-        return writeSortParam(namespace, _sortExpression, sortDirection);
-    }
-
-    public static final String writeSortParam(String namespace, String 
sortExpression, SortDirection sortDirection) {
-        StringBuilder builder = new StringBuilder();
-
-        builder.append(namespace);
-        builder.append("~");
-        if(sortDirection == SortDirection.DESCENDING)
-            builder.append("-");
-        builder.append(sortExpression);
-        return builder.toString();
     }
 }

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/ISort.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/ISort.java?view=diff&rev=125927&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/ISort.java&r1=125926&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/ISort.java&r2=125927
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/ISort.java
      (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/ISort.java
      Fri Jan 21 05:48:47 2005
@@ -33,8 +33,7 @@
                 return SortDirection.DESCENDING;
             else if(this == SortDirection.DESCENDING)
                 return SortDirection.ASCENDING;
-            else
-                return SortDirection.ASCENDING;
+            else return SortDirection.ASCENDING;
         }
     };
 
@@ -45,8 +44,4 @@
     SortDirection getDirection();
 
     void setDirection(SortDirection sortDirection);
-
-    String write(String namespace);
-
-    String write(String namespace, boolean flipDirection);
 }

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/SortModel.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/SortModel.java?view=diff&rev=125927&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/SortModel.java&r1=125926&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/SortModel.java&r2=125927
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/SortModel.java
  (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/SortModel.java
  Fri Jan 21 05:48:47 2005
@@ -17,11 +17,10 @@
  */
 package org.apache.beehive.netui.databinding.datagrid.model.sort;
 
-import java.util.List;
-import java.util.Map;
-import java.util.Collections;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import javax.servlet.ServletRequest;
 
 import 
org.apache.beehive.netui.databinding.datagrid.model.sort.ISort.SortDirection;
@@ -33,6 +32,8 @@
  */
 public class SortModel {
 
+    /* Default sort syntax: netui_sort=<gridNamespace>~[+|-]<expr> */
+
     private String _name = null;
     private String _sortParamKey = null;
     private List<ISort> _sorts = null;
@@ -43,10 +44,20 @@
     }
 
     public void handleRequest(ServletRequest request) {
-        SortService sortService = SortService.getInstance(request, _name);
+        SortService sortService = SortService.getInstance(request);
 
-        _sorts = sortService.getSorts();
+        _sorts = sortService.getSorts(_name);
         _existingParams = ParameterUtil.getParameters(request, 
getSortParamKey());
+
+        /* todo: this is going to be problematic when generating URLs that
+                 could contain sort information for grids where that
+                 data has been programatically altered
+         */
+/*
+        List<ISort> sorts = sortService.getOtherSorts(_name);
+        if(sorts != null && sorts.size() > 0)
+            _existingParams.put(getSortParamKey(), buildSortParams(sorts));
+*/
     }
 
     public List<ISort> getSorts() {
@@ -62,47 +73,88 @@
 
     public Map buildSortQueryParamsMap() {
         List<ISort> sorts = getSorts();
-
         if(sorts == null)
             return _existingParams;
 
-        ArrayList valueList = new ArrayList(5);
-        for(ISort sort : sorts)
-            valueList.add(sort.write(_name));
+        String sortParamValue = buildSortParamValue(sorts, null, null);
 
-        String[] values = (String[])valueList.toArray(new String[0]);
-        HashMap map = new HashMap(values.length + _existingParams.size());
+        HashMap map = new HashMap(_existingParams.size() + 1);
         map.putAll(_existingParams);
-        map.put(getSortParamKey(), values);
-
+        if(sortParamValue != null)
+            map.put(getSortParamKey(), new String[] {sortParamValue});
         return map;
     }
 
+    private String buildSortParamValue(List<ISort> sorts, String 
sortExpression, SortDirection sortDirection) {
+        StringBuilder sb = new StringBuilder();
+        sb.append(_name);
+        sb.append("~");
+
+        boolean hasTerms = false;
+        for(int i = 0; i < sorts.size(); i++) {
+            ISort sort = sorts.get(i);
+
+            if(sortExpression != null && 
sortExpression.equals(sort.getSortExpression())) {
+                if(sortDirection != SortDirection.NONE) {
+                    if(hasTerms)
+                        sb.append(",");
+                    else hasTerms = true;
+
+                    if(sortDirection == SortDirection.DESCENDING)
+                        sb.append("-");
+                    sb.append(sortExpression);
+                    hasTerms = true;
+                }
+            }
+            else {
+                if(hasTerms)
+                    sb.append(",");
+                else hasTerms = true;
+
+                if(sort.getDirection() == SortDirection.DESCENDING)
+                    sb.append("-");
+                sb.append(sort.getSortExpression());
+            }
+        }
+
+        /* any new sorts are added at the end of the current sorts. */
+        if(sortExpression != null && sortDirection != SortDirection.NONE && 
!isSorted(sortExpression)) {
+            if(hasTerms)
+                sb.append(",");
+            if(sortDirection == SortDirection.DESCENDING)
+                sb.append("-");
+            sb.append(sortExpression);
+        }
+
+        if(!hasTerms)
+            return null;
+
+        return sb.toString();
+    }
+
     public Map buildSortQueryParamsMap(String sortExpression, SortDirection 
sortDirection) {
         assert sortExpression != null;
         assert sortDirection != null;
 
         List<ISort> sorts = getSorts();
-
-        ArrayList valueList = new ArrayList(5);
-        if(sortDirection != SortDirection.NONE && !isSorted(sortExpression))
-            valueList.add(DefaultSort.writeSortParam(_name, sortExpression, 
sortDirection));
-
+        String sortParamValue = null;
         if(sorts != null) {
-            for(ISort sort : sorts) {
-                if(sort.getSortExpression().equals(sortExpression)) {
-                    if(sortDirection != SortDirection.NONE)
-                    /* todo: broke encapsulation here.  bad bad bad. */
-                    /* @todo: need to move this parameter handling into some 
sort of IUrlParams class that can be *fast* */
-                        valueList.add(DefaultSort.writeSortParam(_name, 
sort.getSortExpression(), sortDirection));
-                } else
-                    valueList.add(sort.write(_name));
-            }
+            sortParamValue = buildSortParamValue(sorts, sortExpression, 
sortDirection);
+        }
+        else if(sortDirection != SortDirection.NONE && 
!isSorted(sortExpression)) {
+            StringBuilder sb = new StringBuilder();
+            sb.append(_name);
+            sb.append("~");
+            if(sortDirection == SortDirection.DESCENDING)
+                sb.append("-");
+            sb.append(sortExpression);
+            sortParamValue = sb.toString();
         }
 
-        HashMap map = new HashMap(valueList.size() + _existingParams.size());
+        HashMap map = new HashMap(_existingParams.size() + 1);
         map.putAll(_existingParams);
-        map.put(getSortParamKey(), (String[])valueList.toArray(new String[0]));
+        if(sortParamValue != null)
+            map.put(getSortParamKey(), new String[] {sortParamValue});
         return map;
     }
 
@@ -117,7 +169,7 @@
     }
 
     public boolean isSorted(String sortExpression) {
-        ISort term = findTerm(sortExpression);
+        ISort term = findSort(sortExpression);
         if(term == null || term.getDirection() == SortDirection.NONE)
             return false;
         else
@@ -125,12 +177,12 @@
     }
 
     public SortDirection getSortDirection(String sortExpression) {
-        ISort term = findTerm(sortExpression);
+        ISort term = findSort(sortExpression);
         return term == null ? SortDirection.NONE : term.getDirection();
     }
 
     public boolean removeSort(String sortExpression) {
-        ISort term = findTerm(sortExpression);
+        ISort term = findSort(sortExpression);
         if(term != null) {
             _sorts.remove(term);
             return true;
@@ -154,7 +206,7 @@
         return sb.toString();
     }
 
-    private ISort findTerm(String sortExpression) {
+    private ISort findSort(String sortExpression) {
         if(_sorts == null)
             return null;
 

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/pager/AbstractPagerRenderer.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/pager/AbstractPagerRenderer.java?view=diff&rev=125927&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/pager/AbstractPagerRenderer.java&r1=125926&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/pager/AbstractPagerRenderer.java&r2=125927
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/pager/AbstractPagerRenderer.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/pager/AbstractPagerRenderer.java
 Fri Jan 21 05:48:47 2005
@@ -143,7 +143,8 @@
     protected String buildPageUri(Map queryParams) {
         String uri = null;
         try {
-            uri = JspUtil.createURL(_pagerModel.getPageHref(),
+            uri = JspUtil.createURL(
+                _pagerModel.getPageHref(),
                 _pagerModel.getPageAction(),
                 null,
                 null,

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/DataGridStateService.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/DataGridStateService.java?view=diff&rev=125927&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/DataGridStateService.java&r1=125926&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/DataGridStateService.java&r2=125927
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/DataGridStateService.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/DataGridStateService.java
 Fri Jan 21 05:48:47 2005
@@ -33,7 +33,7 @@
     private String _namespace = null;
     private SortModel _sortModel = null;
     private FilterModel _filterModel = null;
-
+    
     public static final DataGridStateService createInstance(ServletRequest 
request, String namespace) {
         assert request != null;
 

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortService.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortService.java?view=diff&rev=125927&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortService.java&r1=125926&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortService.java&r2=125927
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortService.java
     (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortService.java
     Fri Jan 21 05:48:47 2005
@@ -19,6 +19,8 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.HashMap;
+import java.util.Iterator;
 import javax.servlet.ServletRequest;
 
 import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort;
@@ -30,63 +32,86 @@
 public class SortService
     implements java.io.Serializable {
 
+    /*
+      todo: for performance reasons, it would be good to have a SortService
+            shared by all grids rendered in a request.  this saves having to 
parse
+            the sorts many times
+     */
     private static final String SORT_DELIM = "~";
     private static final String SORT_TERM_DELIM = ",";
 
-    public static final SortService getInstance(ServletRequest request, String 
namespace) {
+    public static final SortService getInstance(ServletRequest request) {
         assert request != null;
-        assert namespace != null && !namespace.equals("");
 
-        return new SortService(request, namespace);
+        return new SortService(request);
     }
 
-    private String _namespace = null;
-    private ArrayList<ISort> _sorts = null;
-    private ServletRequest _request = null;
+    private HashMap<String, List<ISort>> _sorts;
 
-    private SortService(ServletRequest request, String namespace) {
+    private SortService(ServletRequest request) {
         super();
-        _request = request;
-        _namespace = namespace;
-        _sorts = parseTerms(request, _namespace);
+        _sorts = new HashMap<String, List<ISort>>();
+        parseTerms(request);
     }
 
-    public List<ISort> getSorts() {
-        return _sorts;
+    public List<ISort> getSorts(String namespace) {
+        if(_sorts == null)
+            return null;
+
+        if(namespace != null)
+            return _sorts.get(namespace);
+        else {
+            return getOtherSorts(null);
+        }
+    }
+
+    public List<ISort> getOtherSorts(String excludeNamespace) {
+        List<ISort> list = new ArrayList<ISort>();
+
+        for(String namespace : _sorts.keySet()) {
+            if(namespace.equals(excludeNamespace))
+                continue;
+
+            list.addAll(_sorts.get(namespace));
+        }
+
+        return list;
     }
 
     /* todo: handle this incrementally in a base class */
-    private ArrayList<ISort> parseTerms(ServletRequest request, String 
namespace) {
+    private void parseTerms(ServletRequest request) {
         String[] params = request.getParameterValues(ISort.SORT_PARAM_KEY);
 
         if(params == null)
-            return null;
+            return;
 
-        String namespacePrefix = namespace + SORT_DELIM;
+        for(String sortParam : params) {
+            String[] terms = sortParam.split(SORT_DELIM);
+            assert terms != null && terms.length == 2;
+
+            String namespace = terms[0];
+
+            // find the list of sorted columns
+            // two columns of the bugs grid would be sorted as:
+            //
+            // netui_sort=bugs~id,-priority
+            ArrayList<ISort> sorts = new ArrayList<ISort>();
+            String[] cols = terms[1].split(SORT_TERM_DELIM);
+            for(String sortExpr : cols) {
+                SortDirection sortDirection = SortDirection.NONE;
+                if(sortExpr.startsWith("-"))
+                    sortDirection = SortDirection.DESCENDING;
+                else sortDirection = SortDirection.ASCENDING;
+                String sortExpression = (sortDirection == 
SortDirection.DESCENDING ? sortExpr.substring(1) : sortExpr);
 
-        ArrayList<ISort> sorts = new ArrayList<ISort>();
-        for(int i = 0; i < params.length; i++) {
-            String param = params[i];
-            if(param.startsWith(namespacePrefix)) {
-                String[] terms = param.split(SORT_DELIM);
-                assert terms != null && terms.length == 2;
-
-                String[] cols = terms[1].split(SORT_TERM_DELIM);
-
-                for(int j = 0; j < cols.length; j++) {
-                    String t = cols[j];
-                    SortDirection sortDirection = SortDirection.NONE;
-                    if(cols[j].startsWith("-"))
-                        sortDirection = SortDirection.DESCENDING;
-                    else
-                        sortDirection = SortDirection.ASCENDING;
-                    String sortExpression = (sortDirection == 
SortDirection.DESCENDING ? cols[j].substring(1) : cols[j]);
-                    ISort sort = new DefaultSort(sortExpression, 
sortDirection);
-                    sorts.add(sort);
-                }
+                /* todo: pluggability */
+                ISort sort = new DefaultSort(sortExpression, sortDirection);
+
+                sorts.add(sort);
             }
-        }
 
-        return sorts;
+            if(sorts.size() > 0)
+                _sorts.put(namespace, sorts);
+        }
     }
 }

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&rev=125927&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/ConfigurePager.java&r1=125926&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/ConfigurePager.java&r2=125927
==============================================================================
--- 
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
   Fri Jan 21 05:48:47 2005
@@ -18,13 +18,16 @@
 package org.apache.beehive.netui.tags.databinding.datagrid;
 
 import javax.servlet.jsp.JspException;
+import javax.servlet.http.HttpServletRequest;
 
 import org.apache.beehive.netui.databinding.datagrid.model.DataGridModel;
 import org.apache.beehive.netui.databinding.datagrid.model.PagerModel;
 import 
org.apache.beehive.netui.databinding.datagrid.rendering.pager.IPagerRenderer;
 import 
org.apache.beehive.netui.databinding.datagrid.rendering.pager.FirstPreviousNextLastPagerRenderer;
 import 
org.apache.beehive.netui.databinding.datagrid.rendering.pager.PreviousNextPagerRenderer;
+import org.apache.beehive.netui.databinding.datagrid.util.JspUtil;
 import org.apache.beehive.netui.tags.AbstractSimpleTag;
+import org.apache.beehive.netui.util.logging.Logger;
 
 /**
  * @netui:tag name="configurePager" body-content="empty"
@@ -34,6 +37,7 @@
 public class ConfigurePager
     extends AbstractSimpleTag {
 
+    private static final Logger LOGGER = 
Logger.getInstance(ConfigurePager.class);
     private static final String FIRST_LAST_PREV_NEXT = "firstPrevNextLast";
     private static final String PREV_NEXT = "prevNext";
 
@@ -125,14 +129,14 @@
         if(_pageHref != null && _pageAction != null)
             throw new JspException("The configurePager tag can't set both the 
pageAction and pageHref attributes");
 
-        if(_pageHref == null && _pageAction == null)
-            throw new JspException("The configurePager tag requires one of the 
pageAction or pageHref attributes in order to render a pager link.");
-
-        if(_pageHref != null)
-            pm.setPageHref(_pageHref);
+        if(_pageHref == null && _pageAction == null) {
+            if(LOGGER.isInfoEnabled())
+                LOGGER.info("The configurePager tag has no page action or HREF 
specified; using the current request URI instead.");
+            _pageHref = 
((HttpServletRequest)JspUtil.getRequest(getJspContext())).getRequestURI();
+        }
 
-        if(_pageAction != null)
-            pm.setPageAction(_pageAction);
+        pm.setPageHref(_pageHref);
+        pm.setPageAction(_pageAction);
 
         return;
     }

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&rev=125927&p1=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/DefaultSortTest.java&r1=125926&p2=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/DefaultSortTest.java&r2=125927
==============================================================================
--- 
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
       Fri Jan 21 05:48:47 2005
@@ -36,21 +36,6 @@
         return SortFactory.getInstance();
     }
 
-    public void testSortToString() {
-        String gridName = "testgrid";
-
-        ISort sort = createSort();
-        sort.setSortExpression("customername");
-
-        sort.setDirection(SortDirection.ASCENDING);
-        String str = sort.write(gridName);
-        assertTrue("testgrid~customername".equals(str));
-
-        sort.setDirection(SortDirection.DESCENDING);
-        str = sort.write(gridName);
-        assertTrue("testgrid~-customername".equals(str));
-    }
-
     public void testChangeSortDirection() {
         ISort sort = createSort();
 

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&rev=125927&p1=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortModelTest.java&r1=125926&p2=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortModelTest.java&r2=125927
==============================================================================
--- 
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
 Fri Jan 21 05:48:47 2005
@@ -85,6 +85,169 @@
         assert values[0].equals("bugs~id");
     }
 
+    public void testSortModelSimple4() {
+        DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs~id,-name");
+        SortModel sortModel = new SortModel(GRID_NAME);
+        sortModel.handleRequest(_servletRequest);
+
+        List<ISort> sorts = sortModel.getSorts();
+        assert sorts != null;
+        assert sorts.size() == 2;
+        assert sorts.get(0).getDirection() == SortDirection.ASCENDING;
+        assert sorts.get(0).getSortExpression().equals("id");
+        assert sorts.get(1).getDirection() == SortDirection.DESCENDING;
+        assert sorts.get(1).getSortExpression().equals("name");
+
+        Map queryParams = sortModel.buildSortQueryParamsMap();
+        assert queryParams.size() == 2;
+        String[] values = (String[])queryParams.get("foo");
+        assert values.length == 1;
+        assert values[0].equals("bar");
+
+        values = (String[])queryParams.get("netui_sort");
+        assert values.length == 1;
+        assert values[0].equals("bugs~id,-name");
+    }
+
+    public void testSortModelSimple5() {
+        DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs~id,-name");
+        SortModel sortModel = new SortModel(GRID_NAME);
+        sortModel.handleRequest(_servletRequest);
+
+        List<ISort> sorts = sortModel.getSorts();
+        assert sorts != null;
+        assert sorts.size() == 2;
+        assert sorts.get(0).getDirection() == SortDirection.ASCENDING;
+        assert sorts.get(0).getSortExpression().equals("id");
+        assert sorts.get(1).getDirection() == SortDirection.DESCENDING;
+        assert sorts.get(1).getSortExpression().equals("name");
+
+        Map queryParams = sortModel.buildSortQueryParamsMap();
+        assert queryParams.size() == 2;
+        String[] values = (String[])queryParams.get("foo");
+        assert values.length == 1;
+        assert values[0].equals("bar");
+
+        values = (String[])queryParams.get("netui_sort");
+        assert values.length == 1;
+        assert values[0].equals("bugs~id,-name");
+
+        /* now, for the "id" expression, change the direction */
+        queryParams = sortModel.buildSortQueryParamsMap("id", 
SortDirection.DESCENDING);
+        assert queryParams.size() == 2;
+        values = (String[])queryParams.get("foo");
+        assert values.length == 1;
+        assert values[0].equals("bar");
+
+        values = (String[])queryParams.get("netui_sort");
+        assert values.length == 1;
+        assert values[0].equals("bugs~-id,-name");
+
+        /* now, for the "id" expression, change the direction */
+        queryParams = sortModel.buildSortQueryParamsMap("id", 
SortDirection.NONE);
+        assert queryParams.size() == 2;
+        values = (String[])queryParams.get("foo");
+        assert values.length == 1;
+        assert values[0].equals("bar");
+
+        values = (String[])queryParams.get("netui_sort");
+        assert values.length == 1;
+        assert values[0].equals("bugs~-name");
+
+        /* now, for the "id" expression, change the direction */
+        queryParams = sortModel.buildSortQueryParamsMap("id", 
SortDirection.ASCENDING);
+        assert queryParams.size() == 2;
+        values = (String[])queryParams.get("foo");
+        assert values.length == 1;
+        assert values[0].equals("bar");
+
+        values = (String[])queryParams.get("netui_sort");
+        assert values.length == 1;
+        assert values[0].equals("bugs~id,-name");
+
+        /* now, add a new column "newcolumn" and explicitly set its direction 
*/
+        queryParams = sortModel.buildSortQueryParamsMap("newcolumn", 
SortDirection.DESCENDING);
+        assert queryParams.size() == 2;
+        values = (String[])queryParams.get("foo");
+        assert values.length == 1;
+        assert values[0].equals("bar");
+
+        values = (String[])queryParams.get("netui_sort");
+        assert values.length == 1;
+        assert values[0].equals("bugs~id,-name,-newcolumn");
+
+        /* now, add a new column "newcolumn" and explicitly set its direction 
*/
+        queryParams = sortModel.buildSortQueryParamsMap("name", 
SortDirection.NONE);
+        assert queryParams.size() == 2;
+        values = (String[])queryParams.get("foo");
+        assert values.length == 1;
+        assert values[0].equals("bar");
+
+        values = (String[])queryParams.get("netui_sort");
+        assert values.length == 1;
+        assert values[0].equals("bugs~id");
+    }
+
+    public void testSortModelSimple6() {
+        DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs~-id,-name");
+        SortModel sortModel = new SortModel(GRID_NAME);
+        sortModel.handleRequest(_servletRequest);
+
+        /* now, add a new column "newcolumn" and explicitly set its direction 
*/
+        Map queryParams = sortModel.buildSortQueryParamsMap("id", 
SortDirection.NONE);
+        assert queryParams.size() == 2;
+        String[] values = (String[])queryParams.get("foo");
+        assert values.length == 1;
+        assert values[0].equals("bar");
+
+        values = (String[])queryParams.get("netui_sort");
+        assert values.length == 1;
+        assert values[0].equals("bugs~-name");
+    }
+
+    public void testSortModelSimple7() {
+        DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs~-id");
+        SortModel sortModel = new SortModel(GRID_NAME);
+        sortModel.handleRequest(_servletRequest);
+
+        /* now, add a new column "newcolumn" and explicitly set its direction 
*/
+        Map queryParams = sortModel.buildSortQueryParamsMap("id", 
SortDirection.NONE);
+        assert queryParams.size() == 1;
+        String[] values = (String[])queryParams.get("foo");
+        assert values.length == 1;
+        assert values[0].equals("bar");
+    }
+
+    /* this is a test of sorts for two grids on the same URL */
+    /*
+    public void testSortModelSimple6() {
+        DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs~id,-name&netui_sort=developers~bugcount,-milestone");
+        SortModel sortModel = new SortModel(GRID_NAME);
+        sortModel.handleRequest(_servletRequest);
+
+        List<ISort> sorts = sortModel.getSorts();
+        assert sorts != null;
+        assert sorts.size() == 2;
+        assert sorts.get(0).getDirection() == SortDirection.ASCENDING;
+        assert sorts.get(0).getSortExpression().equals("id");
+        assert sorts.get(1).getDirection() == SortDirection.DESCENDING;
+        assert sorts.get(1).getSortExpression().equals("name");
+
+        Map queryParams = sortModel.buildSortQueryParamsMap();
+        assert queryParams.size() == 3;
+        String[] values = (String[])queryParams.get("foo");
+        assert values.length == 1;
+        assert values[0].equals("bar");
+
+        values = (String[])queryParams.get("netui_sort");
+        assert values.length == 1;
+        assert values[0].equals("bugs~id,-name");
+
+        values = (String[])queryParams.get("netui_sort");
+        assert values.length == 1;
+        assert values[0].equals("developers~bugcount,-milestone");
+    }
+*/
     protected void setUp() {
         _servletRequest = ServletFactory.getServletRequest();
     }

Modified: 
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortServiceTest.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortServiceTest.java?view=diff&rev=125927&p1=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortServiceTest.java&r1=125926&p2=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortServiceTest.java&r2=125927
==============================================================================
--- 
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortServiceTest.java
       (original)
+++ 
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortServiceTest.java
       Fri Jan 21 05:48:47 2005
@@ -46,52 +46,65 @@
     }
 
     public void testEmptySortService() {
-        SortService svc = SortService.getInstance(getRequest(), _namespace);
-        assert svc.getSorts() == null;
+        SortService svc = SortService.getInstance(getRequest());
+        assert svc.getSorts(_namespace) == null;
     }
 
     public void testSingleAscendingSort() {
         DataGridTestUtil.initQueryString(_request, "netui_sort=" + _namespace 
+ "~CUSTOMERNAME");
-        SortService svc = SortService.getInstance(getRequest(), _namespace);
-        List<ISort> sorts = svc.getSorts();
+        SortService svc = SortService.getInstance(getRequest());
+        List<ISort> sorts = svc.getSorts(_namespace);
 
-        assert svc.getSorts() != null;
+        assert svc.getSorts(_namespace) != null;
         assert sorts.size() == 1;
         assert sorts.get(0).getDirection() == SortDirection.ASCENDING;
         assert sorts.get(0).getSortExpression().equals("CUSTOMERNAME");
     }
 
     public void testMultipleSort() {
-        DataGridTestUtil.initQueryString(_request, "?netui_sort=" + _namespace 
+ "~CUSTOMERNAME" +
-            "&netui_sort=" + _namespace + "~-UNITPRICE&" +
+        DataGridTestUtil.initQueryString(_request, "?" +
+            "netui_sort=" + _namespace + "~CUSTOMERNAME,-UNITPRICE" +
             "&netui_sort=productGrid~QUANTITY");
-        SortService svc = SortService.getInstance(getRequest(), _namespace);
-        List<ISort> sorts = svc.getSorts();
+        SortService svc = SortService.getInstance(getRequest());
+        List<ISort> sorts = svc.getSorts(_namespace);
 
-        assert svc.getSorts() != null;
+        assert svc.getSorts(_namespace) != null;
         assert sorts.size() == 2;
         assert sorts.get(0).getDirection() == SortDirection.ASCENDING;
         assert sorts.get(0).getSortExpression().equals("CUSTOMERNAME");
         assert sorts.get(1).getDirection() == SortDirection.DESCENDING;
         assert sorts.get(1).getSortExpression().equals("UNITPRICE");
 
-        SortService productSvc = SortService.getInstance(getRequest(), 
"productGrid");
-        assert productSvc.getSorts() != null;
-        assert productSvc.getSorts().size() == 1;
-        sorts = productSvc.getSorts();
+        SortService productSvc = SortService.getInstance(getRequest());
+        assert productSvc.getSorts("productGrid") != null;
+        assert productSvc.getSorts("productGrid").size() == 1;
+        sorts = productSvc.getSorts("productGrid");
         assert sorts.get(0).getDirection() == SortDirection.ASCENDING;
         assert sorts.get(0).getSortExpression().equals("QUANTITY");
     }
 
     public void testSingleDescendingSort() {
         DataGridTestUtil.initQueryString(_request, "netui_sort=" + _namespace 
+ "~-CUSTOMERNAME");
-        SortService svc = SortService.getInstance(getRequest(), _namespace);
-        List<ISort> sorts = svc.getSorts();
+        SortService svc = SortService.getInstance(getRequest());
+        List<ISort> sorts = svc.getSorts(_namespace);
 
-        assert svc.getSorts() != null;
+        assert svc.getSorts(_namespace) != null;
         assert sorts.size() == 1;
         assert sorts.get(0).getDirection() == SortDirection.DESCENDING;
         assert sorts.get(0).getSortExpression().equals("CUSTOMERNAME");
+    }
+
+    public void testTwoDescendingSorts() {
+        DataGridTestUtil.initQueryString(_request, "netui_sort=" + _namespace 
+ "~-CUSTOMERNAME,-CUSTOMERID");
+        SortService svc = SortService.getInstance(getRequest());
+        List<ISort> sorts = svc.getSorts(_namespace);
+
+        assert svc.getSorts(_namespace) != null;
+        assert sorts.size() == 2;
+        assert sorts.get(0).getDirection() == SortDirection.DESCENDING;
+        assert sorts.get(0).getSortExpression().equals("CUSTOMERNAME");
+        assert sorts.get(1).getDirection() == SortDirection.DESCENDING;
+        assert sorts.get(1).getSortExpression().equals("CUSTOMERID");
     }
 
     protected void setUp() {

Modified: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridSimpleSort.xml
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridSimpleSort.xml?view=diff&rev=125927&p1=incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridSimpleSort.xml&r1=125926&p2=incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridSimpleSort.xml&r2=125927
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridSimpleSort.xml
    (original)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridSimpleSort.xml
    Fri Jan 21 05:48:47 2005
@@ -2,8 +2,8 @@
 <ses:recorderSession 
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session";>
    <ses:sessionName>DataGridSimpleSort</ses:sessionName>
    <ses:tester>ekoneil</ses:tester>
-   <ses:startDate>18 Jan 2005, 06:46:44.421 PM MST</ses:startDate>
-   <ses:description>ekoneil</ses:description>
+   <ses:startDate>20 Jan 2005, 09:53:15.971 PM MST</ses:startDate>
+   <ses:description>Test the generation of sort enabled URLs for data grid 
columns.</ses:description>
    <ses:tests>
       <ses:test>
          <ses:testNumber>1</ses:testNumber>
@@ -12,21 +12,17 @@
             <ses:protocolVersion>1.1</ses:protocolVersion>
             <ses:host>localhost</ses:host>
             <ses:port>8080</ses:port>
-            
<ses:uri>/coreWeb/databinding/datagrid/simplesort/Controller.jpf</ses:uri>
+            <ses:uri>/coreWeb/databinding/datagrid/simplesort/sort.do</ses:uri>
             <ses:method>GET</ses:method>
             <ses:parameters/>
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>401BA83031A94CBDA416B26EB0A88FB5</ses:value>
+                  <ses:value>4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
                <ses:header>
-                  <ses:name>---------------</ses:name>
-                  <ses:value>------------</ses:value>
-               </ses:header>
-               <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>
@@ -35,16 +31,24 @@
                   <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>cache-control</ses:name>
+                  <ses:value>max-age=0</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>$Version=0; 
JSESSIONID=401BA83031A94CBDA416B26EB0A88FB5; $Path=/coreWeb</ses:value>
+                  
<ses:value>JSESSIONID=4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -55,12 +59,12 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-54834ffa:101889e165b:-7d5d</ses:value>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7E-symbol</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.1</ses:value>
+                  <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>
@@ -170,9 +174,6 @@
 
 </html>]]></ses:responseBody>
          </ses:response>
-         <ses:testResults>
-            <ses:testStatus>fail</ses:testStatus>
-         </ses:testResults>
       </ses:test>
       <ses:test>
          <ses:testNumber>2</ses:testNumber>
@@ -192,15 +193,11 @@
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>401BA83031A94CBDA416B26EB0A88FB5</ses:value>
+                  <ses:value>4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
                <ses:header>
-                  <ses:name>---------------</ses:name>
-                  <ses:value>------------</ses:value>
-               </ses:header>
-               <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>
@@ -209,6 +206,10 @@
                   <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>
@@ -218,7 +219,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; 
JSESSIONID=401BA83031A94CBDA416B26EB0A88FB5; $Path=/coreWeb</ses:value>
+                  
<ses:value>JSESSIONID=4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -229,12 +230,12 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-54834ffa:101889e165b:-7d5d</ses:value>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/simplesort/sort.do</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.1</ses:value>
+                  <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>
@@ -272,10 +273,10 @@
         <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7E-symbol"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Eprice&netui_sort=portfolio%7Esymbol"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2Cprice"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Eweb&netui_sort=portfolio%7Esymbol"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2Cweb"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
 
 
     
@@ -344,9 +345,6 @@
 
 </html>]]></ses:responseBody>
          </ses:response>
-         <ses:testResults>
-            <ses:testStatus>fail</ses:testStatus>
-         </ses:testResults>
       </ses:test>
       <ses:test>
          <ses:testNumber>3</ses:testNumber>
@@ -355,26 +353,22 @@
             <ses:protocolVersion>1.1</ses:protocolVersion>
             <ses:host>localhost</ses:host>
             <ses:port>8080</ses:port>
-            <ses:uri>/coreWeb/databinding/datagrid/simplesort/sort.do</ses:uri>
+            
<ses:uri>/coreWeb/databinding/datagrid/simplesort/index.jsp</ses:uri>
             <ses:method>GET</ses:method>
             <ses:parameters>
                <ses:parameter>
                   <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~-symbol</ses:value>
+                  <ses:value>portfolio~symbol,price</ses:value>
                </ses:parameter>
             </ses:parameters>
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>401BA83031A94CBDA416B26EB0A88FB5</ses:value>
+                  <ses:value>4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
                <ses:header>
-                  <ses:name>---------------</ses:name>
-                  <ses:value>------------</ses:value>
-               </ses:header>
-               <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>
@@ -383,6 +377,10 @@
                   <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>
@@ -392,7 +390,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; 
JSESSIONID=401BA83031A94CBDA416B26EB0A88FB5; $Path=/coreWeb</ses:value>
+                  
<ses:value>JSESSIONID=4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -403,12 +401,12 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-54834ffa:101889e165b:-7d5d</ses:value>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7Esymbol</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.1</ses:value>
+                  <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>
@@ -443,13 +441,13 @@
     
 <thead>
 <tr class="datagrid-header">
-        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?"><img 
src="/coreWeb/resources/images/sortup.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7E-symbol%2Cprice"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Eprice&netui_sort=portfolio%7E-symbol"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2C-price"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Eweb&netui_sort=portfolio%7E-symbol"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2Cprice%2Cweb"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
 
 
     
@@ -518,9 +516,6 @@
 
 </html>]]></ses:responseBody>
          </ses:response>
-         <ses:testResults>
-            <ses:testStatus>fail</ses:testStatus>
-         </ses:testResults>
       </ses:test>
       <ses:test>
          <ses:testNumber>4</ses:testNumber>
@@ -534,25 +529,17 @@
             <ses:parameters>
                <ses:parameter>
                   <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~price</ses:value>
-               </ses:parameter>
-               <ses:parameter>
-                  <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~-symbol</ses:value>
+                  <ses:value>portfolio~symbol,price,web</ses:value>
                </ses:parameter>
             </ses:parameters>
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>401BA83031A94CBDA416B26EB0A88FB5</ses:value>
+                  <ses:value>4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
                <ses:header>
-                  <ses:name>---------------</ses:name>
-                  <ses:value>------------</ses:value>
-               </ses:header>
-               <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>
@@ -561,6 +548,10 @@
                   <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>
@@ -570,7 +561,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; 
JSESSIONID=401BA83031A94CBDA416B26EB0A88FB5; $Path=/coreWeb</ses:value>
+                  
<ses:value>JSESSIONID=4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -581,12 +572,12 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-54834ffa:101889e165b:-7d5d</ses:value>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2Cprice</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.1</ses:value>
+                  <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>
@@ -621,13 +612,13 @@
     
 <thead>
 <tr class="datagrid-header">
-        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7Eprice"><img
 src="/coreWeb/resources/images/sortup.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7E-symbol%2Cprice%2Cweb"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7E-price&netui_sort=portfolio%7E-symbol"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2C-price%2Cweb"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Eweb&netui_sort=portfolio%7Eprice&netui_sort=portfolio%7E-symbol"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2Cprice%2C-web"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
 
 
     
@@ -696,9 +687,6 @@
 
 </html>]]></ses:responseBody>
          </ses:response>
-         <ses:testResults>
-            <ses:testStatus>fail</ses:testStatus>
-         </ses:testResults>
       </ses:test>
       <ses:test>
          <ses:testNumber>5</ses:testNumber>
@@ -712,25 +700,17 @@
             <ses:parameters>
                <ses:parameter>
                   <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~-price</ses:value>
-               </ses:parameter>
-               <ses:parameter>
-                  <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~-symbol</ses:value>
+                  <ses:value>portfolio~symbol,-price,web</ses:value>
                </ses:parameter>
             </ses:parameters>
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>401BA83031A94CBDA416B26EB0A88FB5</ses:value>
+                  <ses:value>4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
                <ses:header>
-                  <ses:name>---------------</ses:name>
-                  <ses:value>------------</ses:value>
-               </ses:header>
-               <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>
@@ -739,6 +719,10 @@
                   <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>
@@ -748,7 +732,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; 
JSESSIONID=401BA83031A94CBDA416B26EB0A88FB5; $Path=/coreWeb</ses:value>
+                  
<ses:value>JSESSIONID=4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -759,12 +743,12 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-54834ffa:101889e165b:-7d5d</ses:value>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2Cprice%2Cweb</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.1</ses:value>
+                  <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>
@@ -799,13 +783,13 @@
     
 <thead>
 <tr class="datagrid-header">
-        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7E-price"><img
 src="/coreWeb/resources/images/sortup.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7E-symbol%2C-price%2Cweb"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7E-symbol"><img
 src="/coreWeb/resources/images/sortup.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2Cweb"><img
 src="/coreWeb/resources/images/sortup.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Eweb&netui_sort=portfolio%7E-price&netui_sort=portfolio%7E-symbol"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2C-price%2C-web"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
 
 
     
@@ -874,9 +858,6 @@
 
 </html>]]></ses:responseBody>
          </ses:response>
-         <ses:testResults>
-            <ses:testStatus>fail</ses:testStatus>
-         </ses:testResults>
       </ses:test>
       <ses:test>
          <ses:testNumber>6</ses:testNumber>
@@ -890,21 +871,17 @@
             <ses:parameters>
                <ses:parameter>
                   <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~-symbol</ses:value>
+                  <ses:value>portfolio~symbol,web</ses:value>
                </ses:parameter>
             </ses:parameters>
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>401BA83031A94CBDA416B26EB0A88FB5</ses:value>
+                  <ses:value>4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
                <ses:header>
-                  <ses:name>---------------</ses:name>
-                  <ses:value>------------</ses:value>
-               </ses:header>
-               <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>
@@ -913,6 +890,10 @@
                   <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>
@@ -922,7 +903,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; 
JSESSIONID=401BA83031A94CBDA416B26EB0A88FB5; $Path=/coreWeb</ses:value>
+                  
<ses:value>JSESSIONID=4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -933,12 +914,12 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-54834ffa:101889e165b:-7d5d</ses:value>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2C-price%2Cweb</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.1</ses:value>
+                  <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>
@@ -973,13 +954,13 @@
     
 <thead>
 <tr class="datagrid-header">
-        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?"><img 
src="/coreWeb/resources/images/sortup.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7E-symbol%2Cweb"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Eprice&netui_sort=portfolio%7E-symbol"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2Cweb%2Cprice"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Eweb&netui_sort=portfolio%7E-symbol"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2C-web"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
 
 
     
@@ -1048,9 +1029,6 @@
 
 </html>]]></ses:responseBody>
          </ses:response>
-         <ses:testResults>
-            <ses:testStatus>fail</ses:testStatus>
-         </ses:testResults>
       </ses:test>
       <ses:test>
          <ses:testNumber>7</ses:testNumber>
@@ -1061,19 +1039,20 @@
             <ses:port>8080</ses:port>
             <ses:uri>/coreWeb/databinding/datagrid/simplesort/sort.do</ses:uri>
             <ses:method>GET</ses:method>
-            <ses:parameters/>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>netui_sort</ses:name>
+                  <ses:value>portfolio~-symbol,web</ses:value>
+               </ses:parameter>
+            </ses:parameters>
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>401BA83031A94CBDA416B26EB0A88FB5</ses:value>
+                  <ses:value>4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
                <ses:header>
-                  <ses:name>---------------</ses:name>
-                  <ses:value>------------</ses:value>
-               </ses:header>
-               <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>
@@ -1082,6 +1061,10 @@
                   <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>
@@ -1091,7 +1074,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; 
JSESSIONID=401BA83031A94CBDA416B26EB0A88FB5; $Path=/coreWeb</ses:value>
+                  
<ses:value>JSESSIONID=4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -1102,12 +1085,12 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-54834ffa:101889e165b:-7d5d</ses:value>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2Cweb</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.1</ses:value>
+                  <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>
@@ -1142,13 +1125,13 @@
     
 <thead>
 <tr class="datagrid-header">
-        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7Esymbol"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7Eweb"><img
 src="/coreWeb/resources/images/sortup.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Eprice"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7E-symbol%2Cweb%2Cprice"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Eweb"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7E-symbol%2C-web"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
 
 
     
@@ -1217,9 +1200,6 @@
 
 </html>]]></ses:responseBody>
          </ses:response>
-         <ses:testResults>
-            <ses:testStatus>fail</ses:testStatus>
-         </ses:testResults>
       </ses:test>
       <ses:test>
          <ses:testNumber>8</ses:testNumber>
@@ -1233,21 +1213,17 @@
             <ses:parameters>
                <ses:parameter>
                   <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~web</ses:value>
+                  <ses:value>portfolio~-symbol,-web</ses:value>
                </ses:parameter>
             </ses:parameters>
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>401BA83031A94CBDA416B26EB0A88FB5</ses:value>
+                  <ses:value>4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
                <ses:header>
-                  <ses:name>---------------</ses:name>
-                  <ses:value>------------</ses:value>
-               </ses:header>
-               <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>
@@ -1256,6 +1232,10 @@
                   <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>
@@ -1265,7 +1245,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; 
JSESSIONID=401BA83031A94CBDA416B26EB0A88FB5; $Path=/coreWeb</ses:value>
+                  
<ses:value>JSESSIONID=4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -1276,12 +1256,12 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-54834ffa:101889e165b:-7d5d</ses:value>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7E-symbol%2Cweb</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.1</ses:value>
+                  <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>
@@ -1316,13 +1296,13 @@
     
 <thead>
 <tr class="datagrid-header">
-        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7Esymbol&netui_sort=portfolio%7Eweb"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7E-web"><img
 src="/coreWeb/resources/images/sortup.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Eprice&netui_sort=portfolio%7Eweb"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7E-symbol%2C-web%2Cprice"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7E-web"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7E-symbol"><img
 src="/coreWeb/resources/images/sortup.gif" border="false"></a></th>
 
 
     
@@ -1391,9 +1371,6 @@
 
 </html>]]></ses:responseBody>
          </ses:response>
-         <ses:testResults>
-            <ses:testStatus>fail</ses:testStatus>
-         </ses:testResults>
       </ses:test>
       <ses:test>
          <ses:testNumber>9</ses:testNumber>
@@ -1407,25 +1384,17 @@
             <ses:parameters>
                <ses:parameter>
                   <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~price</ses:value>
-               </ses:parameter>
-               <ses:parameter>
-                  <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~web</ses:value>
+                  <ses:value>portfolio~-symbol</ses:value>
                </ses:parameter>
             </ses:parameters>
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>401BA83031A94CBDA416B26EB0A88FB5</ses:value>
+                  <ses:value>4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
                <ses:header>
-                  <ses:name>---------------</ses:name>
-                  <ses:value>------------</ses:value>
-               </ses:header>
-               <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>
@@ -1434,6 +1403,10 @@
                   <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>
@@ -1443,7 +1416,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; 
JSESSIONID=401BA83031A94CBDA416B26EB0A88FB5; $Path=/coreWeb</ses:value>
+                  
<ses:value>JSESSIONID=4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -1454,12 +1427,12 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-54834ffa:101889e165b:-7d5d</ses:value>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7E-symbol%2C-web</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.1</ses:value>
+                  <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>
@@ -1494,13 +1467,13 @@
     
 <thead>
 <tr class="datagrid-header">
-        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7Esymbol&netui_sort=portfolio%7Eprice&netui_sort=portfolio%7Eweb"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do"><img 
src="/coreWeb/resources/images/sortup.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7E-price&netui_sort=portfolio%7Eweb"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7E-symbol%2Cprice"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Eprice&netui_sort=portfolio%7E-web"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7E-symbol%2Cweb"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
 
 
     
@@ -1569,9 +1542,6 @@
 
 </html>]]></ses:responseBody>
          </ses:response>
-         <ses:testResults>
-            <ses:testStatus>fail</ses:testStatus>
-         </ses:testResults>
       </ses:test>
       <ses:test>
          <ses:testNumber>10</ses:testNumber>
@@ -1582,32 +1552,15 @@
             <ses:port>8080</ses:port>
             <ses:uri>/coreWeb/databinding/datagrid/simplesort/sort.do</ses:uri>
             <ses:method>GET</ses:method>
-            <ses:parameters>
-               <ses:parameter>
-                  <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~symbol</ses:value>
-               </ses:parameter>
-               <ses:parameter>
-                  <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~price</ses:value>
-               </ses:parameter>
-               <ses:parameter>
-                  <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~web</ses:value>
-               </ses:parameter>
-            </ses:parameters>
+            <ses:parameters/>
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>401BA83031A94CBDA416B26EB0A88FB5</ses:value>
+                  <ses:value>4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
                <ses:header>
-                  <ses:name>---------------</ses:name>
-                  <ses:value>------------</ses:value>
-               </ses:header>
-               <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>
@@ -1616,6 +1569,10 @@
                   <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>
@@ -1625,7 +1582,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; 
JSESSIONID=401BA83031A94CBDA416B26EB0A88FB5; $Path=/coreWeb</ses:value>
+                  
<ses:value>JSESSIONID=4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -1636,12 +1593,12 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-54834ffa:101889e165b:-7d5d</ses:value>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7E-symbol</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.1</ses:value>
+                  <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>
@@ -1676,13 +1633,13 @@
     
 <thead>
 <tr class="datagrid-header">
-        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7E-symbol&netui_sort=portfolio%7Eprice&netui_sort=portfolio%7Eweb"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7Esymbol"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol&netui_sort=portfolio%7E-price&netui_sort=portfolio%7Eweb"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Eprice"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol&netui_sort=portfolio%7Eprice&netui_sort=portfolio%7E-web"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Eweb"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
 
 
     
@@ -1751,9 +1708,6 @@
 
 </html>]]></ses:responseBody>
          </ses:response>
-         <ses:testResults>
-            <ses:testStatus>fail</ses:testStatus>
-         </ses:testResults>
       </ses:test>
       <ses:test>
          <ses:testNumber>11</ses:testNumber>
@@ -1767,29 +1721,17 @@
             <ses:parameters>
                <ses:parameter>
                   <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~-symbol</ses:value>
-               </ses:parameter>
-               <ses:parameter>
-                  <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~price</ses:value>
-               </ses:parameter>
-               <ses:parameter>
-                  <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~web</ses:value>
+                  <ses:value>portfolio~symbol</ses:value>
                </ses:parameter>
             </ses:parameters>
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>401BA83031A94CBDA416B26EB0A88FB5</ses:value>
+                  <ses:value>4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
                <ses:header>
-                  <ses:name>---------------</ses:name>
-                  <ses:value>------------</ses:value>
-               </ses:header>
-               <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>
@@ -1798,6 +1740,10 @@
                   <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>
@@ -1807,7 +1753,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; 
JSESSIONID=401BA83031A94CBDA416B26EB0A88FB5; $Path=/coreWeb</ses:value>
+                  
<ses:value>JSESSIONID=4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -1818,12 +1764,12 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-54834ffa:101889e165b:-7d5d</ses:value>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/simplesort/sort.do</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.1</ses:value>
+                  <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>
@@ -1858,13 +1804,13 @@
     
 <thead>
 <tr class="datagrid-header">
-        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7Eprice&netui_sort=portfolio%7Eweb"><img
 src="/coreWeb/resources/images/sortup.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7E-symbol"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7E-symbol&netui_sort=portfolio%7E-price&netui_sort=portfolio%7Eweb"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2Cprice"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7E-symbol&netui_sort=portfolio%7Eprice&netui_sort=portfolio%7E-web"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2Cweb"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
 
 
     
@@ -1933,9 +1879,6 @@
 
 </html>]]></ses:responseBody>
          </ses:response>
-         <ses:testResults>
-            <ses:testStatus>fail</ses:testStatus>
-         </ses:testResults>
       </ses:test>
       <ses:test>
          <ses:testNumber>12</ses:testNumber>
@@ -1944,30 +1887,22 @@
             <ses:protocolVersion>1.1</ses:protocolVersion>
             <ses:host>localhost</ses:host>
             <ses:port>8080</ses:port>
-            <ses:uri>/coreWeb/databinding/datagrid/simplesort/sort.do</ses:uri>
+            
<ses:uri>/coreWeb/databinding/datagrid/simplesort/index.jsp</ses:uri>
             <ses:method>GET</ses:method>
             <ses:parameters>
                <ses:parameter>
                   <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~price</ses:value>
-               </ses:parameter>
-               <ses:parameter>
-                  <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~web</ses:value>
+                  <ses:value>portfolio~symbol,price</ses:value>
                </ses:parameter>
             </ses:parameters>
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>401BA83031A94CBDA416B26EB0A88FB5</ses:value>
+                  <ses:value>4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
                <ses:header>
-                  <ses:name>---------------</ses:name>
-                  <ses:value>------------</ses:value>
-               </ses:header>
-               <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>
@@ -1976,6 +1911,10 @@
                   <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>
@@ -1985,7 +1924,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; 
JSESSIONID=401BA83031A94CBDA416B26EB0A88FB5; $Path=/coreWeb</ses:value>
+                  
<ses:value>JSESSIONID=4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -1996,12 +1935,12 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-54834ffa:101889e165b:-7d5d</ses:value>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7Esymbol</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.1</ses:value>
+                  <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>
@@ -2036,13 +1975,13 @@
     
 <thead>
 <tr class="datagrid-header">
-        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7Esymbol&netui_sort=portfolio%7Eprice&netui_sort=portfolio%7Eweb"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7E-symbol%2Cprice"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7E-price&netui_sort=portfolio%7Eweb"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2C-price"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Eprice&netui_sort=portfolio%7E-web"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2Cprice%2Cweb"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
 
 
     
@@ -2111,9 +2050,6 @@
 
 </html>]]></ses:responseBody>
          </ses:response>
-         <ses:testResults>
-            <ses:testStatus>fail</ses:testStatus>
-         </ses:testResults>
       </ses:test>
       <ses:test>
          <ses:testNumber>13</ses:testNumber>
@@ -2127,25 +2063,17 @@
             <ses:parameters>
                <ses:parameter>
                   <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~-price</ses:value>
-               </ses:parameter>
-               <ses:parameter>
-                  <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~web</ses:value>
+                  <ses:value>portfolio~symbol,-price</ses:value>
                </ses:parameter>
             </ses:parameters>
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>401BA83031A94CBDA416B26EB0A88FB5</ses:value>
+                  <ses:value>4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
                <ses:header>
-                  <ses:name>---------------</ses:name>
-                  <ses:value>------------</ses:value>
-               </ses:header>
-               <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>
@@ -2154,6 +2082,10 @@
                   <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>
@@ -2163,7 +2095,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; 
JSESSIONID=401BA83031A94CBDA416B26EB0A88FB5; $Path=/coreWeb</ses:value>
+                  
<ses:value>JSESSIONID=4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -2174,12 +2106,12 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-54834ffa:101889e165b:-7d5d</ses:value>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2Cprice</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.1</ses:value>
+                  <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>
@@ -2214,13 +2146,13 @@
     
 <thead>
 <tr class="datagrid-header">
-        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7Esymbol&netui_sort=portfolio%7E-price&netui_sort=portfolio%7Eweb"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7E-symbol%2C-price"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Eweb"><img
 src="/coreWeb/resources/images/sortup.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol"><img
 src="/coreWeb/resources/images/sortup.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7E-price&netui_sort=portfolio%7E-web"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2C-price%2Cweb"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
 
 
     
@@ -2289,9 +2221,6 @@
 
 </html>]]></ses:responseBody>
          </ses:response>
-         <ses:testResults>
-            <ses:testStatus>fail</ses:testStatus>
-         </ses:testResults>
       </ses:test>
       <ses:test>
          <ses:testNumber>14</ses:testNumber>
@@ -2305,21 +2234,17 @@
             <ses:parameters>
                <ses:parameter>
                   <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~web</ses:value>
+                  <ses:value>portfolio~symbol</ses:value>
                </ses:parameter>
             </ses:parameters>
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>401BA83031A94CBDA416B26EB0A88FB5</ses:value>
+                  <ses:value>4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
                <ses:header>
-                  <ses:name>---------------</ses:name>
-                  <ses:value>------------</ses:value>
-               </ses:header>
-               <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>
@@ -2328,6 +2253,10 @@
                   <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>
@@ -2337,7 +2266,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; 
JSESSIONID=401BA83031A94CBDA416B26EB0A88FB5; $Path=/coreWeb</ses:value>
+                  
<ses:value>JSESSIONID=4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -2348,12 +2277,12 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-54834ffa:101889e165b:-7d5d</ses:value>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2C-price</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.1</ses:value>
+                  <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>
@@ -2388,13 +2317,13 @@
     
 <thead>
 <tr class="datagrid-header">
-        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7Esymbol&netui_sort=portfolio%7Eweb"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7E-symbol"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Eprice&netui_sort=portfolio%7Eweb"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2Cprice"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7E-web"><img
 src="/coreWeb/resources/images/sortdown.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol%2Cweb"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
 
 
     
@@ -2463,9 +2392,6 @@
 
 </html>]]></ses:responseBody>
          </ses:response>
-         <ses:testResults>
-            <ses:testStatus>fail</ses:testStatus>
-         </ses:testResults>
       </ses:test>
       <ses:test>
          <ses:testNumber>15</ses:testNumber>
@@ -2474,26 +2400,22 @@
             <ses:protocolVersion>1.1</ses:protocolVersion>
             <ses:host>localhost</ses:host>
             <ses:port>8080</ses:port>
-            
<ses:uri>/coreWeb/databinding/datagrid/simplesort/index.jsp</ses:uri>
+            <ses:uri>/coreWeb/databinding/datagrid/simplesort/sort.do</ses:uri>
             <ses:method>GET</ses:method>
             <ses:parameters>
                <ses:parameter>
                   <ses:name>netui_sort</ses:name>
-                  <ses:value>portfolio~-web</ses:value>
+                  <ses:value>portfolio~-symbol</ses:value>
                </ses:parameter>
             </ses:parameters>
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>401BA83031A94CBDA416B26EB0A88FB5</ses:value>
+                  <ses:value>4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
                <ses:header>
-                  <ses:name>---------------</ses:name>
-                  <ses:value>------------</ses:value>
-               </ses:header>
-               <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>
@@ -2502,6 +2424,10 @@
                   <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>
@@ -2511,7 +2437,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; 
JSESSIONID=401BA83031A94CBDA416B26EB0A88FB5; $Path=/coreWeb</ses:value>
+                  
<ses:value>JSESSIONID=4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -2522,12 +2448,12 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-54834ffa:101889e165b:-7d5d</ses:value>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Esymbol</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.1</ses:value>
+                  <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>
@@ -2562,13 +2488,13 @@
     
 <thead>
 <tr class="datagrid-header">
-        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7Esymbol&netui_sort=portfolio%7E-web"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Symbol&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/sort.do"><img 
src="/coreWeb/resources/images/sortup.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7Eprice&netui_sort=portfolio%7E-web"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Price&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7E-symbol%2Cprice"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
 
 
-        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?"><img 
src="/coreWeb/resources/images/sortup.gif" border="false"></a></th>
+        <th class="datagrid-header-cell">Web&nbsp;<a 
href="/coreWeb/databinding/datagrid/simplesort/index.jsp?netui_sort=portfolio%7E-symbol%2Cweb"><img
 src="/coreWeb/resources/images/sortable.gif" border="false"></a></th>
 
 
     
@@ -2637,9 +2563,6 @@
 
 </html>]]></ses:responseBody>
          </ses:response>
-         <ses:testResults>
-            <ses:testStatus>fail</ses:testStatus>
-         </ses:testResults>
       </ses:test>
       <ses:test>
          <ses:testNumber>16</ses:testNumber>
@@ -2648,21 +2571,17 @@
             <ses:protocolVersion>1.1</ses:protocolVersion>
             <ses:host>localhost</ses:host>
             <ses:port>8080</ses:port>
-            
<ses:uri>/coreWeb/databinding/datagrid/simplesort/index.jsp</ses:uri>
+            <ses:uri>/coreWeb/databinding/datagrid/simplesort/sort.do</ses:uri>
             <ses:method>GET</ses:method>
             <ses:parameters/>
             <ses:cookies>
                <ses:cookie>
                   <ses:name>JSESSIONID</ses:name>
-                  <ses:value>401BA83031A94CBDA416B26EB0A88FB5</ses:value>
+                  <ses:value>4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:cookie>
             </ses:cookies>
             <ses:headers>
                <ses:header>
-                  <ses:name>---------------</ses:name>
-                  <ses:value>------------</ses:value>
-               </ses:header>
-               <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>
@@ -2671,6 +2590,10 @@
                   <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>
@@ -2680,7 +2603,7 @@
                </ses:header>
                <ses:header>
                   <ses:name>cookie</ses:name>
-                  <ses:value>$Version=0; 
JSESSIONID=401BA83031A94CBDA416B26EB0A88FB5; $Path=/coreWeb</ses:value>
+                  
<ses:value>JSESSIONID=4CC9AADAC9B81604F8AE9D723662A31E</ses:value>
                </ses:header>
                <ses:header>
                   <ses:name>host</ses:name>
@@ -2691,12 +2614,12 @@
                   <ses:value>300</ses:value>
                </ses:header>
                <ses:header>
-                  <ses:name>testrecorder.playback.testid</ses:name>
-                  <ses:value>-54834ffa:101889e165b:-7d5d</ses:value>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/simplesort/sort.do?netui_sort=portfolio%7E-symbol</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.1</ses:value>
+                  <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>
@@ -2806,14 +2729,8 @@
 
 </html>]]></ses:responseBody>
          </ses:response>
-         <ses:testResults>
-            <ses:testStatus>fail</ses:testStatus>
-         </ses:testResults>
       </ses:test>
    </ses:tests>
-   <ses:endDate>18 Jan 2005, 06:46:46.578 PM MST</ses:endDate>
-   <ses:sessionStatus>fail</ses:sessionStatus>
+   <ses:endDate>20 Jan 2005, 09:53:53.535 PM MST</ses:endDate>
    <ses:testCount>16</ses:testCount>
-   <ses:passedCount>0</ses:passedCount>
-   <ses:failedCount>16</ses:failedCount>
 </ses:recorderSession>

Reply via email to