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"]); }
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); }