Updated Branches: refs/heads/master 0852b22cf -> 0f16b908e
WICKET-4535 Inconsistent use of generics in sorting APIs Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/0f16b908 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/0f16b908 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/0f16b908 Branch: refs/heads/master Commit: 0f16b908e6e0630ba85e6e6e539996487f567cfd Parents: 98798f7 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Wed May 9 15:57:14 2012 +0300 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Wed May 9 15:57:14 2012 +0300 ---------------------------------------------------------------------- .../devutils/diskstore/browser/BrowserTable.java | 2 +- .../diskstore/browser/PageWindowProvider.java | 4 +- .../examples/repeater/AjaxDataTablePage.java | 2 +- .../repeater/SortableContactDataProvider.java | 2 +- .../examples/spring/annot/web/AnnotPage.java | 6 +--- .../spring/annot/web/ProxyDataProvider.java | 4 +- .../wicket/examples/spring/common/ContactDao.java | 2 +- .../spring/common/web/ContactDataProvider.java | 5 ++- .../spring/common/web/ContactDetachableModel.java | 2 +- .../spring/common/web/ContactsDisplayPage.java | 4 +- .../data/table/AjaxFallbackDefaultDataTable.java | 8 +++-- .../html/repeater/data/sort/ISortStateLocator.java | 4 +- .../html/repeater/data/table/DefaultDataTable.java | 6 +++- .../repeater/data/table/ISortableDataProvider.java | 4 ++- .../html/repeater/tree/DefaultTableTree.java | 8 +++-- .../html/repeater/tree/ISortableTreeProvider.java | 2 +- .../html/repeater/util/SortableDataProvider.java | 14 +++++---- .../html/repeater/util/SortableTreeProvider.java | 21 ++++++++------- .../data/table/SortableContactDataProvider.java | 4 +- 19 files changed, 57 insertions(+), 47 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/0f16b908/wicket-devutils/src/main/java/org/apache/wicket/devutils/diskstore/browser/BrowserTable.java ---------------------------------------------------------------------- diff --git a/wicket-devutils/src/main/java/org/apache/wicket/devutils/diskstore/browser/BrowserTable.java b/wicket-devutils/src/main/java/org/apache/wicket/devutils/diskstore/browser/BrowserTable.java index 2a1a175..1ddd48b 100644 --- a/wicket-devutils/src/main/java/org/apache/wicket/devutils/diskstore/browser/BrowserTable.java +++ b/wicket-devutils/src/main/java/org/apache/wicket/devutils/diskstore/browser/BrowserTable.java @@ -25,7 +25,7 @@ import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn; * A data table that shows the attributes of the recently stored pages in the data store. The last * used pages are rendered first. */ -class BrowserTable extends DefaultDataTable<PageWindowDescription> +class BrowserTable extends DefaultDataTable<PageWindowDescription, String> { /** http://git-wip-us.apache.org/repos/asf/wicket/blob/0f16b908/wicket-devutils/src/main/java/org/apache/wicket/devutils/diskstore/browser/PageWindowProvider.java ---------------------------------------------------------------------- diff --git a/wicket-devutils/src/main/java/org/apache/wicket/devutils/diskstore/browser/PageWindowProvider.java b/wicket-devutils/src/main/java/org/apache/wicket/devutils/diskstore/browser/PageWindowProvider.java index 178fb1c..43ae93a 100644 --- a/wicket-devutils/src/main/java/org/apache/wicket/devutils/diskstore/browser/PageWindowProvider.java +++ b/wicket-devutils/src/main/java/org/apache/wicket/devutils/diskstore/browser/PageWindowProvider.java @@ -31,7 +31,7 @@ import org.apache.wicket.pageStore.PageWindowManager.PageWindow; /** * An {@link IDataProvider} that extracts the information about the stored pages */ -class PageWindowProvider implements ISortableDataProvider<PageWindowDescription> +class PageWindowProvider implements ISortableDataProvider<PageWindowDescription, String> { private static final int MAX_PAGES_TO_READ = 1000; @@ -95,7 +95,7 @@ class PageWindowProvider implements ISortableDataProvider<PageWindowDescription> * No sort state for now. The provider is ISortableDataProvider just because we use * DefaultDataTable */ - public ISortState getSortState() + public ISortState<String> getSortState() { return null; } http://git-wip-us.apache.org/repos/asf/wicket/blob/0f16b908/wicket-examples/src/main/java/org/apache/wicket/examples/repeater/AjaxDataTablePage.java ---------------------------------------------------------------------- diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/repeater/AjaxDataTablePage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/repeater/AjaxDataTablePage.java index 1abdc65..3a1b3fc 100644 --- a/wicket-examples/src/main/java/org/apache/wicket/examples/repeater/AjaxDataTablePage.java +++ b/wicket-examples/src/main/java/org/apache/wicket/examples/repeater/AjaxDataTablePage.java @@ -58,7 +58,7 @@ public class AjaxDataTablePage extends BasePage columns.add(new PropertyColumn<Contact>(new Model<String>("Home Phone"), "homePhone")); columns.add(new PropertyColumn<Contact>(new Model<String>("Cell Phone"), "cellPhone")); - add(new AjaxFallbackDefaultDataTable<Contact>("table", columns, + add(new AjaxFallbackDefaultDataTable<Contact, String>("table", columns, new SortableContactDataProvider(), 8)); } } http://git-wip-us.apache.org/repos/asf/wicket/blob/0f16b908/wicket-examples/src/main/java/org/apache/wicket/examples/repeater/SortableContactDataProvider.java ---------------------------------------------------------------------- diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/repeater/SortableContactDataProvider.java b/wicket-examples/src/main/java/org/apache/wicket/examples/repeater/SortableContactDataProvider.java index a98150d..cd2011b 100644 --- a/wicket-examples/src/main/java/org/apache/wicket/examples/repeater/SortableContactDataProvider.java +++ b/wicket-examples/src/main/java/org/apache/wicket/examples/repeater/SortableContactDataProvider.java @@ -29,7 +29,7 @@ import org.apache.wicket.model.IModel; * @author igor * */ -public class SortableContactDataProvider extends SortableDataProvider<Contact> +public class SortableContactDataProvider extends SortableDataProvider<Contact, String> { /** * constructor http://git-wip-us.apache.org/repos/asf/wicket/blob/0f16b908/wicket-examples/src/main/java/org/apache/wicket/examples/spring/annot/web/AnnotPage.java ---------------------------------------------------------------------- diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/spring/annot/web/AnnotPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/spring/annot/web/AnnotPage.java index 0bcc3b8..b894f54 100644 --- a/wicket-examples/src/main/java/org/apache/wicket/examples/spring/annot/web/AnnotPage.java +++ b/wicket-examples/src/main/java/org/apache/wicket/examples/spring/annot/web/AnnotPage.java @@ -17,6 +17,7 @@ package org.apache.wicket.examples.spring.annot.web; import org.apache.wicket.examples.spring.common.ContactDao; +import org.apache.wicket.examples.spring.common.web.ContactDataProvider; import org.apache.wicket.examples.spring.common.web.ContactsDisplayPage; import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider; import org.apache.wicket.spring.injection.annot.SpringBean; @@ -38,11 +39,8 @@ public class AnnotPage extends ContactsDisplayPage } - /** - * @see org.apache.wicket.spring.common.web.ContactsDisplayPage#getDataProvider() - */ @Override - protected SortableDataProvider<?> getDataProvider() + protected ContactDataProvider getDataProvider() { return new ProxyDataProvider(dao); } http://git-wip-us.apache.org/repos/asf/wicket/blob/0f16b908/wicket-examples/src/main/java/org/apache/wicket/examples/spring/annot/web/ProxyDataProvider.java ---------------------------------------------------------------------- diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/spring/annot/web/ProxyDataProvider.java b/wicket-examples/src/main/java/org/apache/wicket/examples/spring/annot/web/ProxyDataProvider.java index 01115ee..7625450 100644 --- a/wicket-examples/src/main/java/org/apache/wicket/examples/spring/annot/web/ProxyDataProvider.java +++ b/wicket-examples/src/main/java/org/apache/wicket/examples/spring/annot/web/ProxyDataProvider.java @@ -36,9 +36,9 @@ public class ProxyDataProvider extends ContactDataProvider return dao; } - public IModel model(Object object) + public IModel<Contact> model(Contact contact) { - return new ProxyModel((Contact)object, dao); + return new ProxyModel(contact, dao); } } http://git-wip-us.apache.org/repos/asf/wicket/blob/0f16b908/wicket-examples/src/main/java/org/apache/wicket/examples/spring/common/ContactDao.java ---------------------------------------------------------------------- diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/spring/common/ContactDao.java b/wicket-examples/src/main/java/org/apache/wicket/examples/spring/common/ContactDao.java index 57a5ec1..793c314 100644 --- a/wicket-examples/src/main/java/org/apache/wicket/examples/spring/common/ContactDao.java +++ b/wicket-examples/src/main/java/org/apache/wicket/examples/spring/common/ContactDao.java @@ -36,7 +36,7 @@ public interface ContactDao * sorting and paging info * @return iterator over contacts */ - Iterator find(QueryParam qp); + Iterator<Contact> find(QueryParam qp); /** * @param id http://git-wip-us.apache.org/repos/asf/wicket/blob/0f16b908/wicket-examples/src/main/java/org/apache/wicket/examples/spring/common/web/ContactDataProvider.java ---------------------------------------------------------------------- diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/spring/common/web/ContactDataProvider.java b/wicket-examples/src/main/java/org/apache/wicket/examples/spring/common/web/ContactDataProvider.java index fb933e1..b9725d0 100644 --- a/wicket-examples/src/main/java/org/apache/wicket/examples/spring/common/web/ContactDataProvider.java +++ b/wicket-examples/src/main/java/org/apache/wicket/examples/spring/common/web/ContactDataProvider.java @@ -18,6 +18,7 @@ package org.apache.wicket.examples.spring.common.web; import java.util.Iterator; +import org.apache.wicket.examples.spring.common.Contact; import org.apache.wicket.examples.spring.common.ContactDao; import org.apache.wicket.examples.spring.common.QueryParam; import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder; @@ -30,7 +31,7 @@ import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvid * @author Igor Vaynberg (ivaynerg) * */ -public abstract class ContactDataProvider extends SortableDataProvider +public abstract class ContactDataProvider extends SortableDataProvider<Contact, String> { public ContactDataProvider() @@ -40,7 +41,7 @@ public abstract class ContactDataProvider extends SortableDataProvider protected abstract ContactDao getContactDao(); - public final Iterator iterator(long first, long count) + public final Iterator<Contact> iterator(long first, long count) { QueryParam qp = new QueryParam(first, count, getSort()); return getContactDao().find(qp); http://git-wip-us.apache.org/repos/asf/wicket/blob/0f16b908/wicket-examples/src/main/java/org/apache/wicket/examples/spring/common/web/ContactDetachableModel.java ---------------------------------------------------------------------- diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/spring/common/web/ContactDetachableModel.java b/wicket-examples/src/main/java/org/apache/wicket/examples/spring/common/web/ContactDetachableModel.java index 6129a43..50b133c 100644 --- a/wicket-examples/src/main/java/org/apache/wicket/examples/spring/common/web/ContactDetachableModel.java +++ b/wicket-examples/src/main/java/org/apache/wicket/examples/spring/common/web/ContactDetachableModel.java @@ -27,7 +27,7 @@ import org.apache.wicket.model.LoadableDetachableModel; * @author Igor Vaynberg (ivaynberg) * */ -public abstract class ContactDetachableModel extends LoadableDetachableModel +public abstract class ContactDetachableModel extends LoadableDetachableModel<Contact> { private long id; http://git-wip-us.apache.org/repos/asf/wicket/blob/0f16b908/wicket-examples/src/main/java/org/apache/wicket/examples/spring/common/web/ContactsDisplayPage.java ---------------------------------------------------------------------- diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/spring/common/web/ContactsDisplayPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/spring/common/web/ContactsDisplayPage.java index 0f6f3bc..cde2b3a 100644 --- a/wicket-examples/src/main/java/org/apache/wicket/examples/spring/common/web/ContactsDisplayPage.java +++ b/wicket-examples/src/main/java/org/apache/wicket/examples/spring/common/web/ContactsDisplayPage.java @@ -18,10 +18,10 @@ package org.apache.wicket.examples.spring.common.web; import java.util.Arrays; +import org.apache.wicket.examples.spring.common.Contact; import org.apache.wicket.extensions.markup.html.repeater.data.table.DefaultDataTable; import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn; import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn; -import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider; import org.apache.wicket.model.Model; @@ -47,5 +47,5 @@ public abstract class ContactsDisplayPage extends BasePage add(new DefaultDataTable("contacts", Arrays.asList(cols), getDataProvider(), 5)); } - protected abstract SortableDataProvider<?> getDataProvider(); + protected abstract ContactDataProvider getDataProvider(); } http://git-wip-us.apache.org/repos/asf/wicket/blob/0f16b908/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackDefaultDataTable.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackDefaultDataTable.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackDefaultDataTable.java index 74892e9..c572483 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackDefaultDataTable.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/repeater/data/table/AjaxFallbackDefaultDataTable.java @@ -44,10 +44,12 @@ import org.apache.wicket.model.IModel; * @author Igor Vaynberg ( ivaynberg ) * * @param <T> - * The model object type + * The model object type + * @param <S> + * the type of the sorting parameter * */ -public class AjaxFallbackDefaultDataTable<T> extends DataTable<T> +public class AjaxFallbackDefaultDataTable<T, S> extends DataTable<T> { private static final long serialVersionUID = 1L; @@ -64,7 +66,7 @@ public class AjaxFallbackDefaultDataTable<T> extends DataTable<T> * number of rows per page */ public AjaxFallbackDefaultDataTable(final String id, final List<IColumn<T>> columns, - final ISortableDataProvider<T> dataProvider, final int rowsPerPage) + final ISortableDataProvider<T, S> dataProvider, final int rowsPerPage) { super(id, columns, dataProvider, rowsPerPage); setOutputMarkupId(true); http://git-wip-us.apache.org/repos/asf/wicket/blob/0f16b908/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/ISortStateLocator.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/ISortStateLocator.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/ISortStateLocator.java index a185515..1180591 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/ISortStateLocator.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/ISortStateLocator.java @@ -26,10 +26,10 @@ import org.apache.wicket.util.io.IClusterable; * @author Igor Vaynberg (ivaynberg) * */ -public interface ISortStateLocator extends IClusterable +public interface ISortStateLocator<T> extends IClusterable { /** * @return ISortState object */ - <T> ISortState<T> getSortState(); + ISortState<T> getSortState(); } http://git-wip-us.apache.org/repos/asf/wicket/blob/0f16b908/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DefaultDataTable.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DefaultDataTable.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DefaultDataTable.java index 6adfbc8..6f60000 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DefaultDataTable.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DefaultDataTable.java @@ -38,8 +38,10 @@ import org.apache.wicket.model.IModel; * @author Igor Vaynberg ( ivaynberg ) * @param <T> * The model object type + * @param <S> + * the type of the sorting parameter */ -public class DefaultDataTable<T> extends DataTable<T> +public class DefaultDataTable<T, S> extends DataTable<T> { private static final long serialVersionUID = 1L; @@ -56,7 +58,7 @@ public class DefaultDataTable<T> extends DataTable<T> * number of rows per page */ public DefaultDataTable(final String id, final List<IColumn<T>> columns, - final ISortableDataProvider<T> dataProvider, final int rowsPerPage) + final ISortableDataProvider<T, S> dataProvider, final int rowsPerPage) { super(id, columns, dataProvider, rowsPerPage); http://git-wip-us.apache.org/repos/asf/wicket/blob/0f16b908/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/ISortableDataProvider.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/ISortableDataProvider.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/ISortableDataProvider.java index b62e2cc..c8c5414 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/ISortableDataProvider.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/ISortableDataProvider.java @@ -25,9 +25,11 @@ import org.apache.wicket.markup.repeater.data.IDataProvider; * * @author Igor Vaynberg (ivaynberg at apache dot org) * @param <T> + * @param <S> + * the type of the sorting parameter * */ -public interface ISortableDataProvider<T> extends IDataProvider<T>, ISortStateLocator +public interface ISortableDataProvider<T, S> extends IDataProvider<T>, ISortStateLocator<S> { http://git-wip-us.apache.org/repos/asf/wicket/blob/0f16b908/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/DefaultTableTree.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/DefaultTableTree.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/DefaultTableTree.java index 0b5611c..42299b1 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/DefaultTableTree.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/DefaultTableTree.java @@ -37,9 +37,11 @@ import org.apache.wicket.model.IModel; * * @param <T> * The node type + * @param <S> + * the type of the sorting parameter * @author svenmeier */ -public class DefaultTableTree<T> extends TableTree<T> +public class DefaultTableTree<T, S> extends TableTree<T> { private static final long serialVersionUID = 1L; @@ -56,7 +58,7 @@ public class DefaultTableTree<T> extends TableTree<T> * @param rowsPerPage * rows to show on each page */ - public DefaultTableTree(String id, List<IColumn<T>> columns, ISortableTreeProvider<T> provider, + public DefaultTableTree(String id, List<IColumn<T>> columns, ISortableTreeProvider<T, S> provider, int rowsPerPage) { this(id, columns, provider, rowsPerPage, null); @@ -76,7 +78,7 @@ public class DefaultTableTree<T> extends TableTree<T> * @param state * expansion state */ - public DefaultTableTree(String id, List<IColumn<T>> columns, ISortableTreeProvider<T> provider, + public DefaultTableTree(String id, List<IColumn<T>> columns, ISortableTreeProvider<T, S> provider, int rowsPerPage, IModel<Set<T>> state) { super(id, columns, provider, rowsPerPage, state); http://git-wip-us.apache.org/repos/asf/wicket/blob/0f16b908/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/ISortableTreeProvider.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/ISortableTreeProvider.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/ISortableTreeProvider.java index e0b5095..5a45a01 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/ISortableTreeProvider.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/tree/ISortableTreeProvider.java @@ -25,6 +25,6 @@ import org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortStateLoc * @param <T> * node type */ -public interface ISortableTreeProvider<T> extends ITreeProvider<T>, ISortStateLocator +public interface ISortableTreeProvider<T, S> extends ITreeProvider<T>, ISortStateLocator<S> { } http://git-wip-us.apache.org/repos/asf/wicket/blob/0f16b908/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java index 7a21507..5d83638 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableDataProvider.java @@ -30,19 +30,21 @@ import org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDat * * @author Igor Vaynberg (ivaynberg at apache dot org) * @param <T> + * @param <S> + * the type of the sorting parameter */ -public abstract class SortableDataProvider<T> implements ISortableDataProvider<T> +public abstract class SortableDataProvider<T, S> implements ISortableDataProvider<T, S> { /** * */ private static final long serialVersionUID = 1L; - private SingleSortState state = new SingleSortState(); + private SingleSortState<S> state = new SingleSortState<S>(); /** * @see ISortableDataProvider#getSortState() */ - public final ISortState getSortState() + public final ISortState<S> getSortState() { return state; } @@ -52,7 +54,7 @@ public abstract class SortableDataProvider<T> implements ISortableDataProvider<T * * @return current sort state */ - public SortParam getSort() + public SortParam<S> getSort() { return state.getSort(); } @@ -63,7 +65,7 @@ public abstract class SortableDataProvider<T> implements ISortableDataProvider<T * @param param * parameter containing new sorting information */ - public void setSort(final SortParam param) + public void setSort(final SortParam<S> param) { state.setSort(param); } @@ -76,7 +78,7 @@ public abstract class SortableDataProvider<T> implements ISortableDataProvider<T * @param order * sort order */ - public void setSort(final String property, final SortOrder order) + public void setSort(final S property, final SortOrder order) { state.setPropertySortOrder(property, order); } http://git-wip-us.apache.org/repos/asf/wicket/blob/0f16b908/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableTreeProvider.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableTreeProvider.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableTreeProvider.java index 0093dd6..94145c0 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableTreeProvider.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/util/SortableTreeProvider.java @@ -27,27 +27,27 @@ import org.apache.wicket.extensions.markup.html.repeater.tree.ISortableTreeProvi * @author svenmeier * @param <T> */ -public abstract class SortableTreeProvider<T> implements ISortableTreeProvider<T> +public abstract class SortableTreeProvider<T, S> implements ISortableTreeProvider<T, S> { private static final long serialVersionUID = 1L; - private SingleSortState<String> state = new SingleSortState<String>(); + private SingleSortState<S> state = new SingleSortState<S>(); /** * @see ISortableDataProvider#getSortState() */ @SuppressWarnings("unchecked") - public final <S> ISortState<S> getSortState() + public final ISortState<S> getSortState() { return (ISortState<S>)state; } /** - * @see ISortableDataProvider#setSortState(org.apache.wicket.extensions.markup.html.repeater.data.sort.ISortState) + * @see org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider#getSortState() * @param state */ @SuppressWarnings("unchecked") - public final void setSortState(ISortState<?> state) + public final void setSortState(ISortState<S> state) { if (!(state instanceof SingleSortState)) { @@ -55,7 +55,7 @@ public abstract class SortableTreeProvider<T> implements ISortableTreeProvider<T "argument [state] must be an instance of SingleSortState, but it is [" + state.getClass().getName() + "]:[" + state.toString() + "]"); } - this.state = (SingleSortState<String>)state; + this.state = (SingleSortState<S>)state; } /** @@ -63,7 +63,7 @@ public abstract class SortableTreeProvider<T> implements ISortableTreeProvider<T * * @return current sort state */ - public SortParam<String> getSort() + public SortParam<S> getSort() { return state.getSort(); } @@ -74,7 +74,7 @@ public abstract class SortableTreeProvider<T> implements ISortableTreeProvider<T * @param param * parameter containing new sorting information */ - public void setSort(SortParam<String> param) + public void setSort(SortParam<S> param) { state.setSort(param); } @@ -87,14 +87,15 @@ public abstract class SortableTreeProvider<T> implements ISortableTreeProvider<T * @param ascending * sort direction */ - public void setSort(String property, boolean ascending) + public void setSort(S property, boolean ascending) { - setSort(new SortParam<String>(property, ascending)); + setSort(new SortParam<S>(property, ascending)); } /** * @see ISortableDataProvider#detach() */ + @Override public void detach() { } http://git-wip-us.apache.org/repos/asf/wicket/blob/0f16b908/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/SortableContactDataProvider.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/SortableContactDataProvider.java b/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/SortableContactDataProvider.java index e7c313d..07a200c 100644 --- a/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/SortableContactDataProvider.java +++ b/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/SortableContactDataProvider.java @@ -29,7 +29,7 @@ import org.apache.wicket.model.IModel; * @author igor * */ -public class SortableContactDataProvider extends SortableDataProvider<Contact> +public class SortableContactDataProvider extends SortableDataProvider<Contact, String> { private static final long serialVersionUID = 1L; @@ -48,7 +48,7 @@ public class SortableContactDataProvider extends SortableDataProvider<Contact> } /** - * @see org.apache.wicket.markup.repeater.data.IDataProvider#iterator(int, int) + * @see org.apache.wicket.markup.repeater.data.IDataProvider#iterator(long, long) */ public Iterator<Contact> iterator(final long first, final long count) {
