On 12/21/2016 10:04 AM, Dan Haywood wrote:
Hi Erik,
"Comparison method violates its general contract!" means, I think, that
there's an error in the implementation of the compare() method; see eg [1]
for some discussion.
Hi Dan,

That was my first suspicion too. But the comparator being used in this case is a DeweyOrderComparator to sort the actions. After some more digging I found out I had an old layout.json file for this entity and two MemberOrder-annotations with the same order. That did brake the layout somehow. Changing the layout-file to a xml-version made it work again.

If you really wan't to know what happened I could try to find out the real problem. For now I'm happy I've got it working again :-)

Erik


My suspicion is that the problem has always been there but the new version
of Isis is maybe causing it to trip where previously it didn't.

If you could post the implementation of compare() for that entity, then we
could take a look.

Thx
Dan

[1] http://stackoverflow.com/a/8327575/56880

On Wed, 21 Dec 2016 at 08:50 Erik de Hair <[email protected]> wrote:

Hi,

I upgraded to Apache Isis 1.13.2 but now when opening a certain entity I
get an exception:

Caused by: java.lang.IllegalArgumentException: Comparison method
violates its general contract!
      at java.util.TimSort.mergeLo(TimSort.java:777)
      at java.util.TimSort.mergeAt(TimSort.java:514)
      at java.util.TimSort.mergeForceCollapse(TimSort.java:457)
      at java.util.TimSort.sort(TimSort.java:254)
      at java.util.Arrays.sort(Arrays.java:1438)
      at
com.google.common.collect.Ordering.immutableSortedCopy(Ordering.java:888)
      at

com.google.common.collect.FluentIterable.toSortedList(FluentIterable.java:501)
      at

org.apache.isis.core.metamodel.services.grid.bootstrap3.GridSystemServiceBS3.validateAndNormalize(GridSystemServiceBS3.java:466)
      at

org.apache.isis.core.metamodel.services.grid.GridSystemServiceAbstract.normalize(GridSystemServiceAbstract.java:164)
      at

org.apache.isis.core.metamodel.services.grid.GridServiceDefault.normalize(GridServiceDefault.java:102)
      at

org.apache.isis.core.metamodel.facets.object.grid.GridFacetDefault.load(GridFacetDefault.java:75)
      at

org.apache.isis.core.metamodel.facets.object.grid.GridFacetDefault.getGrid(GridFacetDefault.java:65)
      at

org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage.buildPage(EntityPage.java:175)
      at

org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage.<init>(EntityPage.java:114)
      at

org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage.<init>(EntityPage.java:82)
      at

org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage.<init>(EntityPage.java:63)
      ... 51 more

A quick debugging session didn't help me out. May be somebody can point
me at the right direction. It looks like it has something to do with the
entity's actions but I don't know what.

Thanks,
Erik


Reply via email to