if ( !isCustomFunction() ) {
List<String> available = null;
if ( isNamedParams ) {
CandidateMethod cm = getCandidateMethod( ctx, params, isNamedParams, available );
if ( left instanceof InvalidParametersEvent ) {
InvalidParametersEvent invalidParametersEvent = (InvalidParametersEvent) left;
invalidParametersEvent.setNodeName( getName() );
invalidParametersEvent.setActualParameters(
Stream.of( cm.apply.getParameters() ).map( p -> p.getAnnotation( ParameterName.class ).value() ).collect( Collectors.toList() ),
} else {
String ps = getClass().toString();
logger.error( "Unable to find function '" + getName() + "( " + ps.substring( 1, ps.length() - 1 ) + " )'" );
ctx.notifyEvt(() -> {
return new FEELEventBase(Severity.ERROR, "Unable to find function '" + getName() + "( " + ps.substring(1, ps.length() - 1) + " )'", null);
});
params = rearrangeParameters( params, this.getParameterNames().get( 0 ) );
Object result = invoke( ctx, params );
if ( result instanceof Either ) {
@SuppressWarnings("unchecked")
if ( left instanceof InvalidParametersEvent ) {
InvalidParametersEvent invalidParametersEvent = (InvalidParametersEvent) left;
invalidParametersEvent.setNodeName( getName() );
invalidParametersEvent.setActualParameters( IntStream.of( 0, usedParams.length ).mapToObj( i -> "arg" + i ).collect( Collectors.toList() ), Arrays.asList( usedParams ) );