You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2012/05/09 14:58:36 UTC
[1/2] git commit: WICKET-4535 Inconsistent use of generics in sorting
APIs
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 <mg...@apache.org>
Authored: Wed May 9 15:57:14 2012 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
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)
{