[jira] [Closed] (ISIS-1738) ObjectMember's compator is not transitive
[ 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
[ 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