[jira] [Updated] (ISIS-1692) Should be more resilient if an implementation of TableColumnOrderingService returns a non-existent property name.

2019-05-17 Thread Dan Haywood (JIRA)


 [ 
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.

2019-01-06 Thread Dan Haywood (JIRA)


 [ 
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.

2019-01-06 Thread Dan Haywood (JIRA)


 [ 
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)
>