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>
