[jira] [Updated] (ISIS-1692) Should be more resilient if an implementation of TableColumnOrderingService returns a non-existent property name.
[ https://issues.apache.org/jira/browse/ISIS-1692?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dan Haywood updated ISIS-1692: -- Fix Version/s: (was: 1.18.0) 2.0.3 > Should be more resilient if an implementation of TableColumnOrderingService > returns a non-existent property name. > - > > Key: ISIS-1692 > URL: https://issues.apache.org/jira/browse/ISIS-1692 > Project: Isis > Issue Type: Improvement > Components: Core >Affects Versions: 1.14.0 >Reporter: Dan Haywood >Priority: Minor > Fix For: 2.0.3 > > > at least in 1.15.0-SNAPSHOT, this gave me an NPE > eg in Estatio, because of non-existent property in TableColumnOrderingService > {code} > @DomainService(nature = NatureOfService.DOMAIN) > public static class TableColumnOrderServiceForCreditTransfer implements > TableColumnOrderService { > @Override > public List orderParented( > final Object parent, > final String collectionId, > final Class collectionType, > final List propertyIds) { > if(parent instanceof PaymentBatch && > CreditTransfer.class.isAssignableFrom(collectionType)) { > return Lists.newArrayList( > "endToEndId", > "seller", > "sellerBankAccount", > "amount", > "remittanceInformation" > ); > } > return null; > } > @Override > public List orderStandalone(final Class collectionType, > final List propertyIds) { > return null; > } > } > {code} > resulted in stack trace: > {code} > java.lang.NullPointerException > org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanel#createObjectAdapterPropertyColumn(CollectionContentsAsAjaxTablePanel.java:256) > org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanel#addPropertyColumnsIfRequired(CollectionContentsAsAjaxTablePanel.java:208) > org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanel#buildGui(CollectionContentsAsAjaxTablePanel.java:102) > org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanel#onInitialize(CollectionContentsAsAjaxTablePanel.java:80) > org.apache.wicket.Component#fireInitialize(Component.java:878) > org.apache.wicket.MarkupContainer#internalInitialize(MarkupContainer.java:1081) > org.apache.wicket.MarkupContainer#addedComponent(MarkupContainer.java:1058) > org.apache.wicket.MarkupContainer#add(MarkupContainer.java:241) > org.apache.wicket.MarkupContainer#addOrReplace(MarkupContainer.java:265) > org.apache.isis.viewer.wicket.ui.components.collectioncontents.multiple.CollectionContentsMultipleViewsPanel#addUnderlyingViews(CollectionContentsMultipleViewsPanel.java:118) > org.apache.isis.viewer.wicket.ui.components.collectioncontents.multiple.CollectionContentsMultipleViewsPanel#onInitialize(CollectionContentsMultipleViewsPanel.java:87) > org.apache.wicket.Component#fireInitialize(Component.java:878) > org.apache.wicket.MarkupContainer#internalInitialize(MarkupContainer.java:1081) > org.apache.wicket.MarkupContainer#addedComponent(MarkupContainer.java:1058) > org.apache.wicket.MarkupContainer#add(MarkupContainer.java:241) > org.apache.wicket.MarkupContainer#addOrReplace(MarkupContainer.java:265) > org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistryDefault#addOrReplaceComponent(ComponentFactoryRegistryDefault.java:107) > org.apache.isis.viewer.wicket.ui.components.collection.CollectionPanel#buildGui(CollectionPanel.java:87) > org.apache.isis.viewer.wicket.ui.components.collection.CollectionPanel#onInitialize(CollectionPanel.java:83) > org.apache.wicket.Component#fireInitialize(Component.java:878) > org.apache.wicket.MarkupContainer$3#component(MarkupContainer.java:1087) > org.apache.wicket.MarkupContainer$3#component(MarkupContainer.java:1083) > org.apache.wicket.util.visit.Visits#visitChildren(Visits.java:144) > org.apache.wicket.util.visit.Visits#visitChildren(Visits.java:123) > org.apache.wicket.util.visit.Visits#visitChildren(Visits.java:192) > org.apache.wicket.MarkupContainer#visitChildren(MarkupContainer.java:983) > org.apache.wicket.MarkupContainer#internalInitialize(MarkupContainer.java:1082) > org.apache.wicket.MarkupContainer#addedComponent(MarkupContainer.java:1058) > org.apache.wicket.MarkupContainer#add(MarkupContainer.java:241) >
[jira] [Updated] (ISIS-1692) Should be more resilient if an implementation of TableColumnOrderingService returns a non-existent property name.
[ https://issues.apache.org/jira/browse/ISIS-1692?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dan Haywood updated ISIS-1692: -- Fix Version/s: (was: 1.17.1) 1.18.0 > Should be more resilient if an implementation of TableColumnOrderingService > returns a non-existent property name. > - > > Key: ISIS-1692 > URL: https://issues.apache.org/jira/browse/ISIS-1692 > Project: Isis > Issue Type: Improvement > Components: Core >Affects Versions: 1.14.0 >Reporter: Dan Haywood >Priority: Minor > Fix For: 1.18.0 > > > at least in 1.15.0-SNAPSHOT, this gave me an NPE > eg in Estatio, because of non-existent property in TableColumnOrderingService > {code} > @DomainService(nature = NatureOfService.DOMAIN) > public static class TableColumnOrderServiceForCreditTransfer implements > TableColumnOrderService { > @Override > public List orderParented( > final Object parent, > final String collectionId, > final Class collectionType, > final List propertyIds) { > if(parent instanceof PaymentBatch && > CreditTransfer.class.isAssignableFrom(collectionType)) { > return Lists.newArrayList( > "endToEndId", > "seller", > "sellerBankAccount", > "amount", > "remittanceInformation" > ); > } > return null; > } > @Override > public List orderStandalone(final Class collectionType, > final List propertyIds) { > return null; > } > } > {code} > resulted in stack trace: > {code} > java.lang.NullPointerException > org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanel#createObjectAdapterPropertyColumn(CollectionContentsAsAjaxTablePanel.java:256) > org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanel#addPropertyColumnsIfRequired(CollectionContentsAsAjaxTablePanel.java:208) > org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanel#buildGui(CollectionContentsAsAjaxTablePanel.java:102) > org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanel#onInitialize(CollectionContentsAsAjaxTablePanel.java:80) > org.apache.wicket.Component#fireInitialize(Component.java:878) > org.apache.wicket.MarkupContainer#internalInitialize(MarkupContainer.java:1081) > org.apache.wicket.MarkupContainer#addedComponent(MarkupContainer.java:1058) > org.apache.wicket.MarkupContainer#add(MarkupContainer.java:241) > org.apache.wicket.MarkupContainer#addOrReplace(MarkupContainer.java:265) > org.apache.isis.viewer.wicket.ui.components.collectioncontents.multiple.CollectionContentsMultipleViewsPanel#addUnderlyingViews(CollectionContentsMultipleViewsPanel.java:118) > org.apache.isis.viewer.wicket.ui.components.collectioncontents.multiple.CollectionContentsMultipleViewsPanel#onInitialize(CollectionContentsMultipleViewsPanel.java:87) > org.apache.wicket.Component#fireInitialize(Component.java:878) > org.apache.wicket.MarkupContainer#internalInitialize(MarkupContainer.java:1081) > org.apache.wicket.MarkupContainer#addedComponent(MarkupContainer.java:1058) > org.apache.wicket.MarkupContainer#add(MarkupContainer.java:241) > org.apache.wicket.MarkupContainer#addOrReplace(MarkupContainer.java:265) > org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistryDefault#addOrReplaceComponent(ComponentFactoryRegistryDefault.java:107) > org.apache.isis.viewer.wicket.ui.components.collection.CollectionPanel#buildGui(CollectionPanel.java:87) > org.apache.isis.viewer.wicket.ui.components.collection.CollectionPanel#onInitialize(CollectionPanel.java:83) > org.apache.wicket.Component#fireInitialize(Component.java:878) > org.apache.wicket.MarkupContainer$3#component(MarkupContainer.java:1087) > org.apache.wicket.MarkupContainer$3#component(MarkupContainer.java:1083) > org.apache.wicket.util.visit.Visits#visitChildren(Visits.java:144) > org.apache.wicket.util.visit.Visits#visitChildren(Visits.java:123) > org.apache.wicket.util.visit.Visits#visitChildren(Visits.java:192) > org.apache.wicket.MarkupContainer#visitChildren(MarkupContainer.java:983) > org.apache.wicket.MarkupContainer#internalInitialize(MarkupContainer.java:1082) > org.apache.wicket.MarkupContainer#addedComponent(MarkupContainer.java:1058) > org.apache.wicket.MarkupContainer#add(MarkupContainer.java:241) >
[jira] [Updated] (ISIS-1692) Should be more resilient if an implementation of TableColumnOrderingService returns a non-existent property name.
[ https://issues.apache.org/jira/browse/ISIS-1692?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dan Haywood updated ISIS-1692: -- Fix Version/s: (was: 2.3.0) 1.17.1 > Should be more resilient if an implementation of TableColumnOrderingService > returns a non-existent property name. > - > > Key: ISIS-1692 > URL: https://issues.apache.org/jira/browse/ISIS-1692 > Project: Isis > Issue Type: Improvement > Components: Core >Affects Versions: 1.14.0 >Reporter: Dan Haywood >Priority: Minor > Fix For: 1.17.1 > > > at least in 1.15.0-SNAPSHOT, this gave me an NPE > eg in Estatio, because of non-existent property in TableColumnOrderingService > {code} > @DomainService(nature = NatureOfService.DOMAIN) > public static class TableColumnOrderServiceForCreditTransfer implements > TableColumnOrderService { > @Override > public List orderParented( > final Object parent, > final String collectionId, > final Class collectionType, > final List propertyIds) { > if(parent instanceof PaymentBatch && > CreditTransfer.class.isAssignableFrom(collectionType)) { > return Lists.newArrayList( > "endToEndId", > "seller", > "sellerBankAccount", > "amount", > "remittanceInformation" > ); > } > return null; > } > @Override > public List orderStandalone(final Class collectionType, > final List propertyIds) { > return null; > } > } > {code} > resulted in stack trace: > {code} > java.lang.NullPointerException > org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanel#createObjectAdapterPropertyColumn(CollectionContentsAsAjaxTablePanel.java:256) > org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanel#addPropertyColumnsIfRequired(CollectionContentsAsAjaxTablePanel.java:208) > org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanel#buildGui(CollectionContentsAsAjaxTablePanel.java:102) > org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.CollectionContentsAsAjaxTablePanel#onInitialize(CollectionContentsAsAjaxTablePanel.java:80) > org.apache.wicket.Component#fireInitialize(Component.java:878) > org.apache.wicket.MarkupContainer#internalInitialize(MarkupContainer.java:1081) > org.apache.wicket.MarkupContainer#addedComponent(MarkupContainer.java:1058) > org.apache.wicket.MarkupContainer#add(MarkupContainer.java:241) > org.apache.wicket.MarkupContainer#addOrReplace(MarkupContainer.java:265) > org.apache.isis.viewer.wicket.ui.components.collectioncontents.multiple.CollectionContentsMultipleViewsPanel#addUnderlyingViews(CollectionContentsMultipleViewsPanel.java:118) > org.apache.isis.viewer.wicket.ui.components.collectioncontents.multiple.CollectionContentsMultipleViewsPanel#onInitialize(CollectionContentsMultipleViewsPanel.java:87) > org.apache.wicket.Component#fireInitialize(Component.java:878) > org.apache.wicket.MarkupContainer#internalInitialize(MarkupContainer.java:1081) > org.apache.wicket.MarkupContainer#addedComponent(MarkupContainer.java:1058) > org.apache.wicket.MarkupContainer#add(MarkupContainer.java:241) > org.apache.wicket.MarkupContainer#addOrReplace(MarkupContainer.java:265) > org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistryDefault#addOrReplaceComponent(ComponentFactoryRegistryDefault.java:107) > org.apache.isis.viewer.wicket.ui.components.collection.CollectionPanel#buildGui(CollectionPanel.java:87) > org.apache.isis.viewer.wicket.ui.components.collection.CollectionPanel#onInitialize(CollectionPanel.java:83) > org.apache.wicket.Component#fireInitialize(Component.java:878) > org.apache.wicket.MarkupContainer$3#component(MarkupContainer.java:1087) > org.apache.wicket.MarkupContainer$3#component(MarkupContainer.java:1083) > org.apache.wicket.util.visit.Visits#visitChildren(Visits.java:144) > org.apache.wicket.util.visit.Visits#visitChildren(Visits.java:123) > org.apache.wicket.util.visit.Visits#visitChildren(Visits.java:192) > org.apache.wicket.MarkupContainer#visitChildren(MarkupContainer.java:983) > org.apache.wicket.MarkupContainer#internalInitialize(MarkupContainer.java:1082) > org.apache.wicket.MarkupContainer#addedComponent(MarkupContainer.java:1058) > org.apache.wicket.MarkupContainer#add(MarkupContainer.java:241) >