Interface RuleEngineTestSupportService

    • Method Detail

      • createRuleModel

        AbstractRuleEngineRuleModel createRuleModel()
        factory method declaration to create new instance of AbstractRuleEngineRuleModel
        Returns:
        instance of AbstractRuleEngineRuleModel subclass
      • associateRulesToNewModule

        AbstractRulesModuleModel associateRulesToNewModule​(java.lang.String moduleName,
                                                           java.util.Set<? extends AbstractRuleEngineRuleModel> rules)
        create the rule module and associate the rules to it
        Parameters:
        moduleName - - name of the module (or the related knowledge base)
        rules - - set of rules to associate the module with
        Returns:
        instance of AbstractRulesModuleModel subclass
      • associateRulesModule

        void associateRulesModule​(AbstractRulesModuleModel module,
                                  java.util.Set<? extends AbstractRuleEngineRuleModel> rules)
        associate the rules to a module
        Parameters:
        module - - rule module
        rules - - set of rules to associate the module with
      • getTestRulesModule

        AbstractRulesModuleModel getTestRulesModule​(AbstractRuleEngineContextModel abstractContext,
                                                    java.util.Set<AbstractRuleEngineRuleModel> ruleModels)
        Creates the concrete subclass of AbstractRulesModuleModel, based on rule engine implementation
        Parameters:
        abstractContext - instance of AbstractRuleEngineContextModel
        ruleModels - - a set of AbstractRuleEngineRuleModel instances
        Returns:
        instance of AbstractRulesModuleModel subclass (based on rule engine implementation)
      • resolveAssociatedRuleModule

        java.util.Optional<AbstractRulesModuleModel> resolveAssociatedRuleModule​(AbstractRuleEngineRuleModel ruleModel)
        Returns a module, associated to a rule
        Parameters:
        ruleModel - an instance of the AbstractRuleEngineRuleModel subclass
        Returns:
        Optional instance of AbstractRulesModuleModel
      • decorateRuleForTest

        java.util.function.Consumer<AbstractRuleEngineRuleModel> decorateRuleForTest​(java.util.Map<java.lang.String,​java.lang.String> params)
        Returns a Customer, adding additional functionality to AbstractRuleEngineRuleModel, based on parameters map
        Parameters:
        params - Map of strings to strings, parametrizing additional functionality (e.g. global values in case of Drools implementation)
        Returns:
        an instance of Customer for AbstractRuleEngineRuleModel
      • getTestModuleName

        java.lang.String getTestModuleName​(AbstractRuleEngineRuleModel ruleModel)
        Returns the name of the module, associated to the rule
        Parameters:
        ruleModel - an instance of AbstractRuleEngineRuleModel or it's subclass
        Returns:
        name of the associated module, if applicable. Null otherwise