Hi Martin,

It looks like the code on [1] is messing things up.

If you replace the method with something like below, it works:

private static Ordering<ObjectAdapter> orderingBy(final ObjectAssociation sortProperty, final boolean ascending) { final Ordering<ObjectAdapter> ordering = new Ordering<ObjectAdapter>(){

public int compare(final ObjectAdapter p, final ObjectAdapter q) { final ObjectAdapter pSort = sortProperty.get(p, InteractionInitiatedBy.FRAMEWORK); final ObjectAdapter qSort = sortProperty.get(q, InteractionInitiatedBy.FRAMEWORK);
                Ordering<ObjectAdapter> naturalOrdering;
                    naturalOrdering = ORDERING_BY_NATURAL.nullsFirst();
                } else {
naturalOrdering = ORDERING_BY_NATURAL.reverse().nullsLast(); // this is the important part to sort the null values correctly
                return naturalOrdering.compare(pSort, qSort);
        return ordering;


[1] https://github.com/apache/isis/blob/3dffc2d96e240982d16131d57d34fc8f54d1292c/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsSortableDataProvider.java#L170

On 09/20/2016 03:43 PM, Martin Grigorov wrote:
Hi Erik,

This should be handled by
It looks correct to me.
Put a breakpoint and see what happens.

Martin Grigorov
Wicket Training and Consulting

On Tue, Sep 20, 2016 at 3:30 PM, Erik de Hair <e.deh...@pocos.nl> wrote:


This might be a bit off topic but I hope Martin could answer this

When sorting a table on a column containing (joda LocalDate) null values,
using the Wicket viewer by clicking the header of the column, it always
keeps the items with null on top even after reversing the sort order. Is
there any way to change this behavior?


Reply via email to