[ https://issues.apache.org/jira/browse/ISIS-1739?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dan Haywood updated ISIS-1739: ------------------------------ I think that Erik also reported (on mailing list?) that he's seeing getXxx() being called even when hideXxx() returns true. > DisableXxx() method is always called while hideXxx() returns true > ----------------------------------------------------------------- > > Key: ISIS-1739 > URL: https://issues.apache.org/jira/browse/ISIS-1739 > Project: Isis > Issue Type: Bug > Components: Core: Viewer: Wicket > Affects Versions: 1.15.0 > Reporter: Erik de Hair > Fix For: 1.16.0 > > > I have a contributed action that must be rendered on the first parameter's > page (OrderAbstract) on top of the page but shouldn't be rendered on the > other parameter's page. > public Blob downloadDealerQuotationAsPdf(final OrderAbstract order, final > Contact recipient){ > Blob quotation = ... > return quotation; > } > public String disableDownloadDealerQuotationAsPdf(final OrderAbstract order, > final Contact recipient){ > if(order.getOrderLines().isEmpty()){ > return "No orderline added yet"); > } > return null; > } > public boolean hideDownloadDealerQuotationAsPdf(final OrderAbstract order, > final Contact recipient) { > return order == null || !order.getCompany().hasDealer(); > } > As far as I can see the disableXXX method wouldn't be called in Apache Isis > 1.14.x when the Contact page was rendered, because this was suppressed by the > fact that the action was already hidden by the hiddenXXX method. But now > they're both called but when rendering the > Contact page it will fail due to a NPE on the first line of the disableXXX > method so I have to change this method to > public String disableDownloadDealerQuotationAsPdf(final OrderAbstract order, > final Contact recipient){ > if(order == null){ > return "Some dummy reason"; > } > // actual disable conditions > ... > } -- This message was sent by Atlassian JIRA (v6.4.14#64029)