RulesExpression plugins should have a method integrityCheck() that determines if the current configuration setup is sane and no dependencies are missing or configured data types do not match.

Proposed solution: add a "configuration state" class that holds all data definitions of variables that are used in a rule. Add ->integrityCheck() methods to expression objects that throw exception in case an expression is misconfigured. The configuration state is used during traversing nested expression objects to determine which variable are available at which level in the expression tree.

Comments

klausi created an issue. See original summary.

klausi’s picture

Issue summary: View changes
Status: Active » Needs review
fago’s picture

Status: Needs review » Needs work

see my PR comments

klausi’s picture

Status: Needs work » Needs review

all comments addressed, please review.

klausi’s picture

Status: Needs review » Fixed

merged.

  • klausi committed 7d6a082 on 8.x-3.x
    Issue #2648352: Implemented an integrity check on configuration time...

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.