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
