Groovy Rule
A groovy rule runs a snippet of groovy code that returns true if error messages should be displayed in PDX UI.
The groovy rule builder has the following additional properties:
METHOD(s) | DESCRIPTION |
---|---|
.withGroovyCode(String snippet) .withGroovyCode(File groovyFile) .withGroovyLines(List<String lines) | 1. String containing a groovy snippet to be parsed into rule 2. File object that refers to a rule.groovy file to be parsed into rule 3. Lines from a groovy code to be parsed into rule Regarding parsing, see note below table. |
.withAlias(String alias, String attributeId) | A list of valid groovy variable names that are used in groovy snippet to refer to the value of the attribute with the given attribute ID |
.withErrorAliases(String... aliases) | A list of aliases for the attributes that should display error message in PDX UI |
.withErrorMessage(String errorMessage) | The error message that will show up in PDX UI on the error attributes if groovy snippet returns true |
When groovy code is added via one of the three methods, it is automatically processed as follows:
code is compacted into a single line (remember to add semi-colons so that the code still compiles)
package and line containing predefined imports of BusinessRuleUtils and GroovyExecutionScope are removed
comment lines using // are removed
GroovyExecutionScope.SOME_FIELD is replaced by the internal groovy code, it represents, e.g. GroovyExecutionScope.CHANNEL_PRODUCT becomes context.get(“CHANNEL_PRODUCT”)
required contexts are automatically detected - see JSON result under Business rule implementation (WIP) | File based rule , where “CHANNEL_PRODUCT” was picked up
Updated over 1 year ago