Uploaded image for project: 'Red Hat Process Automation Manager'
  1. Red Hat Process Automation Manager
  2. RHPAM-201

DRL->Guided Rule round trip marshalling should work with the ForallDescr

XMLWordPrintable

    • DR2
    • Hide

      To reproduce the problem you need to do the following steps:

      1 - Create a Guided Rule
      2 - Open the project editor, then the project general settings
      3 - Add two External Data Objects (java.util.List and java.lang.String)
      4 - Open back the previous created guided rule
      5 - Add a Freeform DRL field
      6 - To the freeform field, add the following content:

      $myList : List( empty == false )
      forall( String( this.startsWith( "n" ) ) from $myList )

      7 - There is not necessary to add something in the then clause, if you want you can add for example a simple system out.
      8 - Open Data Object tab from your guided rule to add the two imports (List and String) from the drop down list.
      9 - Save the rule
      10 - Look at the source code and you will see the "forall" keyword as expected.
      11 - Now, close the guided rule window and re-open it. You will see that the keyword "forall" from source code has changed to "exists", that has the opposite meaning.

      Show
      To reproduce the problem you need to do the following steps: 1 - Create a Guided Rule 2 - Open the project editor, then the project general settings 3 - Add two External Data Objects (java.util.List and java.lang.String) 4 - Open back the previous created guided rule 5 - Add a Freeform DRL field 6 - To the freeform field, add the following content: $myList : List( empty == false ) forall( String( this.startsWith( "n" ) ) from $myList ) 7 - There is not necessary to add something in the then clause, if you want you can add for example a simple system out. 8 - Open Data Object tab from your guided rule to add the two imports (List and String) from the drop down list. 9 - Save the rule 10 - Look at the source code and you will see the "forall" keyword as expected. 11 - Now, close the guided rule window and re-open it. You will see that the keyword "forall" from source code has changed to "exists", that has the opposite meaning.

      While the internal semantics of "forall( A() B() )" is the same as "not( A() and not( B() ) )", at the syntactical level we have a ForallDescr and the round trip marshalling should work with the ForallDescr.

            mfusco@redhat.com Mario Fusco
            rhn-support-mcarvalh Marcus Carvalho (Inactive)
            Tibor Zimányi Tibor Zimányi
            Tibor Zimányi Tibor Zimányi
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: