incubator-isis-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kevin Meyer - KMZ" <ke...@kmz.co.za>
Subject Re: Some weirdness with FacetedMethodsBuilder
Date Sun, 05 Feb 2012 17:44:11 GMT
    public boolean hideIssueReceipt() {
        return hideAcknowledgePayment();
    }

    public String disableIssueReceipt() {
        return disableAcknowledgePayment();
    }

Compare this to:
    /**
     * Invoice life-cycle 3a: Treasurer acknowledges payment / generates receipt (updates
balance)
     */
    public Receipt acknowledgePayment(final Payment invoicePayment, @Named("Amount paid")
final double payment);

with methods:
    public boolean hideAcknowledgePayment() {
        return (authentication.hasCouncilRights() != true);
    }

    public String disableAcknowledgePayment() {
        if (authentication.hasTreasurerRights() != true) {
            return "Only for treasurer";
        }
        return null;
    }

The applib methods "hideAcknowledgePayment" and 
"disableAcknowledgePayment" are hidden from the user, as expected.

The applib methods "hideIssueReceipt" and "disableIssueReceipt" are 
visible to the user, which is very much unexpected.


On 5 Feb 2012 at 17:33, Dan Haywood wrote:

> On 5 February 2012 15:31, Kevin Meyer - KMZ <kevin@kmz.co.za> wrote:
> 
> >
> > I don't know how long this has been a problem - but I'm getting some
> > weirdness from FacetedMethodsBuilder:
> >
> > 17:13:37,881  [FacetedMethodsBuilder main       INFO ]  introspecting
> > dom.finance.Receipt
> >  17:13:37,913  [FacetedMethodsBuilder main       INFO ]    skipping
> > possible helper method public abstract dom.finance.Receipt
> > dom.IMember.issueReceipt(dom.finance.Invoice,double,dom.finance.Payment)
> >
> > The problem is that "issueReceipt" has corresponding
> > "hideIssueReceipt" and "disableIssueReceipt" that are not being
> > picked up as applib methods and are left behind as visible actions that
> > the user can invoke.
> >
> > issueReceipt is an action on my Member interface, used by the
> > treasurer.
> >    /**
> >     * Issue a receipt for an invoice, for an optional payment.
> >     *
> >     * @param invoice
> >     * @param amountPaid
> >     * @param payment
> >     * @return
> >     */
> >    public Receipt issueReceipt(final Invoice invoice, @Named("Amount
> > paid") double amountPaid,
> >        @Optional final Payment payment);
> >
> >
> > Any advice as to what is going on here?
> 
> My guess is it's a mismatch in the set of arguments to the helpers.
> 
> Can you post the hide and disable methods also?


Mime
View raw message