Modified: 
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortModelTest.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortModelTest.java?view=diff&r1=157430&r2=157431
==============================================================================
--- 
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
 Mon Mar 14 08:18:44 2005
@@ -19,7 +19,7 @@
 
 import java.util.List;
 import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
+import javax.servlet.ServletRequest;
 
 import junit.framework.Test;
 import junit.framework.TestCase;
@@ -29,7 +29,8 @@
 import org.apache.beehive.netui.databinding.datagrid.api.sort.SortModel;
 import org.apache.beehive.netui.databinding.datagrid.api.sort.SortDirection;
 import org.apache.beehive.netui.databinding.datagrid.api.sort.Sort;
-import 
org.apache.beehive.netui.databinding.datagrid.runtime.DataGridURLService;
+import org.apache.beehive.netui.databinding.datagrid.api.DataGridState;
+import org.apache.beehive.netui.databinding.datagrid.api.DataGridURLBuilder;
 
 /**
  *
@@ -39,210 +40,262 @@
 
     private static final String GRID_NAME = "bugs";
 
-    private HttpServletRequest _servletRequest;
+    private ServletRequest _servletRequest;
 
     public void testSortModelSimple() {
-        DataGridURLService dgss = 
DataGridURLService.getInstance(_servletRequest);
-        SortModel sortModel = dgss.getDataGridState(GRID_NAME).getSortModel();
+        SortModel sortModel = createSortModel(_servletRequest, GRID_NAME);
 
         List<Sort> sorts = sortModel.getSorts();
-        assert sorts == null;
+        assertNull(sorts);
     }
 
     public void testSortModelSimple2() {
         DataGridTestUtil.initQueryString(_servletRequest, "foo=bar");
-        DataGridURLService dgss = 
DataGridURLService.getInstance(_servletRequest);
-        SortModel sortModel = dgss.getDataGridState(GRID_NAME).getSortModel();
+        SortModel sortModel = createSortModel(_servletRequest, GRID_NAME);
 
         List<Sort> sorts = sortModel.getSorts();
-        assert sorts == null;
+        assertNull(sorts);
 
-        Map queryParams = dgss.buildSortQueryParamsMap(GRID_NAME);
-        assert queryParams.size() == 1;
+        DataGridURLBuilder urlBuilder = 
DataGridTestUtil.createDataGridURLBuilder(_servletRequest, GRID_NAME);
+        Map queryParams = urlBuilder.getQueryParams();
+        assertEquals(1, queryParams.size());
         String[] values = (String[])queryParams.get("foo");
-        assert values.length == 1;
-        assert values[0].equals("bar");
+        assertEquals(1, values.length);
+        assertEquals("bar", values[0]);
     }
 
     public void testSortModelSimple3() {
         DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs;id");
-        DataGridURLService dgss = 
DataGridURLService.getInstance(_servletRequest);
-        SortModel sortModel = dgss.getDataGridState(GRID_NAME).getSortModel();
+        SortModel sortModel = createSortModel(_servletRequest, GRID_NAME);
 
         List<Sort> sorts = sortModel.getSorts();
-        assert sorts != null;
-        assert sorts.size() == 1;
-        assert sorts.get(0).getDirection() == SortDirection.ASCENDING;
-        assert sorts.get(0).getSortExpression().equals("id");
-
-        Map queryParams = dgss.buildSortQueryParamsMap(GRID_NAME);
-        assert queryParams.size() == 2;
+        assertNotNull(sorts);
+        assertEquals(1, sorts.size());
+        assertEquals(SortDirection.ASCENDING, sorts.get(0).getDirection());
+        assertEquals("id", sorts.get(0).getSortExpression());
+
+        DataGridURLBuilder urlBuilder = 
DataGridTestUtil.createDataGridURLBuilder(_servletRequest, GRID_NAME);
+        Map queryParams = urlBuilder.getQueryParams();
+        assertEquals(2, queryParams.size());
         String[] values = (String[])queryParams.get("foo");
-        assert values.length == 1;
-        assert values[0].equals("bar");
+        assertEquals(1, values.length);
+        assertEquals("bar", values[0]);
 
         values = (String[])queryParams.get("netui_sort");
-        assert values.length == 1;
-        assert values[0].equals("bugs;id");
+        assertEquals(1, values.length);
+        assertEquals("bugs;id", values[0]);
     }
 
     public void testSortModelSimple4() {
         DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs;id,-name");
-        DataGridURLService dgss = 
DataGridURLService.getInstance(_servletRequest);
-        SortModel sortModel = dgss.getDataGridState(GRID_NAME).getSortModel();
+        SortModel sortModel = createSortModel(_servletRequest, GRID_NAME);
 
         List<Sort> 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 = dgss.buildSortQueryParamsMap(GRID_NAME);
-        assert queryParams.size() == 2;
+        assertNotNull(sorts);
+        assertEquals(2, sorts.size());
+        assertEquals(SortDirection.ASCENDING, sorts.get(0).getDirection());
+        assertEquals("id", sorts.get(0).getSortExpression());
+        assertEquals(SortDirection.DESCENDING, sorts.get(1).getDirection());
+        assertEquals("name", sorts.get(1).getSortExpression());
+
+        DataGridURLBuilder urlBuilder = 
DataGridTestUtil.createDataGridURLBuilder(_servletRequest, GRID_NAME);
+        Map queryParams = urlBuilder.getQueryParams();
+        assertEquals(2, queryParams.size());
         String[] values = (String[])queryParams.get("foo");
-        assert values.length == 1;
-        assert values[0].equals("bar");
+        assertEquals(1, values.length);
+        assertEquals("bar", values[0]);
 
         values = (String[])queryParams.get("netui_sort");
-        assert values.length == 1;
-        assert values[0].equals("bugs;id,-name");
+        assertEquals(1, values.length);
+        assertEquals("bugs;id,-name", values[0]);
     }
 
     public void testSortModelSimple5() {
         DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs;id,-name");
-        DataGridURLService dgss = 
DataGridURLService.getInstance(_servletRequest);
-        SortModel sortModel = dgss.getDataGridState(GRID_NAME).getSortModel();
+        SortModel sortModel = createSortModel(_servletRequest, GRID_NAME);
 
         List<Sort> 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 = dgss.buildSortQueryParamsMap(GRID_NAME);
-        assert queryParams.size() == 2;
+        assertNotNull(sorts);
+        assertEquals(2, sorts.size());
+        assertEquals(SortDirection.ASCENDING, sorts.get(0).getDirection());
+        assertEquals("id", sorts.get(0).getSortExpression());
+        assertEquals(SortDirection.DESCENDING, sorts.get(1).getDirection());
+        assertEquals("name", sorts.get(1).getSortExpression());
+
+        DataGridURLBuilder urlBuilder = 
DataGridTestUtil.createDataGridURLBuilder(_servletRequest, GRID_NAME);
+        Map queryParams = urlBuilder.getQueryParams();
+        assertEquals(2, queryParams.size());
         String[] values = (String[])queryParams.get("foo");
-        assert values.length == 1;
-        assert values[0].equals("bar");
+        assertEquals(1, values.length);
+        assertEquals("bar", values[0]);
 
         values = (String[])queryParams.get("netui_sort");
-        assert values.length == 1;
-        assert values[0].equals("bugs;id,-name");
+        assertEquals(1, values.length);
+        assertEquals("bugs;id,-name", values[0]);
 
-        /* now, for the "id" expression, change the direction */
-        queryParams = dgss.buildSortQueryParamsMap(GRID_NAME, "id", 
SortDirection.DESCENDING);
-        assert queryParams.size() == 2;
+        // now, for the "id" expression, change the direction
+        queryParams = urlBuilder.buildSortQueryParamsMap("id");
+        assertEquals(2, queryParams.size());
         values = (String[])queryParams.get("foo");
-        assert values.length == 1;
-        assert values[0].equals("bar");
+        assertEquals(1, values.length);
+        assertEquals("bar", values[0]);
 
         values = (String[])queryParams.get("netui_sort");
-        assert values.length == 1;
-        assert values[0].equals("bugs;-id,-name");
+        assertEquals(1, values.length);
+        assertEquals("bugs;-id,-name", values[0]);
 
-        /* now, for the "id" expression, change the direction */
-        queryParams = dgss.buildSortQueryParamsMap(GRID_NAME, "id", 
SortDirection.NONE);
-        assert queryParams.size() == 2;
-        values = (String[])queryParams.get("foo");
-        assert values.length == 1;
-        assert values[0].equals("bar");
+    }
+
+    public void testManualSortModel() {
+        DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs;id,-name");
+        SortModel sortModel = createSortModel(_servletRequest, GRID_NAME);
+
+        /* set "id" direction to NONE */
+        List sorts = sortModel.getSorts();
+        assertNotNull(sorts);
+        Sort idSort = lookupSort(sorts, "id");
+        assertNotNull(idSort);
+        idSort.setDirection(SortDirection.NONE);
+
+        DataGridURLBuilder urlBuilder = 
DataGridTestUtil.createDataGridURLBuilder(_servletRequest, GRID_NAME);
+        Map queryParams = urlBuilder.getQueryParams();
+        assertEquals(2, queryParams.size());
+        String[] values = (String[])queryParams.get("foo");
+        assertEquals(1, values.length);
+        assertEquals("bar", values[0]);
 
         values = (String[])queryParams.get("netui_sort");
-        assert values.length == 1;
-        assert values[0].equals("bugs;-name");
+        assertEquals(1, values.length);
+        assertEquals("bugs;-name", values[0]);
 
-        /* now, for the "id" expression, change the direction */
-        queryParams = dgss.buildSortQueryParamsMap(GRID_NAME, "id", 
SortDirection.ASCENDING);
-        assert queryParams.size() == 2;
+        /* set "id" direction to ASCENDING */
+        idSort.setDirection(SortDirection.ASCENDING);
+        queryParams = urlBuilder.getQueryParams();
+        assertEquals(2, queryParams.size());
         values = (String[])queryParams.get("foo");
-        assert values.length == 1;
-        assert values[0].equals("bar");
+        assertEquals(1, values.length);
+        assertEquals("bar", values[0]);
 
         values = (String[])queryParams.get("netui_sort");
-        assert values.length == 1;
-        assert values[0].equals("bugs;id,-name");
+        assertEquals(1, values.length);
+        assertEquals("bugs;id,-name", values[0]);
 
-        /* now, add a new column "newcolumn" and explicitly set its direction 
*/
-        queryParams = dgss.buildSortQueryParamsMap(GRID_NAME, "newcolumn", 
SortDirection.DESCENDING);
-        assert queryParams.size() == 2;
+        /* set "name" direction to NONE */
+        Sort nameSort = lookupSort(sorts, "name");
+        assertNotNull(nameSort);
+        nameSort.setDirection(SortDirection.NONE);
+        queryParams = urlBuilder.getQueryParams();
+        assertEquals(2, queryParams.size());
         values = (String[])queryParams.get("foo");
-        assert values.length == 1;
-        assert values[0].equals("bar");
+        assertEquals(1, values.length);
+        assertEquals("bar", values[0]);
 
         values = (String[])queryParams.get("netui_sort");
-        assert values.length == 1;
-        assert values[0].equals("bugs;id,-name,-newcolumn");
+        assertEquals(1, values.length);
+        assertEquals("bugs;id", values[0]);
+        /* reset "name" direction to DESCENDING */
+        nameSort.setDirection(SortDirection.DESCENDING);
+
+        /* add a sort for a new column */
+        Sort newSort = new Sort();
+        newSort.setSortExpression("newcolumn");
+        newSort.setDirection(SortDirection.DESCENDING);
+        sorts.add(newSort);
 
-        /* now, add a new column "newcolumn" and explicitly set its direction 
*/
-        queryParams = dgss.buildSortQueryParamsMap(GRID_NAME, "name", 
SortDirection.NONE);
-        assert queryParams.size() == 2;
+        queryParams = urlBuilder.getQueryParams();
+        assertEquals(2, queryParams.size());
         values = (String[])queryParams.get("foo");
-        assert values.length == 1;
-        assert values[0].equals("bar");
+        assertEquals(1, values.length);
+        assertEquals("bar", values[0]);
 
         values = (String[])queryParams.get("netui_sort");
-        assert values.length == 1;
-        assert values[0].equals("bugs;id");
+        assertEquals(1, values.length);
+        assertEquals("bugs;id,-name,-newcolumn", values[0]);
     }
 
     public void testSortModelSimple6() {
         DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs;-id,-name");
-        DataGridURLService dgss = 
DataGridURLService.getInstance(_servletRequest);
-        SortModel sortModel = dgss.getDataGridState(GRID_NAME).getSortModel();
+        SortModel sortModel = createSortModel(_servletRequest, GRID_NAME);
 
-        /* now, add a new column "newcolumn" and explicitly set its direction 
*/
-        Map queryParams = dgss.buildSortQueryParamsMap(GRID_NAME, "id", 
SortDirection.NONE);
-        assert queryParams.size() == 2;
+        List sorts = sortModel.getSorts();
+        assertNotNull(sorts);
+        Sort sort = lookupSort(sorts, "id");
+        assertNotNull(sort);
+        sort.setDirection(SortDirection.NONE);
+
+        DataGridURLBuilder urlBuilder = 
DataGridTestUtil.createDataGridURLBuilder(_servletRequest, GRID_NAME);
+        Map queryParams = urlBuilder.getQueryParams();
+        assertEquals(2, queryParams.size());
         String[] values = (String[])queryParams.get("foo");
-        assert values.length == 1;
-        assert values[0].equals("bar");
+        assertEquals(1, values.length);
+        assertEquals("bar", values[0]);
 
         values = (String[])queryParams.get("netui_sort");
-        assert values.length == 1;
-        assert values[0].equals("bugs;-name");
+        assertEquals(1, values.length);
+        assertEquals("bugs;-name", values[0]);
     }
 
     public void testSortModelSimple7() {
         DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs;-id");
-        DataGridURLService dgss = 
DataGridURLService.getInstance(_servletRequest);
-        SortModel sortModel = dgss.getDataGridState(GRID_NAME).getSortModel();
+        SortModel sortModel = createSortModel(_servletRequest, GRID_NAME);
 
-        /* now, add a new column "newcolumn" and explicitly set its direction 
*/
-        Map queryParams = dgss.buildSortQueryParamsMap(GRID_NAME, "id", 
SortDirection.NONE);
-        assert queryParams.size() == 1;
+        List sorts = sortModel.getSorts();
+        assertNotNull(sorts);
+        Sort sort = lookupSort(sorts, "id");
+        assertNotNull(sort);
+        sort.setDirection(SortDirection.NONE);
+
+        DataGridURLBuilder urlBuilder = 
DataGridTestUtil.createDataGridURLBuilder(_servletRequest, GRID_NAME);
+        Map queryParams = urlBuilder.getQueryParams();
+        assertEquals(1, queryParams.size());
         String[] values = (String[])queryParams.get("foo");
-        assert values.length == 1;
-        assert values[0].equals("bar");
+        assertEquals(1, values.length);
+        assertEquals("bar", values[0]);
     }
 
     /* this is a test of sorts for two grids on the same URL */
     public void testSortModelSimple8() {
         DataGridTestUtil.initQueryString(_servletRequest, 
"foo=bar&netui_sort=bugs;id,-name&netui_sort=developers;bugcount,-milestone");
-        DataGridURLService dgss = 
DataGridURLService.getInstance(_servletRequest);
-        SortModel sortModel = dgss.getDataGridState(GRID_NAME).getSortModel();
+        SortModel sortModel = createSortModel(_servletRequest, GRID_NAME);
 
         List<Sort> 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");
+        assertNotNull(sorts);
+        assertEquals(2, sorts.size());
+        assertEquals(SortDirection.ASCENDING, sorts.get(0).getDirection());
+        assertEquals("id", sorts.get(0).getSortExpression());
+        assertEquals(SortDirection.DESCENDING, sorts.get(1).getDirection());
+        assertEquals("name", sorts.get(1).getSortExpression());
+
+        DataGridURLBuilder urlBuilder = 
DataGridTestUtil.createDataGridURLBuilder(_servletRequest, GRID_NAME);
+        Map queryParams = urlBuilder.getQueryParams();
+        assertEquals(2, queryParams.size());
 
-        Map queryParams = dgss.buildSortQueryParamsMap(GRID_NAME);
-        assert queryParams.size() == 2;
         String[] values = (String[])queryParams.get("foo");
-        assert values.length == 1;
-        assert values[0].equals("bar");
+        assertEquals(1, values.length);
+        assertEquals("bar", values[0]);
 
         values = (String[])queryParams.get("netui_sort");
-        assert values.length == 2;
-        assert values[0].equals("developers;bugcount,-milestone");
-        assert values[1].equals("bugs;id,-name");
+        assertEquals(2, values.length);
+        assertEquals("developers;bugcount,-milestone", values[0]);
+        assertEquals("bugs;id,-name", values[1]);
+    }
+
+    private final SortModel createSortModel(ServletRequest request, String 
gridNamespace) {
+        DataGridState state = DataGridTestUtil.createDataGridState(request, 
gridNamespace);
+        SortModel sortModel = state.getSortModel();
+        return sortModel;
+    }
+
+    private static final Sort lookupSort(List sorts, String sortExpression) {
+        if(sorts == null)
+            return null;
+
+        for(int i = 0; i < sorts.size(); i++) {
+            Sort sort = (Sort)sorts.get(i);
+            if(sort.getSortExpression().equals(sortExpression))
+                return sort;
+        }
+        return null;
     }
 
     protected void setUp() {

Modified: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/org/apache/beehive/netui/test/databinding/tagfiles/jumpToPage.tag
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/org/apache/beehive/netui/test/databinding/tagfiles/jumpToPage.tag?view=diff&r1=157430&r2=157431
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/org/apache/beehive/netui/test/databinding/tagfiles/jumpToPage.tag
 (original)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/tags/org/apache/beehive/netui/test/databinding/tagfiles/jumpToPage.tag
 Mon Mar 14 08:18:44 2005
@@ -18,8 +18,8 @@
     form.submit();
   }
   </script>
-  <select name="${dataGrid.pagerRowQueryParamKey}" 
onchange="doPagerSubmit(this); return true;">
-    <netui-data:repeater dataSource="dataGrid.pagerParamValues">
+  <select name="${dataGrid.urlBuilder.pagerRowQueryParamKey}" 
onchange="doPagerSubmit(this); return true;">
+    <netui-data:repeater dataSource="dataGrid.urlBuilder.pagerParamValues">
     <c:choose>
       <c:when test="${container.index == dataGrid.state.pagerModel.page}">
         <option value="${container.item}" 
selected="true">${container.index+1}</option>


Reply via email to