[jboss-jira] [JBoss JIRA] (DROOLS-2161) Recursive function definitions in context entries are raising compile time errors

Fedor Gavrilov (JIRA) issues at jboss.org
Mon Dec 4 09:30:00 EST 2017


    [ https://issues.jboss.org/browse/DROOLS-2161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13496865#comment-13496865 ] 

Fedor Gavrilov edited comment on DROOLS-2161 at 12/4/17 9:30 AM:
-----------------------------------------------------------------

java.lang.AssertionError: DMNMessage{ severity=WARN, type=MISSING_TYPE_REF, message='Variable named 'h' is missing its type reference on node 'x'', sourceId='_95c8b5cc-4dd3-4a7b-bd93-d2f709c88bf2', exception='', feelEvent=''}
DMNMessage{ severity=WARN, type=MISSING_TYPE_REF, message='Variable named 'g' is missing its type reference on node 'x'', sourceId='_9e512834-3b21-47ec-902b-5e9525b01f07', exception='', feelEvent=''}
DMNMessage{ severity=WARN, type=MISSING_TYPE_REF, message='Variable named 'new list' is missing its type reference on node 'x'', sourceId='_7aad66b5-f3a7-4eae-a717-3c94eeb3858d', exception='', feelEvent=''}
DMNMessage{ severity=WARN, type=MISSING_TYPE_REF, message='Variable named 'x' is missing its type reference on node 'x'', sourceId='_eb1123e4-ddd4-44d7-8103-7a8d1523c7d0', exception='', feelEvent=''}
DMNMessage{ severity=WARN, type=MISSING_TYPE_REF, message='Parameter named 'list' is missing its type reference on node 'x'', sourceId='_234ad53b-b2e2-4cb4-b578-1d22546d06af', exception='', feelEvent=''}
DMNMessage{ severity=WARN, type=MISSING_TYPE_REF, message='Parameter named 'limit' is missing its type reference on node 'x'', sourceId='_632ea9f5-c827-47ee-926f-0973466e99b6', exception='', feelEvent=''}
DMNMessage{ severity=WARN, type=MISSING_TYPE_REF, message='Parameter named 'n' is missing its type reference on node 'x'', sourceId='_a4180fb5-08f5-4bff-a56c-bc9ee9e98939', exception='', feelEvent=''}
DMNMessage{ severity=ERROR, type=TYPE_DEF_NOT_FOUND, message='Unable to resolve type reference 'tNumberList' on node 'x'', sourceId='_2f139270-6d81-4f0b-bf26-c85bd90033b1', exception='', feelEvent=''}
DMNMessage{ severity=ERROR, type=TYPE_DEF_NOT_FOUND, message='Unable to resolve type reference 'tNumberList' on node 'x'', sourceId='_8fe8d041-5a54-4377-ae5f-83e1b632e033', exception='', feelEvent=''}
DMNMessage{ severity=ERROR, type=ERR_COMPILING_FEEL, message='Error compiling FEEL expression 'append( list, n )' for name 'new list' on node 'x': Exception raised: NullPointerException', sourceId='_ce0a3445-cc1f-47a9-88b5-bd3f1c00c752', exception='NullPointerException : null', feelEvent=''}
DMNMessage{ severity=ERROR, type=ERR_COMPILING_FEEL, message='Error compiling FEEL expression 'if n + 1 > limit then
      new list
  else
      f( n+1, limit, new list )' for name 'f' on node 'x': Exception raised: NullPointerException', sourceId='_89fb1571-a993-46fe-a8a7-0b51e11614a0', exception='NullPointerException : null', feelEvent=''}
DMNMessage{ severity=ERROR, type=ERR_COMPILING_FEEL, message='Error compiling FEEL expression 'function( n, limit, list ) {
      new list : append( list, n ),
      result : if n + 1 > limit then
                        new list
                   else
                       g( n+1, limit, new list )
  }.result' for name 'g' on node 'x': Exception raised: NullPointerException', sourceId='_608dfc35-d13e-459a-998b-08ce33a48ca8', exception='NullPointerException : null', feelEvent=''}
DMNMessage{ severity=ERROR, type=ERR_COMPILING_FEEL, message='Error compiling FEEL expression 'if n + 1 > limit then
      append( list, n )
  else
      h( n+1, limit, append( list, n ) )' for name 'h' on node 'x': Exception raised: NullPointerException', sourceId='_a8c548dd-77e4-4a9e-8490-4485754433f4', exception='NullPointerException : null', feelEvent=''}
DMNMessage{ severity=ERROR, type=ERR_COMPILING_FEEL, message='Error compiling FEEL expression '[ f( 1, 3, []), g( 1, 3, []), h( 1, 3, []) ]' for name 'x' on node 'x': Exception raised: NullPointerException', sourceId='_7e88403e-717f-4753-a747-a65368f7cd05', exception='NullPointerException : null', feelEvent=''}


was (Author: fedor.gavrilov):
java.lang.AssertionError: DMNMessage{ severity=ERROR, type=FAILED_XML_VALIDATION, message='Failed XML validation of DMN file: cvc-elt.1: Cannot find the declaration of element 'semantic:definitions'.', sourceId='null', exception='SAXParseException : cvc-elt.1: Cannot find the declaration of element 'semantic:definitions'.', feelEvent=''}
DMNMessage{ severity=WARN, type=MISSING_TYPE_REF, message='Variable named 'h' is missing its type reference on node 'x'', sourceId='_95c8b5cc-4dd3-4a7b-bd93-d2f709c88bf2', exception='', feelEvent=''}
DMNMessage{ severity=WARN, type=MISSING_TYPE_REF, message='Variable named 'g' is missing its type reference on node 'x'', sourceId='_9e512834-3b21-47ec-902b-5e9525b01f07', exception='', feelEvent=''}
DMNMessage{ severity=WARN, type=MISSING_TYPE_REF, message='Variable named 'new list' is missing its type reference on node 'x'', sourceId='_7aad66b5-f3a7-4eae-a717-3c94eeb3858d', exception='', feelEvent=''}
DMNMessage{ severity=WARN, type=MISSING_TYPE_REF, message='Variable named 'x' is missing its type reference on node 'x'', sourceId='_eb1123e4-ddd4-44d7-8103-7a8d1523c7d0', exception='', feelEvent=''}
DMNMessage{ severity=WARN, type=MISSING_TYPE_REF, message='Parameter named 'list' is missing its type reference on node 'x'', sourceId='_234ad53b-b2e2-4cb4-b578-1d22546d06af', exception='', feelEvent=''}
DMNMessage{ severity=WARN, type=MISSING_TYPE_REF, message='Parameter named 'limit' is missing its type reference on node 'x'', sourceId='_632ea9f5-c827-47ee-926f-0973466e99b6', exception='', feelEvent=''}
DMNMessage{ severity=WARN, type=MISSING_TYPE_REF, message='Parameter named 'n' is missing its type reference on node 'x'', sourceId='_a4180fb5-08f5-4bff-a56c-bc9ee9e98939', exception='', feelEvent=''}
DMNMessage{ severity=ERROR, type=ERR_COMPILING_FEEL, message='Error compiling FEEL expression 'if n + 1 > limit then
    new list
else
    f( n+1, limit, new list )' for name 'f' on node 'x': Unknown variable 'f'', sourceId='_89fb1571-a993-46fe-a8a7-0b51e11614a0', exception='', feelEvent='UnknownVariableErrorEvent : Unknown variable 'f''}
DMNMessage{ severity=ERROR, type=ERR_COMPILING_FEEL, message='Error compiling FEEL expression 'if n + 1 > limit then
    append( list, n )
else
    h( n+1, limit, append( list, n ) )' for name 'h' on node 'x': Unknown variable 'h'', sourceId='_a8c548dd-77e4-4a9e-8490-4485754433f4', exception='', feelEvent='UnknownVariableErrorEvent : Unknown variable 'h''}

> Recursive function definitions in context entries are raising compile time errors
> ---------------------------------------------------------------------------------
>
>                 Key: DROOLS-2161
>                 URL: https://issues.jboss.org/browse/DROOLS-2161
>             Project: Drools
>          Issue Type: Bug
>          Components: dmn engine
>    Affects Versions: 7.4.1.Final
>            Reporter: Edson Tirelli
>            Assignee: Fedor Gavrilov
>         Attachments: ContextRecursion.dmn
>
>
> Recursive function definitions in contexts are raising compile time errors but are executing correctly.
> See attached model for example. Functions "f" and "h" raise compile time errors.



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jboss-jira mailing list