Author: ivaynberg Date: Wed Aug 15 11:11:25 2007 New Revision: 566286 URL: http://svn.apache.org/viewvc?view=rev&rev=566286 Log: WICKET-781
Added: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/ISortableDataProvider.java (with props) wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java (with props) Modified: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackDefaultDataTable.java wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DefaultDataTable.java Modified: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackDefaultDataTable.java URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackDefaultDataTable.java?view=diff&rev=566286&r1=566285&r2=566286 ============================================================================== --- wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackDefaultDataTable.java (original) +++ wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackDefaultDataTable.java Wed Aug 15 11:11:25 2007 @@ -21,9 +21,9 @@ import org.apache.wicket.extensions.markup.html.repeater.data.table.DataTable; import org.apache.wicket.extensions.markup.html.repeater.data.table.HeadersToolbar; import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn; +import org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider; import org.apache.wicket.extensions.markup.html.repeater.data.table.NavigationToolbar; import org.apache.wicket.extensions.markup.html.repeater.data.table.NoRecordsToolbar; -import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider; import org.apache.wicket.markup.repeater.Item; import org.apache.wicket.markup.repeater.OddEvenItem; import org.apache.wicket.model.IModel; @@ -62,7 +62,7 @@ * number of rows per page */ public AjaxFallbackDefaultDataTable(String id, final List/* <IColumn> */columns, - SortableDataProvider dataProvider, int rowsPerPage) + ISortableDataProvider dataProvider, int rowsPerPage) { this(id, (IColumn[])columns.toArray(new IColumn[columns.size()]), dataProvider, rowsPerPage); } @@ -80,7 +80,7 @@ * number of rows per page */ public AjaxFallbackDefaultDataTable(String id, final IColumn[] columns, - SortableDataProvider dataProvider, int rowsPerPage) + ISortableDataProvider dataProvider, int rowsPerPage) { super(id, columns, dataProvider, rowsPerPage); setOutputMarkupId(true); Modified: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DefaultDataTable.java URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DefaultDataTable.java?view=diff&rev=566286&r1=566285&r2=566286 ============================================================================== --- wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DefaultDataTable.java (original) +++ wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DefaultDataTable.java Wed Aug 15 11:11:25 2007 @@ -18,7 +18,6 @@ import java.util.List; -import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider; import org.apache.wicket.markup.repeater.Item; import org.apache.wicket.markup.repeater.OddEvenItem; import org.apache.wicket.model.IModel; @@ -57,7 +56,7 @@ * number of rows per page */ public DefaultDataTable(String id, final List/* <IColumn> */columns, - SortableDataProvider dataProvider, int rowsPerPage) + ISortableDataProvider dataProvider, int rowsPerPage) { this(id, (IColumn[])columns.toArray(new IColumn[columns.size()]), dataProvider, rowsPerPage); } @@ -74,7 +73,7 @@ * @param rowsPerPage * number of rows per page */ - public DefaultDataTable(String id, final IColumn[] columns, SortableDataProvider dataProvider, + public DefaultDataTable(String id, final IColumn[] columns, ISortableDataProvider dataProvider, int rowsPerPage) { super(id, columns, dataProvider, rowsPerPage); Added: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/ISortableDataProvider.java URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/ISortableDataProvider.java?view=auto&rev=566286 ============================================================================== --- wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/ISortableDataProvider.java (added) +++ wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/ISortableDataProvider.java Wed Aug 15 11:11:25 2007 @@ -0,0 +1,17 @@ +package org.apache.wicket.extensions.markup.html.repeater.data.table; + +import org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLocator; +import org.apache.wicket.markup.repeater.data.IDataProvider; + + +/** + * Data provider that can hold sort state + * + * @author Igor Vaynberg (ivaynberg at apache dot org) + * + */ +public interface ISortableDataProvider extends IDataProvider, ISortStateLocator +{ + + +} \ No newline at end of file Propchange: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/ISortableDataProvider.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java?view=auto&rev=566286 ============================================================================== --- wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java (added) +++ wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java Wed Aug 15 11:11:25 2007 @@ -0,0 +1,101 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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. + */ +package org.apache.wicket.extensions.markup.html.repeater.util; + +import org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortState; +import org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider; + + +/** + * Convinience implementation of a data provider that can also act as a locator + * for a [EMAIL PROTECTED] SingleSortState} object. + * + * Most times it is convenient to keep sort and filtering information inside the + * data provider implementation because it makes that information easy to access + * within the data provider. + * + * @author Igor Vaynberg + */ +public abstract class SortableDataProvider implements ISortableDataProvider +{ + private SingleSortState state = new SingleSortState(); + + /** + * @see ISortableDataProvider#getSortState() + */ + public final ISortState getSortState() + { + return state; + } + + /** + * @see ISortableDataProvider#setSortState(org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortState) + */ + public final void setSortState(ISortState state) + { + if (!(state instanceof SingleSortState)) + { + throw new IllegalArgumentException( + "argument [state] must be an instance of SingleSortState, but it is [" + + state.getClass().getName() + "]:[" + state.toString() + "]"); + } + this.state = (SingleSortState)state; + } + + /** + * Returns current sort state + * + * @return current sort state + */ + public SortParam getSort() + { + return state.getSort(); + } + + /** + * Sets the current sort state + * + * @param param + * parameter containing new sorting information + */ + public void setSort(SortParam param) + { + state.setSort(param); + } + + /** + * Sets the current sort state + * + * @param property + * sort property + * @param ascending + * sort direction + */ + public void setSort(String property, boolean ascending) + { + setSort(new SortParam(property, ascending)); + } + + /** + * @see ISortableDataProvider#detach() + */ + public void detach() + { + } + + +} Propchange: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java ------------------------------------------------------------------------------ svn:mime-type = text/plain