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 <[email protected]> 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 <[email protected]> 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? > >
