Boxed Invocation - BKM only? Not using named-param invocation semantics? #497
-
Hi all, I noticed all usages of boxed Invocation in the TCK were a LiteralExpression naming a BKM. Fair enough - that is the most common use case so no stress there. But, I started to write some tests to exercise it a little more than that - using other expression types than a literal expression and other function types than a BKM. However, the spec section
So it seems it does not have to be a 'LiteralExpression naming a BusinessKnowledgeModel'. But then it goes on to say:
(side bar: But .. does that mandate that it MUST be a BKM, and furthermore, that all parameters shall be provided? This is confusing as it denies that other function types, like decision services, or even built in functions can be invoked. Also, my take on an Invocation was that it is a boxed function call passing named arguments. The function invocation semantics for named arguments is that any un-supplied arguments are treated as null - for BKM, decision services and built-in functions. But .. this seems not to be the case for a boxed invocation. That is counter to this (though, I concede it is in the FEEL section):
So, looking for some clarification - the tests I have written permit any function (bkm/ds/lambda/funcdef/built-in) as the All comments and advice welcome. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 3 replies
-
@tarilabs - I think drools does named-param semantics for invocation? Looking at
And the actual evaluation looks to be named param semantics. It also seems not to care whether it is a BKM or not. I'm no expert on drools code though. |
Beta Was this translation helpful? Give feedback.
closing