public NxPolicySet(IPolicySet policySet, ChannelType channelType) { m_ChannelType = channelType; NxSet policies = new NxSet("Policies"); List<NxParameter> parameters = NxUtils.GetAttributes(policySet); parameters.Add(new NxParameter("Name", policySet)); policies.Append(new NxEvaluate("BeforePolicy", parameters)); policies.Append(new NxInvokeSet("C1C0D5EA-5B82-4607-AE41-D52739AA6AB1")); policies.Append(new NxEvaluate("AfterPolicy", parameters)); AppendSet(policies); }
public NxRoutingSet(IPolicyChannel channel, NxObjectWriter objectWriter, IResourceManager resourceManager) { m_objectWriter = objectWriter; m_policyChannel = channel; m_routingId = channel.Routing.Identifier.ToString(); m_routingSet = new NxSet(m_routingId); m_routingSet.Append(new NxComment("Online routing")); m_resourceManager = resourceManager; InitialiseObjectLookups(); }
public void WritePolicy(IPolicySet policySet, ICataloguePolicy cataloguePolicy) { NxParameter catalogueNameParam = new NxParameter("Name", cataloguePolicy); List<NxParameter> beforeRuleParams = NxUtils.GetAttributes(cataloguePolicy as IPolicy); beforeRuleParams.Add(catalogueNameParam); NxEvaluate b4Policy = new NxEvaluate("BeforeRule", beforeRuleParams); NxInvokeSet invokeSet = new NxInvokeSet(cataloguePolicy.Identifier.ToString()); NxEvaluate afterPolicy = new NxEvaluate("AfterRule", catalogueNameParam); foreach (NxPolicySet policyset in m_policysets.PolicySets) { NxSet rulesSet = policyset.GetPolicy(new Guid("{C1C0D5EA-5B82-4607-AE41-D52739AA6AB1}")); if (rulesSet == null) { rulesSet = new NxSet("C1C0D5EA-5B82-4607-AE41-D52739AA6AB1"); rulesSet.Append(b4Policy); rulesSet.Append(invokeSet); rulesSet.Append(afterPolicy); policyset.Policies.Add(rulesSet); } else { rulesSet.Append(b4Policy); rulesSet.Append(invokeSet); rulesSet.Append(afterPolicy); } policyset.Policies.Add(new NxSet(cataloguePolicy.Identifier.ToString())); } }