incubator-isis-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dan Haywood <...@haywood-associates.co.uk>
Subject Re: Some weirdness with FacetedMethodsBuilder
Date Sun, 05 Feb 2012 17:47:47 GMT
Here's what I reckon: that method begins with an "is", and so the metamodel
is trying to interpret it as a boolean property.

I suggest that the PropertyOrCollectionIdentifyingFacetsFactory could be
improved; the workaround is to rename the action and use @Named.

Let me know...
Dan


On 5 February 2012 17:44, Kevin Meyer - KMZ <kevin@kmz.co.za> wrote:

>    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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message