Author: ekoneil Date: Thu Jan 13 07:38:15 2005 New Revision: 125081 URL: http://svn.apache.org/viewcvs?view=rev&rev=125081 Log: Checkpoint some data grid filter work.
- reorganizing the filter support to get this structured in the url service / filter model structure DRT: Beehive pass BVT: NetUI pass (10 failures) Added: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/filter/FilterModel.java (contents, props changed) Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/filter/DefaultFilter.java incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/filter/IFilter.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/cell/SortedCellDecorator.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/filter/FilterService.java incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortFactory.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/DataGrid.java incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/DefaultSortTest.java incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortServiceTest.java Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/filter/DefaultFilter.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/filter/DefaultFilter.java?view=diff&rev=125081&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/filter/DefaultFilter.java&r1=125080&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/filter/DefaultFilter.java&r2=125081 ============================================================================== --- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/filter/DefaultFilter.java (original) +++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/filter/DefaultFilter.java Thu Jan 13 07:38:15 2005 @@ -19,65 +19,59 @@ import java.util.HashMap; -import org.apache.beehive.netui.databinding.datagrid.services.filter.IllegalFilterException; -import org.apache.beehive.netui.util.logging.Logger; - /** * */ public class DefaultFilter implements IFilter { - private static final Logger LOGGER = Logger.getInstance(DefaultFilter.class); - - private static final HashMap STRING_TO_INT; - private static final HashMap INT_TO_STRING; - private static final String FILTER_DELIM = "~"; + private static final HashMap<String, FilterOperation> STRING_TO_FILTER; + private static final HashMap<FilterOperation, String> FILTER_TO_STRING; - /* todo: support the rest of the operations! */ + /* todo: additional operations */ static { - STRING_TO_INT = new HashMap(); - STRING_TO_INT.put("eq", new Integer(IFilter.EQUALS)); - STRING_TO_INT.put("ne", new Integer(IFilter.NOT_EQUAL)); + STRING_TO_FILTER = new HashMap<String, FilterOperation>(); + STRING_TO_FILTER.put("eq", FilterOperation.EQUAL); + STRING_TO_FILTER.put("ne", FilterOperation.NOT_EQUAL); - INT_TO_STRING = new HashMap(); - INT_TO_STRING.put(new Integer(IFilter.EQUALS), "eq"); - INT_TO_STRING.put(new Integer(IFilter.NOT_EQUAL), "ne"); + FILTER_TO_STRING = new HashMap<FilterOperation, String>(); + FILTER_TO_STRING.put(FilterOperation.EQUAL, "eq"); + FILTER_TO_STRING.put(FilterOperation.NOT_EQUAL, "ne"); } - private String _filterExpr; - private int _op; + private String _filterExpression; + private FilterOperation _filterOperation; private Object _value; public DefaultFilter() { } - public DefaultFilter(String filterExpression, String operation, Object value) { - this(filterExpression, mapStringToInt(operation), value); + public DefaultFilter(String filterExpression, String filterOperation, Object value) { + this(filterExpression, mapStringToInt(filterOperation), value); } - public DefaultFilter(String filterExpression, int operation, Object value) { + public DefaultFilter(String filterExpression, FilterOperation filterOperation, Object value) { this(); - _filterExpr = filterExpression; - _op = operation; + _filterExpression = filterExpression; + _filterOperation = filterOperation; _value = value; } public void setFilterExpression(String filterExpression) { - _filterExpr = filterExpression; + _filterExpression = filterExpression; } public String getFilterExpression() { - return _filterExpr; + return _filterExpression; } - public void setOperation(int operation) { - _op = operation; + public void setOperation(FilterOperation filterOperation) { + _filterOperation = filterOperation; } - public int getOperation() { - return _op; + public FilterOperation getOperation() { + return _filterOperation; } public void setValue(Object value) { @@ -89,54 +83,28 @@ } public String getOperationText() { - return mapIntToString(_op); - } - - public static final IFilter parse(String namespace, String filter) { - - // @todo: need to figure out how to handle this case... - if (!filter.startsWith(namespace)) - return null; - - // crack filter terms here - String[] terms = filter.split(FILTER_DELIM); - - // @todo: what did this mean? - if (terms.length == 3 && terms[2].equals("*")) - return null; - else if (terms.length == 4) { - try { - // the namespace is ignored here since all filter terms are scoped into a namespace already - DefaultFilter f = new DefaultFilter(terms[1], terms[2], terms[3]); - return f; - } catch (NumberFormatException nfe) { - if (LOGGER.isErrorEnabled()) - LOGGER.error("An error occurred parsing a URL filter with syntax \"" + filter + "\"."); - throw new IllegalFilterException("An exception occurred parsing the filter \"" + filter + "\". Cause: " + nfe, nfe); - } - } else - throw new IllegalFilterException("The syntax of the filter \"" + filter + "\" is illegal."); + return _filterOperation.toString(); } public String write(String namespace) { assert namespace != null; StringBuilder buf = new StringBuilder(); buf.append(namespace); - buf.append(FILTER_DELIM); + buf.append("\texpression: "); buf.append(getFilterExpression()); - buf.append(FILTER_DELIM); - buf.append(mapIntToString(getOperation())); - buf.append(FILTER_DELIM); + buf.append("\toperation: "); + buf.append(getOperation()); + buf.append("\tvalue: "); buf.append(getValue()); return buf.toString(); } - private static final int mapStringToInt(String operation) { - Integer i = (Integer) STRING_TO_INT.get(operation); - return i.intValue(); + private static final FilterOperation mapStringToInt(String operation) { + assert STRING_TO_FILTER.get(operation) != null : "Found a null FilterOperation in the filter operation map."; + return STRING_TO_FILTER.get(operation); } - private static final String mapIntToString(int operation) { - return (String) INT_TO_STRING.get(new Integer(operation)); + private static final String mapIntToString(FilterOperation operation) { + return FILTER_TO_STRING.get(operation.getId()); } } Added: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/filter/FilterModel.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/filter/FilterModel.java?view=auto&rev=125081 ============================================================================== --- (empty file) +++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/filter/FilterModel.java Thu Jan 13 07:38:15 2005 @@ -0,0 +1,136 @@ +/* + * Copyright 2004 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * $Header:$ + */ +package org.apache.beehive.netui.databinding.datagrid.model.filter; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.HashMap; +import javax.servlet.ServletRequest; + +import org.apache.beehive.netui.databinding.datagrid.services.filter.FilterService; + +/** + * + */ +public class FilterModel { + + private String _namespace = null; + private String _filterParamKey = null; + private Map<String, List<IFilter>> _filters = null; + + public FilterModel(String name) { + _namespace = name; + } + + public void handleRequest(ServletRequest request) { + FilterService filterService = FilterService.getInstance(request, _namespace); + _filters = filterService.getFilters(); + } + + public String getFilterParamKey() { + return _filterParamKey; + } + + public List<IFilter> getFilters(String filterExpression) { + if(_filters == null) + return null; + + return lookupFilters(filterExpression); + } + + public boolean isFiltered(String filterExpression) { + if(_filters == null) + return false; + + if(_filters.containsKey(filterExpression)) { + assert ((List)_filters.get(filterExpression)).size() > 0; + return true; + } else + return false; + } + + /** + * Build a map of query parameters that represent all filters available + * in a data grid. + * + * @return + */ + public Map<String, String[]> getFilterParamsMap() { + return buildFilterParamsMapInternal(null); + } + + public void removeFilters(String filterExpression) { + if(_filters == null) + return; + + _filters.remove(filterExpression); + } + + public void removeAllFilters() { + if(_filters == null) + return; + + _filters.clear(); + } + + public void addFilters(IFilter[] filters) { + throw new UnsupportedOperationException("NYI"); + } + + public void removeFilters(IFilter[] filters) { + throw new UnsupportedOperationException("NYI"); + } + + public String toString() { + throw new UnsupportedOperationException("NYI"); + } + + private Map<String, String[]> buildFilterParamsMapInternal(String omitFilterExpression) { + if(_filters == null) + return null; + + ArrayList<String> params = new ArrayList<String>(); + for(String filterExpr : _filters.keySet()) { + assert filterExpr != null; + + if(omitFilterExpression != null && filterExpr.equals(omitFilterExpression)) + continue; + + List<IFilter> filters = _filters.get(filterExpr); + assert filters != null; + for(IFilter filter : filters) { + params.add(filter.write(_namespace)); + } + } + + HashMap<String, String[]> map = new HashMap<String, String[]>(); + map.put(getFilterParamKey(), params.toArray(new String[0])); + return map; + } + + private List<IFilter> lookupFilters(String filterExpression) { + assert filterExpression != null; + assert !filterExpression.equals(""); + + if(_filters == null) + return null; + + return _filters.get(filterExpression); + } +} Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/filter/IFilter.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/filter/IFilter.java?view=diff&rev=125081&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/filter/IFilter.java&r1=125080&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/filter/IFilter.java&r2=125081 ============================================================================== --- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/filter/IFilter.java (original) +++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/filter/IFilter.java Thu Jan 13 07:38:15 2005 @@ -23,17 +23,28 @@ public interface IFilter { String FILTER_PARAM_KEY = "netui_filter"; - - int EQUALS = 1; - int NOT_EQUAL = 2; + + enum FilterOperation { + EQUAL(1), + NOT_EQUAL(2); + + private int _id; + FilterOperation(int id) { + _id = id; + } + + public int getId() { + return _id; + } + } String getFilterExpression(); void setFilterExpression(String filterExpression); - int getOperation(); + FilterOperation getOperation(); - void setOperation(int operation); + void setOperation(FilterOperation operation); Object getValue(); 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=125081&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/DefaultSort.java&r1=125080&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/DefaultSort.java&r2=125081 ============================================================================== --- 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 Thu Jan 13 07:38:15 2005 @@ -25,13 +25,13 @@ implements ISort { private String _sortExpression; - private Direction _sortDirection; + private SortDirection _sortDirection; public DefaultSort() { super(); } - public DefaultSort(String sortExpression, Direction sortDirection) { + public DefaultSort(String sortExpression, SortDirection sortDirection) { this(); _sortExpression = sortExpression; _sortDirection = sortDirection; @@ -47,11 +47,11 @@ _sortExpression = expression; } - public Direction getDirection() { + public SortDirection getDirection() { return _sortDirection; } - public void setDirection(Direction sortDirection) { + public void setDirection(SortDirection sortDirection) { _sortDirection = sortDirection; } @@ -81,20 +81,20 @@ private String writeSortParam(String namespace, boolean flipDirection) { - Direction direction = _sortDirection; + SortDirection sortDirection = _sortDirection; if (flipDirection) /* todo: break this dependency. switch ISort to AbstractSort with utility methods */ - direction = direction.flipDirection(); + sortDirection = sortDirection.flipDirection(); - return writeSortParam(namespace, _sortExpression, direction); + return writeSortParam(namespace, _sortExpression, sortDirection); } - public static final String writeSortParam(String namespace, String sortExpression, Direction sortDirection) { + public static final String writeSortParam(String namespace, String sortExpression, SortDirection sortDirection) { StringBuilder builder = new StringBuilder(); builder.append(namespace); builder.append("~"); - if(sortDirection == Direction.DESCENDING) + 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=125081&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/ISort.java&r1=125080&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/ISort.java&r2=125081 ============================================================================== --- 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 Thu Jan 13 07:38:15 2005 @@ -24,15 +24,15 @@ { String SORT_PARAM_KEY = "netui_sort"; - enum Direction{ + enum SortDirection{ NONE, ASCENDING, DESCENDING; - Direction flipDirection() { - if(this == Direction.ASCENDING) - return Direction.DESCENDING; - else if(this == Direction.DESCENDING) - return Direction.ASCENDING; - else return Direction.ASCENDING; + SortDirection flipDirection() { + if(this == SortDirection.ASCENDING) + return SortDirection.DESCENDING; + else if(this == SortDirection.DESCENDING) + return SortDirection.ASCENDING; + else return SortDirection.ASCENDING; } }; @@ -40,9 +40,9 @@ void setSortExpression(String sortExpression); - Direction getDirection(); + SortDirection getDirection(); - void setDirection(Direction sortDirection); + void setDirection(SortDirection sortDirection); String write(String namespace); 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=125081&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/SortModel.java&r1=125080&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/sort/SortModel.java&r2=125081 ============================================================================== --- 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 Thu Jan 13 07:38:15 2005 @@ -20,7 +20,7 @@ import java.util.List; import javax.servlet.ServletRequest; -import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort.Direction; +import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort.SortDirection; import org.apache.beehive.netui.databinding.datagrid.services.sort.SortService; /** @@ -64,15 +64,15 @@ public boolean isSorted(String sortExpression) { ISort term = findTerm(sortExpression); - if (term == null || term.getDirection() == Direction.NONE) + if (term == null || term.getDirection() == SortDirection.NONE) return false; else return true; } - public Direction getSortDirection(String sortExpression) { + public SortDirection getSortDirection(String sortExpression) { ISort term = findTerm(sortExpression); - return term == null ? Direction.NONE : term.getDirection(); + return term == null ? SortDirection.NONE : term.getDirection(); } public boolean removeSort(String sortExpression) { @@ -84,7 +84,7 @@ else return false; } - public void addSort(String sortExpression, Direction sortDirection) { + public void addSort(String sortExpression, SortDirection sortDirection) { DefaultSort sort = new DefaultSort(sortExpression, sortDirection); _sorts.add(sort); } Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/cell/SortedCellDecorator.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/cell/SortedCellDecorator.java?view=diff&rev=125081&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/cell/SortedCellDecorator.java&r1=125080&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/cell/SortedCellDecorator.java&r2=125081 ============================================================================== --- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/cell/SortedCellDecorator.java (original) +++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/rendering/cell/SortedCellDecorator.java Thu Jan 13 07:38:15 2005 @@ -32,7 +32,7 @@ import org.apache.beehive.netui.databinding.datagrid.model.CellModel; import org.apache.beehive.netui.databinding.datagrid.model.cell.HeaderCellModel; import org.apache.beehive.netui.databinding.datagrid.model.DataGridModel; -import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort.Direction; +import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort.SortDirection; import org.apache.beehive.netui.databinding.datagrid.model.sort.SortModel; import org.apache.beehive.netui.databinding.datagrid.util.JspUtil; import org.apache.beehive.netui.databinding.datagrid.services.DataGridStateService; @@ -87,7 +87,7 @@ AnchorTag.State aTag = new AnchorTag.State(); ImageTag.State imgTag = new ImageTag.State(); - Direction sortDirection = sortModel.getSortDirection(cellModel.getSortExpression()); + SortDirection sortDirection = sortModel.getSortDirection(cellModel.getSortExpression()); /* build icon for existing sort */ if(sortModel.isSorted(cellModel.getSortExpression())) 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=125081&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/DataGridStateService.java&r1=125080&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/DataGridStateService.java&r2=125081 ============================================================================== --- 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 Thu Jan 13 07:38:15 2005 @@ -27,7 +27,7 @@ import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort; import org.apache.beehive.netui.databinding.datagrid.model.sort.DefaultSort; import org.apache.beehive.netui.databinding.datagrid.model.sort.SortModel; -import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort.Direction; +import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort.SortDirection; /** * todo: need to support registering URL prefixes that have state service handlers and should be omitted from regular URL construction. @@ -101,7 +101,7 @@ return map; } - public Map<String, String[]> buildSortQueryParamsMap(String sortExpression, Direction sortDirection) { + public Map<String, String[]> buildSortQueryParamsMap(String sortExpression, SortDirection sortDirection) { /* todo: consolidate the query param map construction methods */ assert sortExpression != null; @@ -109,14 +109,14 @@ List<ISort> sorts = _sortModel.getSorts(); ArrayList valueList = new ArrayList(5); - if(sortDirection != Direction.NONE && !_sortModel.isSorted(sortExpression)) + if(sortDirection != SortDirection.NONE && !_sortModel.isSorted(sortExpression)) valueList.add(DefaultSort.writeSortParam(_namespace, sortExpression, sortDirection)); if(sorts != null) { /* todo: deal with additional query params here */ for(ISort sort : sorts) { if(sort.getSortExpression().equals(sortExpression)) { - if(sortDirection != Direction.NONE) + if(sortDirection != SortDirection.NONE) /* todo: broke encapsulation here. bad bad bad. */ /* @todo: need to move this parameter handling into some sort of URLParams class that can be *fast* */ valueList.add(DefaultSort.writeSortParam(_namespace, sort.getSortExpression(), sortDirection)); @@ -130,13 +130,13 @@ return map; } - public String getSortImagePath(String contextPath, Direction direction) { - if(direction == Direction.ASCENDING) + public String getSortImagePath(String contextPath, SortDirection sortDirection) { + if(sortDirection == SortDirection.ASCENDING) return contextPath + "/resources/images/sortdown.gif"; - else if(direction == Direction.DESCENDING) + else if(sortDirection == SortDirection.DESCENDING) return contextPath + "/resources/images/sortup.gif"; else { - assert direction == Direction.NONE : "Encountered an invalid sort direction."; + assert sortDirection == SortDirection.NONE : "Encountered an invalid sort direction."; /* todo: need to flag on whether this is sort up or down and set the image accordingly */ return getDefaultSortImagePath(contextPath); } @@ -148,14 +148,14 @@ } public Map<String, String[]> getSortQueryParamsMap(String sortExpression) { - Direction sortDirection = _sortModel.getSortDirection(sortExpression); + SortDirection sortDirection = _sortModel.getSortDirection(sortExpression); - if(sortDirection == Direction.NONE) - return buildSortQueryParamsMap(sortExpression, Direction.ASCENDING); - else if(sortDirection == Direction.ASCENDING) - return buildSortQueryParamsMap(sortExpression, Direction.DESCENDING); - else if(sortDirection == Direction.DESCENDING) - return buildSortQueryParamsMap(sortExpression, Direction.NONE); + if(sortDirection == SortDirection.NONE) + return buildSortQueryParamsMap(sortExpression, SortDirection.ASCENDING); + else if(sortDirection == SortDirection.ASCENDING) + return buildSortQueryParamsMap(sortExpression, SortDirection.DESCENDING); + else if(sortDirection == SortDirection.DESCENDING) + return buildSortQueryParamsMap(sortExpression, SortDirection.NONE); else throw new IllegalStateException("Received invalid sort direction \"" + sortDirection + "\""); } } Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/filter/FilterService.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/filter/FilterService.java?view=diff&rev=125081&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/filter/FilterService.java&r1=125080&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/filter/FilterService.java&r2=125081 ============================================================================== --- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/filter/FilterService.java (original) +++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/filter/FilterService.java Thu Jan 13 07:38:15 2005 @@ -18,7 +18,6 @@ package org.apache.beehive.netui.databinding.datagrid.services.filter; import java.util.ArrayList; -import java.util.Iterator; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -27,351 +26,74 @@ import javax.servlet.jsp.JspContext; import org.apache.beehive.netui.databinding.datagrid.model.filter.IFilter; +import org.apache.beehive.netui.databinding.datagrid.model.filter.DefaultFilter; import org.apache.beehive.netui.util.logging.Logger; +/* Beehive filter format: netui_filter=<namespace>~<filterExpr>~<op>~<value> */ /** - * Beehive: netui_sort=<namespace>~<filterExpr>~<op>~<value> + * */ public class FilterService { private static final Logger LOGGER = Logger.getInstance(FilterService.class); + private static final String FILTER_DELIM = "~"; public static FilterService getInstance(JspContext jspContext, String namespace) { - return FilterService.getInstance(jspContext, namespace, null); - } - - public static FilterService getInstance(JspContext jspContext, String namespace, String queryString) - { if(jspContext instanceof PageContext) { ServletRequest request = ((PageContext)jspContext).getRequest(); - FilterService svc = new FilterService(request, namespace); - return svc; + return getInstance(request, namespace); } else throw new IllegalArgumentException("Can not create a FilterService from a JspContext of type " + (jspContext != null ? jspContext.getClass().getName() : "null")); } - private ServletRequest _request = null; + public static FilterService getInstance(ServletRequest request, String namespace) { + return new FilterService(request, namespace); + } + private String _namespace = null; - private Map _filters = null; - private String _queryString = null; - private Map _altParams = null; + private HashMap<String, List<IFilter>> _filters = null; + private ServletRequest _request = null; private FilterService(ServletRequest request, String namespace) { super(); _request = request; _namespace = namespace; + _filters = internalGetFilters(); } - private FilterService(ServletRequest request, String namespace, String queryString) - { - this(request, namespace); - _queryString = queryString; - } - - public boolean isFiltered(String filterExpression) - { - ensureFilterList(); - - if(_filters == null) return false; - - if(_filters.containsKey(filterExpression)) - { - assert ((ArrayList)_filters.get(filterExpression)).size() > 0; - return true; - } - else return false; - } - - // @todo: need to return all filters here - public IFilter[] getFilters() - { - ensureFilterList(); - - if(_filters == null) return null; - - ArrayList allFilters = new ArrayList(); - Iterator iterator = _filters.keySet().iterator(); - while(iterator.hasNext()) - { - String filterExpr = (String)iterator.next(); - ArrayList list = (ArrayList)_filters.get(filterExpr); - for(int i = 0; i < list.size(); i++) - { - allFilters.add(list.get(i)); - } - } - - IFilter[] filterAry = new IFilter[allFilters.size()]; - for(int i = 0; i < filterAry.length; i++) - { - filterAry[i] = (IFilter)allFilters.get(i); - } - - return filterAry; - } - - public IFilter[] getFilters(String filterExpression) - { - ensureFilterList(); - - if(_filters == null) return null; - - return findFilters(filterExpression); - } - - public String getFilterQueryString() - { - return getFilterQueryStringInternal(null); - } - - public String getFilterQueryStringOmitFilter(String filterExpression) - { - if(LOGGER.isDebugEnabled()) LOGGER.debug("get query string omit filter: " + filterExpression); - return getFilterQueryStringInternal(filterExpression); - } - - public String getFilterQueryStringOmitAllFilters() - { - return null; - } - - public Map getFilterParamsMap() - { - return getFilterParamsMapInternal(null); - } - - public Map getFilterParamsMapOmitFilter(String filterExpression) - { - return getFilterParamsMapInternal(null); - } - - public Map getFilterParamsMapOmitAllFilters() - { - return null; - } - - public void removeFilters(String filterExpression) - { - ensureFilterList(); - - if(_filters == null) return; - - _filters.remove(filterExpression); + public Map<String, List<IFilter>> getFilters() { + return _filters; } - public void removeAllFilters() - { - _filters.clear(); - } - - // @todo - public void addFilters(IFilter[] filters) + private HashMap<String, List<IFilter>> internalGetFilters() { - return; + String[] filters = _request.getParameterValues(IFilter.FILTER_PARAM_KEY); + return createFilters(_namespace, filters); } - // @todo - public void removeFilters(IFilter[] filters) - { - return; - } - - public String toString() - { - StringBuilder buf = new StringBuilder(256); - - return buf.toString(); - } - - // @todo: should this map be immutable? - private Map getFilterParamsMapInternal(String filterFilter) - { - ensureFilterList(); - - if(_filters == null) return null; - - HashMap map = new HashMap(); - ArrayList params = new ArrayList(); - Iterator iterator = _filters.keySet().iterator(); - while(iterator.hasNext()) - { - String filterExpr = (String)iterator.next(); - assert filterExpr != null; - - if(filterFilter != null && filterExpr.equals(filterExpr)) - continue; - - assert _filters.get(filterExpr) instanceof ArrayList; - ArrayList list = (ArrayList)_filters.get(filterExpr); - assert list != null; - for(int i = 0; i < list.size(); i++) - { - params.add(((IFilter)list.get(i)).write(_namespace)); - } - } - - // @todo: fix -- shouldn't have to convert List -> String[] here - String[] paramAry = new String[params.size()]; - for(int i = 0; i < paramAry.length; i++) - { - paramAry[i] = (String)params.get(i); - } - - map.put(IFilter.FILTER_PARAM_KEY, paramAry); - - if(_altParams != null) - { - iterator = _altParams.keySet().iterator(); - while(iterator.hasNext()) - { - String key = (String)iterator.next(); - assert key != null; - - String[] values = (String[])_altParams.get(key); - assert values != null; - - map.put(key, values); - } - } - - return map; - } - - /** - * @param filterFilter the filter expression to omit from the returned filter String - */ - private String getFilterQueryStringInternal(String filterFilter) - { - // @todo: caching of the alt query string - ensureFilterList(); - - StringBuilder buf = new StringBuilder(); - if(_filters != null) - { - - Iterator iterator = _filters.keySet().iterator(); - while(iterator.hasNext()) - { - String filterExpr = (String)iterator.next(); - assert filterExpr != null; - - // filter expression to omit - if(filterFilter != null && filterExpr.equals(filterFilter)) - continue; - - // @todo: encoding! - assert _filters.get(filterExpr) instanceof ArrayList; - ArrayList list = (ArrayList)_filters.get(filterExpr); - assert list != null; - for(int i = 0; i < list.size(); i++) - { - IFilter f = (IFilter)list.get(i); - buf.append(IFilter.FILTER_PARAM_KEY); - buf.append("="); - buf.append(((IFilter)list.get(i)).write(_namespace)); - } - - if(iterator.hasNext()) - buf.append("&"); - } - } - - if(LOGGER.isDebugEnabled()) LOGGER.debug("filter query string: " + buf.toString()); - if(LOGGER.isDebugEnabled()) LOGGER.debug("alt params size: " + _altParams != null ? "" + _altParams.size() : "null"); - - if(_altParams != null && _altParams.size() > 0) - { - Iterator i2 = _altParams.keySet().iterator(); - while(i2.hasNext()) - { - String key = (String)i2.next(); - assert key != null; - - String[] values = (String[])_altParams.get(key); - assert values != null; - - // @todo: encoding! - for(int i = 0; i < values.length; i++) - { - buf.append("&"); - buf.append(key); - buf.append("="); - buf.append(values[i]); - } - } - } - - if(LOGGER.isDebugEnabled()) LOGGER.debug("filter query string with alt params: " + buf.toString()); - - return buf.toString(); - } - - private IFilter[] findFilters(String filterExpression) - { - if(_filters == null) return null; - - ArrayList list = (ArrayList)_filters.get(filterExpression); - - if(list == null) return null; - - // @todo: need a fast data structure for this - // convert List -> IFilter[] - IFilter[] filterAry = new IFilter[list.size()]; - for(int i = 0; i < filterAry.length; i++) - { - filterAry[i] = (IFilter)list.get(i); - } - - return filterAry; - } - - // @todo: performance - private final void ensureFilterList() - { - if(_filters == null) - { - if(_queryString == null) - { - Map params = _request.getParameterMap(); - String[] filters = _request.getParameterValues(IFilter.FILTER_PARAM_KEY); - _filters = createFilters(filters, _namespace); - _altParams = findAltParams(params, _namespace); - } - else - { - Map params = splitQueryString(_queryString); - String[] filters = (String[])params.get(IFilter.FILTER_PARAM_KEY); - _filters = createFilters(filters, _namespace); - _altParams = findAltParams(params, _namespace); - } - } - - if(LOGGER.isDebugEnabled()) LOGGER.debug("alt params map: " + mapToString(_altParams)); - } - - private static final Map createFilters(String[] queryParams, String namespace) + private static final HashMap<String, List<IFilter>> createFilters(String namespace, String[] queryParams) { if(queryParams == null) return null; - HashMap map = new HashMap(); + HashMap<String, List<IFilter>> map = new HashMap<String, List<IFilter>>(); for(int i = 0; i < queryParams.length; i++) { // @todo: need to make this pluggable... if(!queryParams[i].startsWith(namespace + "~")) continue; - IFilter f = org.apache.beehive.netui.databinding.datagrid.model.filter.DefaultFilter.parse(namespace, queryParams[i]); + IFilter f = parse(namespace, queryParams[i]); assert f != null; - ArrayList list = (ArrayList)map.get(f.getFilterExpression()); + List<IFilter> list = map.get(f.getFilterExpression()); if(list == null) { - list = new ArrayList(); + list = new ArrayList<IFilter>(); map.put(f.getFilterExpression(), list); } @@ -381,126 +103,29 @@ return map; } - private static Map findAltParams(Map params, String gridName) - { - HashMap map = new HashMap(); - - if(params == null) return null; - - Iterator keys = params.keySet().iterator(); - while(keys.hasNext()) - { - String key = (String)keys.next(); - String[] values = (String[])params.get(key); - if(key.equals(IFilter.FILTER_PARAM_KEY)) - { - ArrayList list = new ArrayList(); - for(int i = 0; i < values.length; i++) - { - if(values[i].startsWith(gridName + "~")) - continue; - else list.add(values[i]); - } - - values = new String[list.size()]; - for(int i = 0; i < list.size(); i++) - values[i] = (String)list.get(i); - } - - map.put(key, values); - } - - return map; - } - - private static Map splitQueryString(String search) - { - if(search == null) return null; - - if(search.startsWith("?")) - search = search.substring(1); - - String[] query = search.split("&"); - HashMap params = new HashMap(); - if(query != null) - { - for(int i = 0; i < query.length; i++) - { - if(query[i].equals("")) - continue; - - if(LOGGER.isDebugEnabled()) LOGGER.debug("split query param: '" + query[i] + "'"); - - assert query[i].indexOf("=") > -1; - - String key = query[i].substring(0, query[i].indexOf("=")); - - String value = query[i].substring(query[i].indexOf("=")+1); - ArrayList list = (ArrayList)params.get(key); - if(list == null) - { - list = new ArrayList(); - params.put(key, list); - } - - list.add(value); - } - - Iterator iterator = params.keySet().iterator(); - while(iterator.hasNext()) - { - String key = (String)iterator.next(); - ArrayList list = (ArrayList)params.get(key); - - String[] ary = new String[list.size()]; - for(int i = 0; i < list.size(); i++) - { - ary[i] = (String)list.get(i); - } - - params.put(key, ary); - } - } - - return params; - } - - private static final String mapToString(Map map) - { - if(map == null) - return "Map is null"; - if(map.size() == 0) - return "Map is empty"; - - StringBuilder buf = new StringBuilder(); - buf.append("Map:::::\n"); + private static final IFilter parse(String namespace, String filter) { - Iterator iterator = map.keySet().iterator(); - while(iterator.hasNext()) - { - String key = (String)iterator.next(); - buf.append("key: " + key + "\n"); - Object value = map.get(key); - if(value instanceof List) - { - List l = (List)value; - for(int i = 0; i < l.size(); i++) - { - buf.append(" value[" + i + "]: " + l.get(i) + "\n"); - } - } - else if(value instanceof String[]) - { - String[] ary = (String[])value; - for(int i = 0; i < ary.length; i++) - { - buf.append(" value[" + i + "]: " + ary[i] + "\n"); - } + // @todo: need to figure out how to handle this case... + if (!filter.startsWith(namespace)) + return null; + + // crack filter terms here + String[] terms = filter.split(FILTER_DELIM); + + // @todo: what did this mean? + if (terms.length == 3 && terms[2].equals("*")) + return null; + else if (terms.length == 4) { + try { + // the namespace is ignored here since all filter terms are scoped into a namespace already + DefaultFilter f = new DefaultFilter(terms[1], terms[2], terms[3]); + return f; + } catch (NumberFormatException nfe) { + if (LOGGER.isErrorEnabled()) + LOGGER.error("An error occurred parsing a URL filter with syntax \"" + filter + "\"."); + throw new IllegalFilterException("An exception occurred parsing the filter \"" + filter + "\". Cause: " + nfe, nfe); } } - - buf.append(":::::\n"); - - return buf.toString(); + else throw new IllegalFilterException("The syntax of the filter \"" + filter + "\" is illegal."); } } Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortFactory.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortFactory.java?view=diff&rev=125081&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortFactory.java&r1=125080&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortFactory.java&r2=125081 ============================================================================== --- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortFactory.java (original) +++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortFactory.java Thu Jan 13 07:38:15 2005 @@ -18,7 +18,7 @@ package org.apache.beehive.netui.databinding.datagrid.services.sort; import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort; -import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort.Direction; +import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort.SortDirection; import org.apache.beehive.netui.databinding.datagrid.model.sort.DefaultSort; /** @@ -29,7 +29,7 @@ /* do not construct */ private SortFactory() {} - public static final ISort getInstance(String sortExpression, Direction sortDirection) { + public static final ISort getInstance(String sortExpression, SortDirection sortDirection) { return new DefaultSort(sortExpression, sortDirection); } 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=125081&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortService.java&r1=125080&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/services/sort/SortService.java&r2=125081 ============================================================================== --- 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 Thu Jan 13 07:38:15 2005 @@ -22,7 +22,7 @@ import javax.servlet.ServletRequest; import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort; -import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort.Direction; +import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort.SortDirection; import org.apache.beehive.netui.databinding.datagrid.model.sort.DefaultSort; /** @@ -75,11 +75,11 @@ for (int j = 0; j < cols.length; j++) { String t = cols[j]; - Direction sortDirection = Direction.NONE; + SortDirection sortDirection = SortDirection.NONE; if(cols[j].startsWith("-")) - sortDirection = Direction.DESCENDING; - else sortDirection = Direction.ASCENDING; - String sortExpression = (sortDirection == Direction.DESCENDING ? cols[j].substring(1) : cols[j]); + 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); } Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java?view=diff&rev=125081&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java&r1=125080&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java&r2=125081 ============================================================================== --- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java (original) +++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java Thu Jan 13 07:38:15 2005 @@ -50,8 +50,8 @@ * renderer="workshop.netui.jspdesigner.tldx.GridRenderer" */ public class DataGrid - extends AbstractSimpleTag - implements IDataAccessProvider { + extends AbstractSimpleTag + implements IDataAccessProvider { private static final String DEFAULT_STYLE_POLICY_VALUE = "default"; private static final String NO_STYLE_POLICY_VALUE = "none"; 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=125081&p1=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/DefaultSortTest.java&r1=125080&p2=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/DefaultSortTest.java&r2=125081 ============================================================================== --- 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 Thu Jan 13 07:38:15 2005 @@ -19,7 +19,7 @@ import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort; import org.apache.beehive.netui.databinding.datagrid.model.sort.DefaultSort; -import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort.Direction; +import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort.SortDirection; import org.apache.beehive.netui.databinding.datagrid.services.sort.SortFactory; import junit.framework.Test; @@ -42,11 +42,11 @@ ISort sort = createSort(); sort.setSortExpression("customername"); - sort.setDirection(Direction.ASCENDING); + sort.setDirection(SortDirection.ASCENDING); String str = sort.write(gridName); assertTrue("testgrid~customername".equals(str)); - sort.setDirection(Direction.DESCENDING); + sort.setDirection(SortDirection.DESCENDING); str = sort.write(gridName); assertTrue("testgrid~-customername".equals(str)); } @@ -54,15 +54,15 @@ public void testChangeSortDirection() { ISort sort = createSort(); - sort.setDirection(Direction.ASCENDING); + sort.setDirection(SortDirection.ASCENDING); sort.setSortExpression("customername"); - assertTrue(sort.getDirection() == Direction.ASCENDING); + assertTrue(sort.getDirection() == SortDirection.ASCENDING); ((DefaultSort)sort).changeSortDirection(); - assertTrue(sort.getDirection() == Direction.DESCENDING); + assertTrue(sort.getDirection() == SortDirection.DESCENDING); ((DefaultSort)sort).changeSortDirection(); - assertTrue(sort.getDirection() == Direction.ASCENDING); + assertTrue(sort.getDirection() == SortDirection.ASCENDING); } protected void setUp() { 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=125081&p1=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortServiceTest.java&r1=125080&p2=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/datagrid/SortServiceTest.java&r2=125081 ============================================================================== --- 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 Thu Jan 13 07:38:15 2005 @@ -24,7 +24,7 @@ import org.apache.beehive.netui.databinding.datagrid.services.sort.SortService; import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort; -import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort.Direction; +import org.apache.beehive.netui.databinding.datagrid.model.sort.ISort.SortDirection; import org.apache.beehive.netui.test.servlet.ServletFactory; import org.apache.beehive.netui.test.servlet.HttpServletRequestHandler; @@ -56,7 +56,7 @@ assert svc.getSorts() != null; assert sorts.size()== 1; - assert sorts.get(0).getDirection() == Direction.ASCENDING; + assert sorts.get(0).getDirection() == SortDirection.ASCENDING; assert sorts.get(0).getSortExpression().equals("CUSTOMERNAME"); } @@ -69,16 +69,16 @@ assert svc.getSorts() != null; assert sorts.size() == 2; - assert sorts.get(0).getDirection() == Direction.ASCENDING; + assert sorts.get(0).getDirection() == SortDirection.ASCENDING; assert sorts.get(0).getSortExpression().equals("CUSTOMERNAME"); - assert sorts.get(1).getDirection() == Direction.DESCENDING; + 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(); - assert sorts.get(0).getDirection() == Direction.ASCENDING; + assert sorts.get(0).getDirection() == SortDirection.ASCENDING; assert sorts.get(0).getSortExpression().equals("QUANTITY"); } @@ -89,7 +89,7 @@ assert svc.getSorts() != null; assert sorts.size() == 1; - assert sorts.get(0).getDirection() == Direction.DESCENDING; + assert sorts.get(0).getDirection() == SortDirection.DESCENDING; assert sorts.get(0).getSortExpression().equals("CUSTOMERNAME"); }
