RuleSet model
RuleSet reconciliation is centered on these entities:
Facade services create saved runs and RuleSet structures together when the workflow needs a runnable compare.
Rule execution
Rule execution is owned by:- Save and delete RuleSets and Rules
- Compile active rules into a Drools/KIE container
- Execute rules against compare-ready data
- Execute rules against matched pairs from the Spark base diff
- Clear the RuleSet cache after rule changes
save#Rule accepts either structured ruleLogic or plain-text ruleText; plain text is parsed by RuleConditionParser and rejected when it cannot be parsed into an explicit operator expression. Saving or deleting a Rule or RuleSet invalidates the compiled Drools cache for that RuleSet.
Execution services are file type agnostic. Callers parse CSV, JSON, or other source payloads into compare-ready data facts before invoking the RuleSet engine.
JSON schema model
Schemas describe source data shape and parsing expectations. The backend stores schema definitions as records, not UI-only configuration. The main schema entity is:entity/JsonSchemaEntities.xml with a tenant-scoped unique name index on (companyUserGroupId, schemaName), so each tenant has its own schema namespace.
Schema records include fields such as:
jsonSchemaIdschemaNamedescriptionsystemEnumIdownerUserIdcompanyUserGroupIdcreatedByUserIdschemaTextstatusId
service/jsonschema/** owns schema validation, inference, persistence, and lookup behavior.