[jira] [Closed] (ISIS-1738) ObjectMember's compator is not transitive

2017-10-26 Thread Andi Huber (JIRA)

 [ 
https://issues.apache.org/jira/browse/ISIS-1738?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andi Huber closed ISIS-1738.

Resolution: Resolved

fix merged into master

> ObjectMember's compator is not transitive
> -
>
> Key: ISIS-1738
> URL: https://issues.apache.org/jira/browse/ISIS-1738
> Project: Isis
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.15.0
>Reporter: Oscar Bou
>Assignee: Oscar Bou
> Fix For: 2.0.0
>
>
> If both elements are null, depending on the order they're passed as params, 
> it would return one result or another.
> It failed on the TimeSort in some cases, throwing the following stacktrace:
> java.lang.IllegalArgumentException: Comparison method violates its general 
> contract!
> at java.util.TimSort.mergeLo(TimSort.java:773)
> at java.util.TimSort.mergeAt(TimSort.java:510)
> at java.util.TimSort.mergeCollapse(TimSort.java:437)
> at java.util.TimSort.sort(TimSort.java:241)
> 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:467)
> at 
> org.apache.isis.core.metamodel.services.grid.GridSystemServiceAbstract.normalize(GridSystemServiceAbstract.java:165)
> 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.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanel.addPropertyColumnsIfRequired(CollectionContentsAsAjaxTablePanel.java:167)
> at 
> org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanel.buildGui(CollectionContentsAsAjaxTablePanel.java:102)
> at 
> org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanel.onInitialize(CollectionContentsAsAjaxTablePanel.java:80)
> at org.apache.wicket.Component.fireInitialize(Component.java:878)
> at 
> org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:1070)
> at 
> org.apache.wicket.MarkupContainer.addedComponent(MarkupContainer.java:1047)
> at org.apache.wicket.MarkupContainer.add(MarkupContainer.java:241)
> at 
> org.apache.wicket.MarkupContainer.addOrReplace(MarkupContainer.java:265)
> at 
> org.apache.isis.viewer.wicket.ui.components.collectioncontents.multiple.CollectionContentsMultipleViewsPanel.addUnderlyingViews(CollectionContentsMultipleViewsPanel.java:118)
> at 
> org.apache.isis.viewer.wicket.ui.components.collectioncontents.multiple.CollectionContentsMultipleViewsPanel.onInitialize(CollectionContentsMultipleViewsPanel.java:87)
> at org.apache.wicket.Component.fireInitialize(Component.java:878)
> at 
> org.apache.wicket.MarkupContainer$3.component(MarkupContainer.java:1076)
> at 
> org.apache.wicket.MarkupContainer$3.component(MarkupContainer.java:1072)
> at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144)
> at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162)
> at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162)
> at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162)
> at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123)
> at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:192)
> at 
> org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:983)
> at 
> org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:1071)
> at org.apache.wicket.Page.internalPrepareForRender(Page.java:240)
> at org.apache.wicket.Component.render(Component.java:2325)
> at org.apache.wicket.Page.renderPage(Page.java:1018)
> at 
> org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:124)
> at 
> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:195)
> at 
> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175)
> at 
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:895)
> at 
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
> at 
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265)
> at 
> 

[jira] [Closed] (ISIS-1738) ObjectMember's compator is not transitive

2017-10-26 Thread Andi Huber (JIRA)

 [ 
https://issues.apache.org/jira/browse/ISIS-1738?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andi Huber closed ISIS-1738.

Resolution: Fixed

closing issue again, with proper fix-version

> ObjectMember's compator is not transitive
> -
>
> Key: ISIS-1738
> URL: https://issues.apache.org/jira/browse/ISIS-1738
> Project: Isis
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.15.0
>Reporter: Oscar Bou
>Assignee: Oscar Bou
> Fix For: 1.16.0
>
>
> If both elements are null, depending on the order they're passed as params, 
> it would return one result or another.
> It failed on the TimeSort in some cases, throwing the following stacktrace:
> java.lang.IllegalArgumentException: Comparison method violates its general 
> contract!
> at java.util.TimSort.mergeLo(TimSort.java:773)
> at java.util.TimSort.mergeAt(TimSort.java:510)
> at java.util.TimSort.mergeCollapse(TimSort.java:437)
> at java.util.TimSort.sort(TimSort.java:241)
> 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:467)
> at 
> org.apache.isis.core.metamodel.services.grid.GridSystemServiceAbstract.normalize(GridSystemServiceAbstract.java:165)
> 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.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanel.addPropertyColumnsIfRequired(CollectionContentsAsAjaxTablePanel.java:167)
> at 
> org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanel.buildGui(CollectionContentsAsAjaxTablePanel.java:102)
> at 
> org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanel.onInitialize(CollectionContentsAsAjaxTablePanel.java:80)
> at org.apache.wicket.Component.fireInitialize(Component.java:878)
> at 
> org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:1070)
> at 
> org.apache.wicket.MarkupContainer.addedComponent(MarkupContainer.java:1047)
> at org.apache.wicket.MarkupContainer.add(MarkupContainer.java:241)
> at 
> org.apache.wicket.MarkupContainer.addOrReplace(MarkupContainer.java:265)
> at 
> org.apache.isis.viewer.wicket.ui.components.collectioncontents.multiple.CollectionContentsMultipleViewsPanel.addUnderlyingViews(CollectionContentsMultipleViewsPanel.java:118)
> at 
> org.apache.isis.viewer.wicket.ui.components.collectioncontents.multiple.CollectionContentsMultipleViewsPanel.onInitialize(CollectionContentsMultipleViewsPanel.java:87)
> at org.apache.wicket.Component.fireInitialize(Component.java:878)
> at 
> org.apache.wicket.MarkupContainer$3.component(MarkupContainer.java:1076)
> at 
> org.apache.wicket.MarkupContainer$3.component(MarkupContainer.java:1072)
> at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144)
> at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162)
> at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162)
> at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162)
> at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123)
> at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:192)
> at 
> org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:983)
> at 
> org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:1071)
> at org.apache.wicket.Page.internalPrepareForRender(Page.java:240)
> at org.apache.wicket.Component.render(Component.java:2325)
> at org.apache.wicket.Page.renderPage(Page.java:1018)
> at 
> org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:124)
> at 
> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:195)
> at 
> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175)
> at 
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:895)
> at 
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
> at 
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.ja