Release 8.5.2

Apr 25, 2022. Release 8.5.2 is a minor release that added new features requested by our customers and fixed a few bugs. Here is the list of the 8.5.2 changes:

Advanced Big Tables with CSV Files

  • Previously tables of the type BigTable that did search in large CSV files required that names of decision variables in conditions and column names in CSV files be the same. Now we allowed our customers to use the fifth row where they may specify the columns names in CSV files. Here is the example of a new BigTable:
  • Here decision variables “Activity Code” and “Diagnosis Code” defined in the Glossary are being compared with values in the CSV file [Data/Diagnosis….csv] which are defined in the columns named “Activity Code Min”, “Activity Code Max”, etc.
  • To support this feature we needed to prohibit using the same column names inside CSV files.
  • Now you also don’t need to artificially define a special column “Found” in your CSV files when you simple want to know if this file contains a row that correspond to the decision table conditions. You may simply use your own Boolean decision variable such as “Found” in the Action and add the value TRUE in its 5th row.
  • If you want to know which row in the CSV files satisfied your conditions you may use your own Integer decision variable such as “Row Number” in the Action and add the value # in its 5th row. The numeration of rows starts with 1 and if there is no row in the CSV file that satisfies all conditions then Row Number will be 0.

Controlling Memory Size for Large Decision Projects

  • Real-world decision projects may require a lot of memory (especially if they use many Big tables with large CSV files) to be built and deployed. The default memory setting may lead to “OutOfMemoryErrors” due to insufficient space in the Java heap. Now you may define the Environment variable OPENRULES_OPTS with different JVM options, e.g. OPENRULES_OPTS=-Xmx6g to expand the available memory to 6 Gegabytes.
  • Alternatively, you also may add to your file “build.bat” and “test.bat” the line
    • set OPENRULES_OPTS=-Xmx6g

Putting String Values in Quotes

  • Sometimes Excel is too “smart” and automatically changes the format of the decision table cells. For instance, you type 012 but Excel “thinks” it is an integer and removes the leading 0. So, OpenRules allow you to take text values in quotes, like “012” to avoid any misunderstanding.

Catching Errors

  • Now OpenRules catches errors when tables of the type DecisionTest have spaces in their names and duplicated test IDs
  • It also ignores empty lines in DecisionTest cells that specify arrays of values – previously empty line might lead to the “empty” arrays.