public WonkaBreRulesEngine(StringBuilder psRules, Dictionary <string, WonkaBreSource> poSourceMap, Dictionary <string, WonkaBreSource> poCustomOpBlockchainSources, IMetadataRetrievable piMetadataSource = null, bool pbAddToRegistry = true) { if ((psRules == null) || (psRules.Length <= 0)) { throw new WonkaBreException("ERROR! Provided rules are null or empty!"); } UsingOrchestrationMode = true; AddToRegistry = pbAddToRegistry; RefEnvHandle = Init(piMetadataSource); WonkaBreXmlReader BreXmlReader = new WonkaBreXmlReader(psRules, piMetadataSource, this); foreach (string sKey in poCustomOpBlockchainSources.Keys) { WonkaBreSource oTargetSource = poCustomOpBlockchainSources[sKey]; BreXmlReader.AddCustomOperator(sKey, oTargetSource); } RuleTreeRoot = BreXmlReader.ParseRuleTree(); SourceMap = poSourceMap; CustomOpMap = poCustomOpBlockchainSources; AllRuleSets = BreXmlReader.AllParsedRuleSets; this.RetrieveCurrRecord = AssembleCurrentProduct; }
public WonkaBreRulesEngine(StringBuilder psRules, IMetadataRetrievable piMetadataSource = null, bool pbAddToRegistry = false) { if ((psRules == null) || (psRules.Length <= 0)) { throw new WonkaBreException("ERROR! Provided rules are null or empty!"); } UsingOrchestrationMode = false; AddToRegistry = pbAddToRegistry; RefEnvHandle = Init(piMetadataSource); WonkaBreXmlReader BreXmlReader = new WonkaBreXmlReader(psRules, piMetadataSource, this); RuleTreeRoot = BreXmlReader.ParseRuleTree(); AllRuleSets = BreXmlReader.AllParsedRuleSets; }
public WonkaBreRulesEngine(string psRulesFilepath, IMetadataRetrievable piMetadataSource = null, bool pbAddToRegistry = false) { if (String.IsNullOrEmpty(psRulesFilepath)) { throw new WonkaBreException("ERROR! Provided rules file is null or empty!"); } if (!File.Exists(psRulesFilepath)) { throw new WonkaBreException("ERROR! Provided rules file(" + psRulesFilepath + ") does not exist on the filesystem."); } UsingOrchestrationMode = false; AddToRegistry = pbAddToRegistry; RefEnvHandle = Init(piMetadataSource); WonkaBreXmlReader BreXmlReader = new WonkaBreXmlReader(psRulesFilepath, piMetadataSource, this); RuleTreeRoot = BreXmlReader.ParseRuleTree(); AllRuleSets = BreXmlReader.AllParsedRuleSets; }
public WonkaBreRulesEngine(StringBuilder psRules, Dictionary <string, WonkaBreSource> poSourceMap, IMetadataRetrievable piMetadataSource = null, bool pbAddToRegistry = false) { if ((psRules == null) || (psRules.Length <= 0)) { throw new WonkaBreException("ERROR! Provided rules are null or empty!"); } UsingOrchestrationMode = true; AddToRegistry = pbAddToRegistry; RefEnvHandle = Init(piMetadataSource); WonkaBreXmlReader BreXmlReader = new WonkaBreXmlReader(psRules, piMetadataSource, this); RuleTreeRoot = BreXmlReader.ParseRuleTree(); SourceMap = poSourceMap; AllRuleSets = BreXmlReader.AllParsedRuleSets; this.RetrieveCurrRecord = AssembleCurrentProduct; }