BRMS cannot support enumeration value that contains '=' in key

Solution Verified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content