Skip to content

Releases: deliveredtechnologies/rulebook

Spring Aware Rules

04 Dec 17:05
Compare
Choose a tag to compare
  • Rules are made injectable using @Autowired with SpringAwareRuleBookRunner
  • ERROR_ON_FAILURE now throws meaningful exceptions
  • @RuleBean is now used to properly decorate Spring POJO rules

Logging, Fat Jars, and Minor Fixes

26 Apr 23:37
Compare
Choose a tag to compare

This release includes:

  • Enhanced support for Spring Boot Fat Jars
  • Additional logging in RuleAdapter
  • Fix for mapping facts to instance variables in POJO rules when NameValueReferableMap key is different than NameValueReferable name
  • Corrections to the README

Null Facts Patch

16 Dec 12:58
815aac9
Compare
Choose a tag to compare

Null facts used in the invocation of a rule caused an exception. This patch allows null facts to be used without throwing an exception.

Rules Auditing

30 Sep 19:19
Compare
Choose a tag to compare
  • Added Rules Auditing
  • Updated DSL to include support for Rules Auditing
  • Added Rules Auditing for POJO Rules

POJO Result and Spring Boot Patches

17 Sep 01:02
Compare
Choose a tag to compare
  • Fixed POJO Results - previously getResults() on RuleBookRunner always returned Optional true; now it only returns Optional true if a Result was set
  • Fixed Spring Boot Bug - when POJO Rules were packaged in a Spring Boot uber jar, RuleBookRunner would fail to scan rules in a package; this has been corrected

DSL Enhancements

17 Aug 17:11
Compare
Choose a tag to compare
  • RuleBooks using the RuleBookBuilder now must specify a default result immediately affter a result type is specified
  • A Rule can break the rule chain when a rule fails if RuleChainActionType.STOP_ON_FAILURE is specified when the Rule is created
  • Errors are no longer logged when a default result is not specified for a RuleBookRunner

RuleBook Thread Safety

07 Aug 16:48
Compare
Choose a tag to compare
  • RuleBooks are made thread safe for POJO and DSL created RuleBooks
  • RuleBooks can now be safely used as singletons with Spring
  • RuleBook results are now unique per thread

Bug Fix: Result reads not chained on POJO Rules

23 May 01:28
Compare
Choose a tag to compare
  • Result reads are now chained on POJO Rules - fixes Megabank example
  • Conditions omitted from POJO rules now cause actions to always fire (instead of never fire)

Bug Fix: toString in NameValueTypeConvertibleMap

22 May 02:15
Compare
Choose a tag to compare

NameValueTypeConvertible is used in the lambda when() and then() functions. Previously, it was decorating the FactMap, but not delegating to its toString method. This meant when filtering facts via the using() method and using the System.out::println function reference, the String value of the fact was not being outputted (e.g. in the Home Loan example in the README).

The bug was corrected by having NameValueTypeConvertible delegate its toString method to the map it decorates.

Enhanced NameValueTypeConvertibleMap

07 May 19:11
Compare
Choose a tag to compare
  • added BigDecimal to NameValueTypeConvertibleMap
  • added Boolean to NameValueTypeConvertibleMap

Now when() and then() methods in the DSL will be able to convert facts of an unspecified type easily to BigDecimal or Boolean types using the methods getBigDeciVal() and getBoolVal, respectively.