Subject: Hiding empty fieldset


Hi,

I have some other hiding/disabling issues. Did anything change on how
methods are hidden/disabled?

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 == null){
         return "Some dummy reason";
     }
     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
     ...
}

Am I right here or did I miss something? (again ;-P )

Erik

On 09/25/2017 01:59 PM, Erik de Hair wrote: