public void WellFormedConfiguration()
        {
            string xml =
                @"<nhs-configuration xmlns='urn:nhs-configuration-1.0'>
                      <search-factory>
                        <property name='hibernate.search.default.directory_provider'>NHibernate.Search.Storage.FSDirectoryProvider, NHibernate.Search</property>
		                    <property name='hibernate.search.default.indexBase'>/Index</property>
                      </search-factory>
                  </nhs-configuration>";

            XmlDocument cfgXml = new XmlDocument();

            cfgXml.LoadXml(xml);
            XmlTextReader       xtr           = new XmlTextReader(xml, XmlNodeType.Document, null);
            NHSConfigCollection cfgCollection = new NHSConfigCollection(xtr);

            Assert.AreEqual(1, cfgCollection.Count);

            INHSConfiguration cfg = cfgCollection.GetConfiguration("");

            Assert.AreEqual("", cfg.SessionFactoryName);
            Assert.AreEqual("/Index", cfg.Properties["hibernate.search.default.indexBase"]);
            Assert.AreEqual("NHibernate.Search.Storage.FSDirectoryProvider, NHibernate.Search",
                            cfg.Properties["hibernate.search.default.directory_provider"]);
        }
        public void WellFormedConfigurationWithTwoNamedSessionFactory()
        {
            string xml =
                @"<nhs-configuration xmlns='urn:nhs-configuration-1.0'>
                      <search-factory sessionFactoryName='NHibernate.Test'>
                        <property name='hibernate.search.default.directory_provider'>NHibernate.Search.Storage.FSDirectoryProvider, NHibernate.Search</property>
		                    <property name='hibernate.search.default.indexBase'>/Index</property>
                      </search-factory>
                      <search-factory sessionFactoryName='AnotherSessionFactory'>
                        <property name='hibernate.search.default.directory_provider'>NHibernate.Search.Storage.FSDirectoryProvider, NHibernate.Search</property>
		                    <property name='hibernate.search.default.indexBase'>/dev/null</property>
                      </search-factory>
                  </nhs-configuration>";

            XmlDocument cfgXml = new XmlDocument();

            cfgXml.LoadXml(xml);
            XmlTextReader       xtr           = new XmlTextReader(xml, XmlNodeType.Document, null);
            NHSConfigCollection cfgCollection = new NHSConfigCollection(xtr);

            Assert.AreEqual(2, cfgCollection.Count);

            INHSConfiguration firstCfg  = cfgCollection.GetConfiguration("NHibernate.Test");
            INHSConfiguration secondCfg = cfgCollection.GetConfiguration("AnotherSessionFactory");

            Assert.AreNotEqual(firstCfg.Properties["hibernate.search.default.indexBase"],
                               secondCfg.Properties["hibernate.search.default.indexBase"]);
        }
Ejemplo n.º 3
0
        public static void Configure(Configuration cfg)
        {
            if (configCollection == null)
            {
                configCollection = LoadConfiguration();
            }

            string sessionFactoryName = string.Empty;

            if (cfg.Properties.ContainsKey(NHibernate.Cfg.Environment.SessionFactoryName))
            {
                sessionFactoryName = cfg.Properties[NHibernate.Cfg.Environment.SessionFactoryName];
            }

            INHSConfiguration configuration = configCollection.GetConfiguration(sessionFactoryName);

            if (configuration == null)
            {
                return;
            }

            foreach (KeyValuePair <string, string> pair in configuration.Properties)
            {
                cfg.Properties.Add(pair.Key, pair.Value);
            }
        }
        public void IgnoreEmptyItems()
        {
            string xml =
                @"<nhs-configuration xmlns='urn:nhs-configuration-1.0'>
              <search-factory>
		            <property name='hibernate.search.default.directory_provider'></property>
		            <property name='hibernate.search.default.indexBase'></property>
              </search-factory>
          </nhs-configuration>";
            XmlDocument cfgXml = new XmlDocument();

            cfgXml.LoadXml(xml);
            XmlTextReader       xtr           = new XmlTextReader(xml, XmlNodeType.Document, null);
            NHSConfigCollection cfgCollection = new NHSConfigCollection(xtr);
            INHSConfiguration   cfg           = cfgCollection.GetConfiguration("");

            Assert.AreEqual(0, cfg.Properties.Count);
        }