BRMS cannot support enumeration value that contains '=' in key
Issue
In BRMS, if I setup an enumeration like 'Board.type' : [ 'S=Short', 'L=Long', 'M=Mini'] for DSL is OK, but when left side real value contains '=', that is an error when using the enum in a business condition
For example, if I define this enum for DSL:
'Board.equality' : [ '>=is greater than', '==equals', '<=is less than']
The second key-value pair does not work for proper enumeration-dsl translation.
These steps reproduce the problem,
1) install a fresh BRMS
2) import sample repository 'mortgage' when first logging into the page
3) In package 'mortgage' 's Enumeration, add this line:
'Board.equality' : [ '>=is greater than', '==equals', '<=is less than']
validate it and save changes.
4) In dsl configuration under mortgage, add this line:
[when]aaa {sign:ENUM:Board.equality} = applicant:Applicant(creditRating{sign})
validate it and save changes.
5) In any business rule under the package, say "Bankruptcy history", add a new condition by using "aaa sign", you will see you cannot just add it due to some hidden error.
When you change the Enumeration define to
'Board.equality' : [ '>=is greater than', 'x=equals', '<=is less than']
It works. But does not fulfill the requirement for equal sign dsl translation.
Environment
JBoss Business Rules Management System (BRMS) 5.1.0
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.