Hi, I have a DataView and I am sorting data column (on click of column header) inside it using my custom SortableTaskDataProvider which extends SortableDataProvider.
So, I pass the property name (column) and DataView (list) and I get the list sorted on the basis of property. So, as per the default implementation of compareTo, it sorts Saring starting with Capital letters first and the the ones that start with lower case. I require to write a comparator which sorts irrespective of the case (upper or lower), but the problem I am facing is that the setSort() method provided by wicket takes the property name. Is there any way where I can specify that if the property is of type String, it should sort without considering the case. Below is my code for SortableTaskDataProvider public class SortableTaskDataProvider extends SortableDataProvider<BaseTaskModel> { private static final long serialVersionUID = 1L; private List<BaseTaskModel> list = new ArrayList<BaseTaskModel>(); public SortableTaskDataProvider(List<BaseTaskModel> list) { super(); setSort("createdBy", false); this.list = list; } @Override public Iterator<? extends BaseTaskModel> iterator(int first, int count) { List<BaseTaskModel> newList = new ArrayList<BaseTaskModel>(list); Collections.sort(newList, new Comparator<BaseTaskModel>() { @SuppressWarnings("rawtypes") @Override public int compare(BaseTaskModel o1, BaseTaskModel o2) { PropertyModel<Comparable> model1 = new PropertyModel<Comparable>(o1, getSort().getProperty()); PropertyModel<Comparable> model2 = new PropertyModel<Comparable>(o2, getSort().getProperty()); @SuppressWarnings("unchecked") int result = model1.getObject().compareTo(model2.getObject()); if (!getSort().isAscending()) { result = -result; } return result; } }); return newList.subList(first, first + count).iterator(); } @Override public int size() { if (list == null) return 0; return list.size(); } @Override public IModel<BaseTaskModel> model(final BaseTaskModel object) { return new AbstractReadOnlyModel<BaseTaskModel>() { private static final long serialVersionUID = 1L; @Override public BaseTaskModel getObject() { return object; } }; } } Any pointers will be highly appreciated. Thanks, Pragya http://pragyarawal.co.cc -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Sorting-problem-tp3621869p3621869.html Sent from the Users forum mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org