示例#1
0
        public void TestConvertSingleLanguage()
        {
            Guid languageId = Guid.NewGuid();
            PolicyLanguage englishPolicy = new PolicyLanguage(languageId, "en");
            englishPolicy[new Guid("{897EB1E3-AE92-4c51-8F71-2536A03F3E05}")] = "test";
            englishPolicy[new Guid("{18878EC1-3F94-4331-B660-C59ACEBC5D41}")] = "computer";
            englishPolicy[new Guid("{326C103E-6815-4720-AED5-82577F8CD068}")] = "commuter";
            englishPolicy[new Guid("{153AEE87-AD26-4003-947E-FCE9F9229DA0}")] = "oblivion";

            PolicyLanguageCache.Instance.AddLanguage(englishPolicy);

            NxLanguageStore nxLanguage = new NxLanguageStore(languageId);
            XmlDocument lang = nxLanguage.Languages;

            XmlNodeList nodes = lang.SelectNodes("/Languages/Language/PolicySetLanguage/*");

            Assert.AreEqual(4, nodes.Count);
            Assert.AreEqual("897EB1E3-AE92-4C51-8F71-2536A03F3E05", nodes[0].Attributes["id"].Value.ToUpper());
            Assert.AreEqual("test", nodes[0].Attributes["value"].Value);
            Assert.AreEqual("18878EC1-3F94-4331-B660-C59ACEBC5D41", nodes[1].Attributes["id"].Value.ToUpper());
            Assert.AreEqual("computer", nodes[1].Attributes["value"].Value);
            Assert.AreEqual("326C103E-6815-4720-AED5-82577F8CD068", nodes[2].Attributes["id"].Value.ToUpper());
            Assert.AreEqual("commuter", nodes[2].Attributes["value"].Value);
            Assert.AreEqual("153AEE87-AD26-4003-947E-FCE9F9229DA0", nodes[3].Attributes["id"].Value.ToUpper());
            Assert.AreEqual("oblivion", nodes[3].Attributes["value"].Value);
        }
示例#2
0
        public void Close()
        {
            List<ChannelType> channels = m_policysets.Channels;
            
            XmlNode policySetNode = m_PolicySetXml.CreateElement("PolicySet");
            
            foreach (ChannelType channelType in channels)
            {
                NxPolicySet set = m_policysets.GetPolicySetForChannel(channelType);
                NxObjectWriter pow = m_policysets.GetPolicyObjectWriterForChannel(channelType);
                
                XmlAttribute attrType = m_PolicySetXml.CreateAttribute("type");
                attrType.Value = channelType.ToString();

                XmlNode channelNode = m_PolicySetXml.CreateElement("Channel");
                channelNode.Attributes.Append(attrType);

                XmlNode setNode = set.Create();
                XmlNode rulesNode = m_PolicySetXml.CreateElement("Rules");
                rulesNode.AppendChild(m_PolicySetXml.ImportNode(setNode, true));
      
                XmlNode objectsNode = m_PolicySetXml.CreateElement("Objects");
                objectsNode.AppendChild(m_PolicySetXml.ImportNode(pow.Objects.FirstChild, true));

                channelNode.AppendChild(rulesNode);
                channelNode.AppendChild(objectsNode);

                policySetNode.AppendChild(channelNode);
            }

            NxLanguageStore nxLanguageStore = new NxLanguageStore(m_languageId);

            XmlNode languagesNode = m_PolicySetXml.CreateElement("Languages");

            XmlNodeList languageNodes = nxLanguageStore.Languages.SelectNodes("/Languages/*");

            foreach (XmlNode languageNode in languageNodes)
            {
                languagesNode.AppendChild(m_PolicySetXml.ImportNode(languageNode, true));
            }

            policySetNode.AppendChild(languagesNode);
            m_PolicySetXml.AppendChild(policySetNode);

            ProcessLanguageTables();
        }