Hi,

On Mon, Jun 8, 2015 at 10:12 PM, Martin Grigorov <[email protected]>
wrote:

> Hi,
>
> Yes... Being in different modules is a problem.
> I think Ernesto's class could be simpler by extending from ListDataProvider
> and implementing ISortableDataProvider.
>

It is just a copy paste of two exiting classes... I think every time I do
it it is a different class :-)


>
> One approach would be to copy the ISort** interfaces from -extensions to
> -core in 7.x. But I'm not sure it is worth the trouble.
> If we decide to go that route then I'd suggest to copy the interfaces to
> -core and keep the originals in -extensions as empty interfaces extending
> the ones from -core, and mark as deprecated.
>

I remember very old discussions about moving some of the (now classical)
repeaters to core: maybe from the time where Eelco and Igor were very
active commiters. Any solution would be fine for me as long as I do not
have to keep adding the same class over and over :-)


> This way the apps coming from 6.x should do nothing to migrate.
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Mon, Jun 8, 2015 at 12:47 PM, Ernesto Reinaldo Barreiro <
> [email protected]> wrote:
>
> > 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
> >
>



-- 
Regards - Ernesto Reinaldo Barreiro

Reply via email to