Ok.

On Mon, Jun 8, 2015 at 10:58 AM, Sven Meier <[email protected]> wrote:

> Mh, ListDataProvider is in wicket-core, but (I)SortableDataProvider is in
> wicket-extensions.
> So my suggestion doesn't work :/.
>
> Please open a Jira issue, we'll see what the other devs think about an
> additional convenience class.
>
> Regards
> Sven
>
>
> On 08.06.2015 10:36, Ernesto Reinaldo Barreiro wrote:
>
>> Sven,
>>
>> On Mon, Jun 8, 2015 at 10:07 AM, Sven Meier <[email protected]> wrote:
>>
>>  Hi,
>>>
>>> my only objection would be that this SortableListDataProvider doesn't
>>> actually sort anything.
>>>
>>> AFAIK this does no harm though, so why not let the current
>>> ListDataProvider implement ISortableDataProvider?
>>>
>>>  That's also posible. All I want is not having to roll out my own over an
>> over... :-)
>>
>>
>>  Have fun
>>> Sven
>>>
>>>
>>>
>>> On 08.06.2015 08:50, Ernesto Reinaldo Barreiro wrote:
>>>
>>>  On many project I just need to show a list of beans on an AJAX default
>>>> datatable... There is already a ListDataProvider... but this component
>>>> require a Sortable version... and I always end up rolling out something
>>>> like the class bellow. Would it make sense to include a similar class on
>>>> wicket code base?
>>>>
>>>> /**
>>>>    *  Sortable version of ListDataProvider.
>>>>
>>>>    */
>>>>
>>>> public class SortableListDataProvider<T extends Serializable, S>
>>>> extends SortableDataProvider<T, S> {
>>>>
>>>>       private static final long serialVersionUID = 1L;
>>>>
>>>>       /** reference to the list used as dataprovider for the dataview */
>>>>       private final List<T> list;
>>>>
>>>>       /**
>>>>        * Constructs an empty provider. Useful for lazy loading together
>>>> with {@linkplain #getData()}
>>>>        */
>>>>       public SortableListDataProvider()
>>>>       {
>>>>           this(Collections.<T> emptyList());
>>>>       }
>>>>
>>>>       /**
>>>>        *
>>>>        * @param list
>>>>        *            the list used as dataprovider for the dataview
>>>>        */
>>>>       public SortableListDataProvider(List<T> list)
>>>>       {
>>>>           if (list == null)
>>>>           {
>>>>               throw new IllegalArgumentException("argument [list] cannot
>>>> be null");
>>>>           }
>>>>
>>>>           this.list = list;
>>>>       }
>>>>
>>>>       /**
>>>>        * Subclass to lazy load the list
>>>>        *
>>>>        * @return The list
>>>>        */
>>>>       protected List<T> getData()
>>>>       {
>>>>           return list;
>>>>       }
>>>>
>>>>       @Override
>>>>       public Iterator<? extends T> iterator(final long first, final long
>>>> count)
>>>>       {
>>>>           List<T> list = getData();
>>>>
>>>>           long toIndex = first + count;
>>>>           if (toIndex > list.size())
>>>>           {
>>>>               toIndex = list.size();
>>>>           }
>>>>           return list.subList((int)first, (int)toIndex).listIterator();
>>>>       }
>>>>
>>>>       /**
>>>>        * @see IDataProvider#size()
>>>>        */
>>>>       @Override
>>>>       public long size()
>>>>       {
>>>>           return getData().size();
>>>>       }
>>>>
>>>>       /**
>>>>        * @see IDataProvider#model(Object)
>>>>        */
>>>>       @Override
>>>>       public IModel<T> model(T object)
>>>>       {
>>>>           return new Model<T>(object);
>>>>       }
>>>>
>>>>       /**
>>>>        * @see org.apache.wicket.model.IDetachable#detach()
>>>>        */
>>>>       @Override
>>>>       public void detach()
>>>>       {
>>>>       }
>>>> }
>>>>
>>>>
>>>>  ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>>
>>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>


-- 
Regards - Ernesto Reinaldo Barreiro

Reply via email to