public PolicyInjectionSettingsNode Build() { PolicyInjectionSettingsNode node = new PolicyInjectionSettingsNode(); InjectorCollectionNode injectorsNode = new InjectorCollectionNode(); PolicyCollectionNode collectionNode = new PolicyCollectionNode(); node.AddNode(injectorsNode); node.AddNode(collectionNode); foreach (InjectorData injectorData in settings.Injectors) { AddInjector(injectorData, injectorsNode); } foreach (PolicyData policyData in settings.Policies) { PolicyNode policyNode = new PolicyNode(policyData); AddMatchingRules(policyData, policyNode); AddHandlers(policyData, policyNode); collectionNode.AddNode(policyNode); } return(node); }
private void SetDefaultInjectorName() { InjectorCollectionNode injectorsNode = GetChildNode <InjectorCollectionNode>(node); if (injectorsNode != null) { if (injectorsNode.DefaultInjector != null) { settings.Injectors.DefaultInjector = injectorsNode.DefaultInjector.Name; } } }
private void AddInjector(InjectorData injectorData, InjectorCollectionNode injectorsNode) { ConfigurationNode injectorNode = NodeCreationService.CreateNodeByDataType(injectorData.GetType(), new object[] { injectorData }); if (injectorNode == null) { LogNodeMapError(injectorsNode, injectorData.GetType()); } else { injectorsNode.AddNode(injectorNode); } }