Codota Logo
FunctionInvocationNode
Code IndexAdd Codota to your IDE (free)

How to use
FunctionInvocationNode
in
org.kie.dmn.feel.lang.ast

Best Java code snippets using org.kie.dmn.feel.lang.ast.FunctionInvocationNode (Showing top 11 results out of 315)

  • Add the Codota plugin to your IDE and get smart completions
private void myMethod () {
FileOutputStream f =
  • Codota IconFile file;new FileOutputStream(file)
  • Codota IconString name;new FileOutputStream(name)
  • Codota IconFile file;new FileOutputStream(file, true)
  • Smart code suggestions by Codota
}
origin: org.kie/kie-dmn-feel

public static FunctionInvocationNode newFunctionInvocationNode(ParserRuleContext ctx, BaseNode name, ListNode params) {
  return new FunctionInvocationNode( ctx, name, params );
}
origin: org.kie/kie-dmn-feel

private Object invokeTheFunction(List<String> names, FEELFunction fn, EvaluationContext ctx, Object[] params) {
  if (names.size() == 1) {
    Object result = fn.invokeReflectively(ctx, params);
    return result;
  } else {
    try {
      Object newRoot = ctx.getValue(names.get(0));
      ctx.enterFrame();
      try {
        Map<String, Object> asMap = ((Map<String, Object>) newRoot);
        asMap.forEach(ctx::setValue);
      } catch (ClassCastException e) {
        ctx.setRootObject(newRoot); // gracefully handle the less common scenario.
      }
      return invokeTheFunction(names.subList(1, names.size()), fn, ctx, params);
    } finally {
      ctx.exitFrame();
    }
  }
}
origin: org.kie/kie-dmn-feel

@Override
public DirectCompilerResult visit(FunctionInvocationNode n) {
  DirectCompilerResult functionName = n.getName().accept(this);
  DirectCompilerResult params = n.getParams().accept(this);
  return DirectCompilerResult.of(
      Expressions.invoke(functionName.getExpression(), params.getExpression()),
      functionName.resultType)
      .withFD(functionName)
      .withFD(params);
}
origin: org.kie/kie-dmn-feel

@Test
public void testLogicalNegation() {
  String inputExpression = "not ( true )";
  BaseNode neg = parse( inputExpression );
  assertThat( neg, is( instanceOf( FunctionInvocationNode.class ) ) );
  assertThat( neg.getResultType(), is( BuiltInType.UNKNOWN ) );
  assertThat( neg.getText(), is( "not ( true )" ) );
  FunctionInvocationNode not = (FunctionInvocationNode) neg;
  assertThat( not.getParams().getElements().get( 0 ), is( instanceOf( BooleanNode.class ) ) );
  assertThat( not.getParams().getElements().get( 0 ).getResultType(), is( BuiltInType.BOOLEAN ) );
  assertThat( not.getParams().getElements().get( 0 ).getText(), is( "true" ) );
}
origin: org.kie/kie-dmn-feel

    functionNameParts = Arrays.asList(function.getName());
  Object result = invokeTheFunction(functionNameParts, function, ctx, p);
  return result;
} else {
  ctx.notifyEvt( astEvent(Severity.ERROR, Msg.createMessage(Msg.FUNCTION_NOT_FOUND, name.getText())) );
  return ((UnaryTest) value).apply( ctx, p );
} else {
  ctx.notifyEvt( astEvent(Severity.ERROR, Msg.createMessage(Msg.CAN_T_INVOKE_AN_UNARY_TEST_WITH_S_PARAMETERS_UNARY_TESTS_REQUIRE_1_SINGLE_PARAMETER, params.getElements().size()) ) );
origin: org.kie/kie-dmn-feel

@Test
public void testFunctionInvocationPositionalParams() {
  String inputExpression = "my.test.Function( x+10, \"foo\" )";
  BaseNode functionBase = parse( inputExpression );
  assertThat( functionBase, is( instanceOf( FunctionInvocationNode.class ) ) );
  assertThat( functionBase.getText(), is( inputExpression ) );
  FunctionInvocationNode function = (FunctionInvocationNode) functionBase;
  assertThat( function.getName(), is( instanceOf( QualifiedNameNode.class ) ) );
  assertThat( function.getName().getText(), is( "my.test.Function" ) );
  assertThat( function.getParams(), is( instanceOf( ListNode.class ) ) );
  assertThat( function.getParams().getElements().size(), is( 2 ) );
  assertThat( function.getParams().getElements().get( 0 ), is( instanceOf( InfixOpNode.class ) ) );
  assertThat( function.getParams().getElements().get( 1 ), is( instanceOf( StringNode.class ) ) );
}
origin: org.kie/kie-dmn-feel

@Test
public void testFunctionInvocationEmptyParams() {
  String inputExpression = "my.test.Function()";
  BaseNode functionBase = parse( inputExpression );
  assertThat( functionBase, is( instanceOf( FunctionInvocationNode.class ) ) );
  assertThat( functionBase.getText(), is( inputExpression ) );
  FunctionInvocationNode function = (FunctionInvocationNode) functionBase;
  assertThat( function.getName(), is( instanceOf( QualifiedNameNode.class ) ) );
  assertThat( function.getName().getText(), is( "my.test.Function" ) );
  assertThat( function.getParams(), is( instanceOf( ListNode.class ) ) );
  assertThat( function.getParams().getElements(), is( empty() ) );
}
origin: org.kie/kie-dmn-feel

@Test
public void testFunctionInvocationWithKeyword() {
  String inputExpression = "date and time( \"2016-07-29T19:47:53\" )";
  BaseNode functionBase = parse( inputExpression );
  assertThat( functionBase, is( instanceOf( FunctionInvocationNode.class ) ) );
  assertThat( functionBase.getText(), is( inputExpression ) );
  FunctionInvocationNode function = (FunctionInvocationNode) functionBase;
  assertThat( function.getName(), is( instanceOf( NameRefNode.class ) ) );
  assertThat( function.getName().getText(), is( "date and time" ) );
  assertThat( function.getParams(), is( instanceOf( ListNode.class ) ) );
  assertThat( function.getParams().getElements().size(), is( 1 ) );
  assertThat( function.getParams().getElements().get( 0 ), is( instanceOf( StringNode.class ) ) );
}
origin: org.kie/kie-dmn-feel

@Test
public void testFunctionInvocationWithExpressionParameters() {
  String inputExpression = "date and time( date(\"2016-07-29\"), time(\"19:47:53\") )";
  BaseNode functionBase = parse( inputExpression );
  assertThat( functionBase, is( instanceOf( FunctionInvocationNode.class ) ) );
  assertThat( functionBase.getText(), is( inputExpression ) );
  FunctionInvocationNode function = (FunctionInvocationNode) functionBase;
  assertThat( function.getName(), is( instanceOf( NameRefNode.class ) ) );
  assertThat( function.getName().getText(), is( "date and time" ) );
  assertThat( function.getParams(), is( instanceOf( ListNode.class ) ) );
  assertThat( function.getParams().getElements().size(), is( 2 ) );
  assertThat( function.getParams().getElements().get( 0 ), is( instanceOf( FunctionInvocationNode.class ) ) );
  assertThat( function.getParams().getElements().get( 1 ), is( instanceOf( FunctionInvocationNode.class ) ) );
}
origin: org.kie/kie-dmn-feel

@Test
public void testFunctionInvocationNamedParams() {
  String inputExpression = "my.test.Function( named parameter 1 : x+10, named parameter 2 : \"foo\" )";
  BaseNode functionBase = parse( inputExpression );
  assertThat( functionBase, is( instanceOf( FunctionInvocationNode.class ) ) );
  assertThat( functionBase.getText(), is( inputExpression ) );
  FunctionInvocationNode function = (FunctionInvocationNode) functionBase;
  assertThat( function.getName(), is( instanceOf( QualifiedNameNode.class ) ) );
  assertThat( function.getName().getText(), is( "my.test.Function" ) );
  assertThat( function.getParams(), is( instanceOf( ListNode.class ) ) );
  assertThat( function.getParams().getElements().size(), is( 2 ) );
  assertThat( function.getParams().getElements().get( 0 ), is( instanceOf( NamedParameterNode.class ) ) );
  assertThat( function.getParams().getElements().get( 1 ), is( instanceOf( NamedParameterNode.class ) ) );
  NamedParameterNode named = (NamedParameterNode) function.getParams().getElements().get( 0 );
  assertThat( named.getText(), is( "named parameter 1 : x+10" ) );
  assertThat( named.getName().getText(), is( "named parameter 1" ) );
  assertThat( named.getExpression(), is( instanceOf( InfixOpNode.class ) ) );
  assertThat( named.getExpression().getText(), is( "x+10" ) );
  named = (NamedParameterNode) function.getParams().getElements().get( 1 );
  assertThat( named.getText(), is( "named parameter 2 : \"foo\"" ) );
  assertThat( named.getName().getText(), is( "named parameter 2" ) );
  assertThat( named.getExpression(), is( instanceOf( StringNode.class ) ) );
  assertThat( named.getExpression().getText(), is( "\"foo\"" ) );
}
origin: org.kie/kie-dmn-feel

assertThat( function.getName(), is( instanceOf( NameRefNode.class ) ) );
assertThat( function.getName().getText(), is( "decision table" ) );
assertThat( function.getParams(), is( instanceOf( ListNode.class ) ) );
assertThat( function.getParams().getElements().size(), is( 4 ) );
assertThat( function.getParams().getElements().get( 0 ), is( instanceOf( NamedParameterNode.class ) ) );
assertThat( function.getParams().getElements().get( 1 ), is( instanceOf( NamedParameterNode.class ) ) );
assertThat( function.getParams().getElements().get( 2 ), is( instanceOf( NamedParameterNode.class ) ) );
assertThat( function.getParams().getElements().get( 3 ), is( instanceOf( NamedParameterNode.class ) ) );
NamedParameterNode named = (NamedParameterNode) function.getParams().getElements().get( 0 );
assertThat( named.getText(), is( "outputs: \"Applicant Risk Rating\"" ) );
assertThat( named.getName().getText(), is( "outputs" ) );
assertThat( named.getExpression().getText(), is( "\"Applicant Risk Rating\"" ) );
named = (NamedParameterNode) function.getParams().getElements().get( 1 );
assertThat( named.getName().getText(), is( "input expression list" ) );
assertThat( named.getExpression(), is( instanceOf( ListNode.class ) ) );
assertThat( list.getElements().get( 1 ).getText(), is( "\"Medical History\"" ) );
named = (NamedParameterNode) function.getParams().getElements().get( 2 );
assertThat( named.getName().getText(), is( "rule list" ) );
assertThat( named.getExpression(), is( instanceOf( ListNode.class ) ) );
named = (NamedParameterNode) function.getParams().getElements().get( 3 );
assertThat( named.getName().getText(), is( "hit policy" ) );
assertThat( named.getExpression(), is( instanceOf( StringNode.class ) ) );
org.kie.dmn.feel.lang.astFunctionInvocationNode

Most used methods

  • getName
  • getParams
  • <init>
  • astEvent
  • invokeTheFunction

Popular in Java

  • Reactive rest calls using spring rest template
  • getResourceAsStream (ClassLoader)
  • getSystemService (Context)
  • runOnUiThread (Activity)
  • Menu (java.awt)
  • System (java.lang)
    Provides access to system-related information and resources including standard input and output. Ena
  • CountDownLatch (java.util.concurrent)
    A synchronization aid that allows one or more threads to wait until a set of operations being perfor
  • Executor (java.util.concurrent)
    An object that executes submitted Runnable tasks. This interface provides a way of decoupling task s
  • Reference (javax.naming)
  • LoggerFactory (org.slf4j)
    The LoggerFactory is a utility class producing Loggers for various logging APIs, most notably for lo
Codota Logo
  • Products

    Search for Java codeSearch for JavaScript codeEnterprise
  • IDE Plugins

    IntelliJ IDEAWebStormAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimAtomGoLandRubyMineEmacsJupyter
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogCodota Academy Plugin user guide Terms of usePrivacy policyJava Code IndexJavascript Code Index
Get Codota for your IDE now