From: <dar...@us...> - 2008-08-22 04:30:34
|
Revision: 3725 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=3725&view=rev Author: darioquintana Date: 2008-08-22 04:30:44 +0000 (Fri, 22 Aug 2008) Log Message: ----------- minor visibility changes in order to allow extend the classes. Same visibility than Hibernate. - private -> protected - protected internal -> public Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs trunk/nhibernate/src/NHibernate/Cfg/Mappings.cs Modified: trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs 2008-08-21 06:07:21 UTC (rev 3724) +++ trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs 2008-08-22 04:30:44 UTC (rev 3725) @@ -53,15 +53,15 @@ private string currentDocumentName; - private IDictionary<string, PersistentClass> classes; // entityName, PersistentClass - private IDictionary<string, string> imports; - private IDictionary<string, NHibernate.Mapping.Collection> collections; - private IDictionary<string, Table> tables; - private IDictionary<string, NamedQueryDefinition> namedQueries; - private IDictionary<string, NamedSQLQueryDefinition> namedSqlQueries; - private IDictionary<string, ResultSetMappingDefinition> sqlResultSetMappings; - private IList<SecondPassCommand> secondPasses; - private IList<Mappings.PropertyReference> propertyReferences; + protected IDictionary<string, PersistentClass> classes; // entityName, PersistentClass + protected IDictionary<string, string> imports; + protected IDictionary<string, NHibernate.Mapping.Collection> collections; + protected IDictionary<string, Table> tables; + protected IDictionary<string, NamedQueryDefinition> namedQueries; + protected IDictionary<string, NamedSQLQueryDefinition> namedSqlQueries; + protected IDictionary<string, ResultSetMappingDefinition> sqlResultSetMappings; + protected IList<SecondPassCommand> secondPasses; + private IList<Mappings.PropertyReference> propertyReferences; private IInterceptor interceptor; private IDictionary<string, string> properties; private IDictionary<string, FilterDefinition> filterDefinitions; Modified: trunk/nhibernate/src/NHibernate/Cfg/Mappings.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/Mappings.cs 2008-08-21 06:07:21 UTC (rev 3724) +++ trunk/nhibernate/src/NHibernate/Cfg/Mappings.cs 2008-08-22 04:30:44 UTC (rev 3725) @@ -18,14 +18,14 @@ #region Utility classes [Serializable] - protected internal class ColumnNames + public class ColumnNames { public readonly IDictionary<string, string> logicalToPhysical = new Dictionary<string, string>(); public readonly IDictionary<string, string> physicalToLogical = new Dictionary<string, string>(); } [Serializable] - protected internal class TableDescription + public class TableDescription { public readonly string logicalName; public readonly Table denormalizedSupertable; @@ -38,7 +38,7 @@ } [Serializable] - internal class PropertyReference + public class PropertyReference { public string referencedClass; public string propertyName; @@ -89,7 +89,7 @@ /// </summary> protected internal IDictionary<string, TableDescription> tableNameBinding; - internal Mappings( + protected internal Mappings( IDictionary<string, PersistentClass> classes, IDictionary<string, Mapping.Collection> collections, IDictionary<string, Table> tables, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2008-08-22 05:31:35
|
Revision: 3726 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=3726&view=rev Author: fabiomaulo Date: 2008-08-22 05:31:44 +0000 (Fri, 22 Aug 2008) Log Message: ----------- Minors change (indentation and some other visibility matters like H3.2.6) Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs trunk/nhibernate/src/NHibernate/Cfg/Mappings.cs Modified: trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs 2008-08-22 04:30:44 UTC (rev 3725) +++ trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs 2008-08-22 05:31:44 UTC (rev 3726) @@ -53,29 +53,29 @@ private string currentDocumentName; - protected IDictionary<string, PersistentClass> classes; // entityName, PersistentClass - protected IDictionary<string, string> imports; - protected IDictionary<string, NHibernate.Mapping.Collection> collections; - protected IDictionary<string, Table> tables; - protected IDictionary<string, NamedQueryDefinition> namedQueries; - protected IDictionary<string, NamedSQLQueryDefinition> namedSqlQueries; - protected IDictionary<string, ResultSetMappingDefinition> sqlResultSetMappings; - protected IList<SecondPassCommand> secondPasses; - private IList<Mappings.PropertyReference> propertyReferences; + protected IDictionary<string, PersistentClass> classes; // entityName, PersistentClass + protected IDictionary<string, string> imports; + protected IDictionary<string, NHibernate.Mapping.Collection> collections; + protected IDictionary<string, Table> tables; + protected IDictionary<string, NamedQueryDefinition> namedQueries; + protected IDictionary<string, NamedSQLQueryDefinition> namedSqlQueries; + protected IDictionary<string, ResultSetMappingDefinition> sqlResultSetMappings; + protected IList<SecondPassCommand> secondPasses; + protected IList<Mappings.PropertyReference> propertyReferences; private IInterceptor interceptor; private IDictionary<string, string> properties; - private IDictionary<string, FilterDefinition> filterDefinitions; - private IList<IAuxiliaryDatabaseObject> auxiliaryDatabaseObjects; - private IDictionary<string, ISQLFunction> sqlFunctions; + protected IDictionary<string, FilterDefinition> filterDefinitions; + protected IList<IAuxiliaryDatabaseObject> auxiliaryDatabaseObjects; + protected IDictionary<string, ISQLFunction> sqlFunctions; private INamingStrategy namingStrategy = DefaultNamingStrategy.Instance; private MappingsQueue mappingsQueue; private EventListeners eventListeners; - private IDictionary<string, TypeDef> typeDefs; - private ISet<ExtendsQueueEntry> extendsQueue; - private IDictionary<string, Mappings.TableDescription> tableNameBinding; - private IDictionary<Table, Mappings.ColumnNames> columnNameBindingPerTable; + protected IDictionary<string, TypeDef> typeDefs; + protected ISet<ExtendsQueueEntry> extendsQueue; + protected IDictionary<string, Mappings.TableDescription> tableNameBinding; + protected IDictionary<Table, Mappings.ColumnNames> columnNameBindingPerTable; private static readonly ILog log = LogManager.GetLogger(typeof(Configuration)); @@ -84,7 +84,7 @@ /// <summary> /// Clear the internal state of the <see cref="Configuration"/> object. /// </summary> - private void Reset() + protected void Reset() { classes = new Dictionary<string, PersistentClass>(); //new SequencedHashMap(); - to make NH-369 bug deterministic imports = new Dictionary<string, string>(); @@ -158,7 +158,7 @@ [NonSerialized] private IMapping mapping; - protected internal Configuration(SettingsFactory settingsFactory) + protected Configuration(SettingsFactory settingsFactory) { InitBlock(); this.settingsFactory = settingsFactory; @@ -233,10 +233,7 @@ /// <returns><see cref="NHibernate.Mapping.Collection" /></returns> public NHibernate.Mapping.Collection GetCollectionMapping(string role) { - if (collections.ContainsKey(role)) - return collections[role]; - else - return null; + return collections.ContainsKey(role) ? collections[role] : null; } /// <summary> @@ -706,7 +703,7 @@ { foreach (string line in lines) { - script.Add(line); + script.Add(line); } } } @@ -1669,106 +1666,106 @@ switch (type) { case ListenerType.Autoflush: - eventListeners.AutoFlushEventListeners = new IAutoFlushEventListener[] {}; + eventListeners.AutoFlushEventListeners = new IAutoFlushEventListener[] { }; break; case ListenerType.Merge: - eventListeners.MergeEventListeners = new IMergeEventListener[] {}; + eventListeners.MergeEventListeners = new IMergeEventListener[] { }; break; case ListenerType.Create: - eventListeners.PersistEventListeners = new IPersistEventListener[] {}; + eventListeners.PersistEventListeners = new IPersistEventListener[] { }; break; case ListenerType.CreateOnFlush: - eventListeners.PersistOnFlushEventListeners = new IPersistEventListener[] {}; + eventListeners.PersistOnFlushEventListeners = new IPersistEventListener[] { }; break; case ListenerType.Delete: - eventListeners.DeleteEventListeners = new IDeleteEventListener[] {}; + eventListeners.DeleteEventListeners = new IDeleteEventListener[] { }; break; case ListenerType.DirtyCheck: - eventListeners.DirtyCheckEventListeners = new IDirtyCheckEventListener[] {}; + eventListeners.DirtyCheckEventListeners = new IDirtyCheckEventListener[] { }; break; case ListenerType.Evict: - eventListeners.EvictEventListeners = new IEvictEventListener[] {}; + eventListeners.EvictEventListeners = new IEvictEventListener[] { }; break; case ListenerType.Flush: - eventListeners.FlushEventListeners = new IFlushEventListener[] {}; + eventListeners.FlushEventListeners = new IFlushEventListener[] { }; break; case ListenerType.FlushEntity: - eventListeners.FlushEntityEventListeners = new IFlushEntityEventListener[] {}; + eventListeners.FlushEntityEventListeners = new IFlushEntityEventListener[] { }; break; case ListenerType.Load: - eventListeners.LoadEventListeners = new ILoadEventListener[] {}; + eventListeners.LoadEventListeners = new ILoadEventListener[] { }; break; case ListenerType.LoadCollection: - eventListeners.InitializeCollectionEventListeners = new IInitializeCollectionEventListener[] {}; + eventListeners.InitializeCollectionEventListeners = new IInitializeCollectionEventListener[] { }; break; case ListenerType.Lock: - eventListeners.LockEventListeners = new ILockEventListener[] {}; + eventListeners.LockEventListeners = new ILockEventListener[] { }; break; case ListenerType.Refresh: - eventListeners.RefreshEventListeners = new IRefreshEventListener[] {}; + eventListeners.RefreshEventListeners = new IRefreshEventListener[] { }; break; case ListenerType.Replicate: - eventListeners.ReplicateEventListeners = new IReplicateEventListener[] {}; + eventListeners.ReplicateEventListeners = new IReplicateEventListener[] { }; break; case ListenerType.SaveUpdate: - eventListeners.SaveOrUpdateEventListeners = new ISaveOrUpdateEventListener[] {}; + eventListeners.SaveOrUpdateEventListeners = new ISaveOrUpdateEventListener[] { }; break; case ListenerType.Save: - eventListeners.SaveEventListeners = new ISaveOrUpdateEventListener[] {}; + eventListeners.SaveEventListeners = new ISaveOrUpdateEventListener[] { }; break; case ListenerType.PreUpdate: - eventListeners.PreUpdateEventListeners = new IPreUpdateEventListener[] {}; + eventListeners.PreUpdateEventListeners = new IPreUpdateEventListener[] { }; break; case ListenerType.Update: - eventListeners.UpdateEventListeners = new ISaveOrUpdateEventListener[] {}; + eventListeners.UpdateEventListeners = new ISaveOrUpdateEventListener[] { }; break; case ListenerType.PreLoad: - eventListeners.PreLoadEventListeners = new IPreLoadEventListener[] {}; + eventListeners.PreLoadEventListeners = new IPreLoadEventListener[] { }; break; case ListenerType.PreDelete: - eventListeners.PreDeleteEventListeners = new IPreDeleteEventListener[] {}; + eventListeners.PreDeleteEventListeners = new IPreDeleteEventListener[] { }; break; case ListenerType.PreInsert: - eventListeners.PreInsertEventListeners = new IPreInsertEventListener[] {}; + eventListeners.PreInsertEventListeners = new IPreInsertEventListener[] { }; break; case ListenerType.PostLoad: - eventListeners.PostLoadEventListeners = new IPostLoadEventListener[] {}; + eventListeners.PostLoadEventListeners = new IPostLoadEventListener[] { }; break; case ListenerType.PostInsert: - eventListeners.PostInsertEventListeners = new IPostInsertEventListener[] {}; + eventListeners.PostInsertEventListeners = new IPostInsertEventListener[] { }; break; case ListenerType.PostUpdate: - eventListeners.PostUpdateEventListeners = new IPostUpdateEventListener[] {}; + eventListeners.PostUpdateEventListeners = new IPostUpdateEventListener[] { }; break; case ListenerType.PostDelete: - eventListeners.PostDeleteEventListeners = new IPostDeleteEventListener[] {}; + eventListeners.PostDeleteEventListeners = new IPostDeleteEventListener[] { }; break; case ListenerType.PostCommitUpdate: - eventListeners.PostCommitUpdateEventListeners = new IPostUpdateEventListener[] {}; + eventListeners.PostCommitUpdateEventListeners = new IPostUpdateEventListener[] { }; break; case ListenerType.PostCommitInsert: - eventListeners.PostCommitInsertEventListeners = new IPostInsertEventListener[] {}; + eventListeners.PostCommitInsertEventListeners = new IPostInsertEventListener[] { }; break; case ListenerType.PostCommitDelete: - eventListeners.PostCommitDeleteEventListeners = new IPostDeleteEventListener[] {}; + eventListeners.PostCommitDeleteEventListeners = new IPostDeleteEventListener[] { }; break; case ListenerType.PreCollectionRecreate: - eventListeners.PreCollectionRecreateEventListeners = new IPreCollectionRecreateEventListener[] {}; + eventListeners.PreCollectionRecreateEventListeners = new IPreCollectionRecreateEventListener[] { }; break; case ListenerType.PreCollectionRemove: - eventListeners.PreCollectionRemoveEventListeners = new IPreCollectionRemoveEventListener[] {}; + eventListeners.PreCollectionRemoveEventListeners = new IPreCollectionRemoveEventListener[] { }; break; case ListenerType.PreCollectionUpdate: - eventListeners.PreCollectionUpdateEventListeners = new IPreCollectionUpdateEventListener[] {}; + eventListeners.PreCollectionUpdateEventListeners = new IPreCollectionUpdateEventListener[] { }; break; case ListenerType.PostCollectionRecreate: - eventListeners.PostCollectionRecreateEventListeners = new IPostCollectionRecreateEventListener[] {}; + eventListeners.PostCollectionRecreateEventListeners = new IPostCollectionRecreateEventListener[] { }; break; case ListenerType.PostCollectionRemove: - eventListeners.PostCollectionRemoveEventListeners = new IPostCollectionRemoveEventListener[] {}; + eventListeners.PostCollectionRemoveEventListeners = new IPostCollectionRemoveEventListener[] { }; break; case ListenerType.PostCollectionUpdate: - eventListeners.PostCollectionUpdateEventListeners = new IPostCollectionUpdateEventListener[] {}; + eventListeners.PostCollectionUpdateEventListeners = new IPostCollectionUpdateEventListener[] { }; break; default: log.Warn("Unrecognized listener type [" + type + "]"); Modified: trunk/nhibernate/src/NHibernate/Cfg/Mappings.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/Mappings.cs 2008-08-22 04:30:44 UTC (rev 3725) +++ trunk/nhibernate/src/NHibernate/Cfg/Mappings.cs 2008-08-22 05:31:44 UTC (rev 3726) @@ -18,14 +18,14 @@ #region Utility classes [Serializable] - public class ColumnNames + public class ColumnNames { public readonly IDictionary<string, string> logicalToPhysical = new Dictionary<string, string>(); public readonly IDictionary<string, string> physicalToLogical = new Dictionary<string, string>(); } [Serializable] - public class TableDescription + public class TableDescription { public readonly string logicalName; public readonly Table denormalizedSupertable; @@ -38,7 +38,7 @@ } [Serializable] - public class PropertyReference + public sealed class PropertyReference { public string referencedClass; public string propertyName; @@ -61,8 +61,8 @@ private string catalogName; private string defaultCascade; private string defaultNamespace; - private readonly Dialect.Dialect dialect; - private string defaultAssembly; + private readonly Dialect.Dialect dialect; + private string defaultAssembly; private string defaultAccess; private bool autoImport; private bool defaultLazy; @@ -108,7 +108,7 @@ IDictionary<Table, ColumnNames> columnNameBindingPerTable, string defaultAssembly, string defaultNamespace, - Dialect.Dialect dialect) + Dialect.Dialect dialect) { this.classes = classes; this.collections = collections; @@ -128,7 +128,7 @@ this.columnNameBindingPerTable = columnNameBindingPerTable; this.defaultAssembly = defaultAssembly; this.defaultNamespace = defaultNamespace; - this.dialect = dialect; + this.dialect = dialect; } /// <summary> @@ -245,7 +245,7 @@ string existing; imports.TryGetValue(rename, out existing); imports[rename] = className; - if(existing!=null) + if (existing != null) { if (existing.Equals(className)) { @@ -311,7 +311,7 @@ { //TODO possibly relax that throw new MappingException("Same physical table name reference several logical table names: " + physicalName - + " => " + "'" + oldDescriptor.logicalName + "' and '" + logicalName + "'"); + + " => " + "'" + oldDescriptor.logicalName + "' and '" + logicalName + "'"); } } @@ -454,7 +454,7 @@ public TypeDef GetTypeDef(string typeName) { - if(string.IsNullOrEmpty(typeName)) + if (string.IsNullOrEmpty(typeName)) return null; TypeDef result; typeDefs.TryGetValue(typeName, out result); @@ -476,13 +476,13 @@ binding.logicalToPhysical.TryGetValue(logicalName.ToLowerInvariant(), out oldFinalName); binding.logicalToPhysical[logicalName.ToLowerInvariant()] = finalColumn.GetQuotedName(); if (oldFinalName != null && - !(finalColumn.IsQuoted - ? oldFinalName.Equals(finalColumn.GetQuotedName()) - : oldFinalName.Equals(finalColumn.GetQuotedName(), StringComparison.InvariantCultureIgnoreCase))) + !(finalColumn.IsQuoted + ? oldFinalName.Equals(finalColumn.GetQuotedName()) + : oldFinalName.Equals(finalColumn.GetQuotedName(), StringComparison.InvariantCultureIgnoreCase))) { //TODO possibly relax that throw new MappingException("Same logical column name referenced by different physical ones: " + table.Name + "." - + logicalName + " => '" + oldFinalName + "' and '" + finalColumn.GetQuotedName() + "'"); + + logicalName + " => '" + oldFinalName + "' and '" + finalColumn.GetQuotedName() + "'"); } string oldLogicalName; @@ -492,7 +492,7 @@ { //TODO possibly relax that throw new MappingException("Same physical column represented by different logical column names: " + table.Name + "." - + finalColumn.GetQuotedName() + " => '" + oldLogicalName + "' and '" + logicalName + "'"); + + finalColumn.GetQuotedName() + " => '" + oldLogicalName + "' and '" + logicalName + "'"); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-06-23 23:23:35
|
Revision: 4522 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4522&view=rev Author: fabiomaulo Date: 2009-06-23 23:23:33 +0000 (Tue, 23 Jun 2009) Log Message: ----------- Refactoring in order to use minimal required interface Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs trunk/nhibernate/src/NHibernate/Cfg/ISessionFactoryConfiguration.cs Modified: trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs 2009-06-23 20:40:40 UTC (rev 4521) +++ trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs 2009-06-23 23:23:33 UTC (rev 4522) @@ -1229,9 +1229,9 @@ return PropertiesHelper.GetString(name, properties, null); } - private void AddProperties(IHibernateConfiguration hc) + private void AddProperties(ISessionFactoryConfiguration factoryConfiguration) { - foreach (var kvp in hc.SessionFactory.Properties) + foreach (var kvp in factoryConfiguration.Properties) { if (log.IsDebugEnabled) { @@ -1262,7 +1262,7 @@ var hc = ConfigurationManager.GetSection(CfgXmlHelper.CfgSectionName) as IHibernateConfiguration; if (hc != null && hc.SessionFactory != null) { - return DoConfigure(hc); + return DoConfigure(hc.SessionFactory); } else { @@ -1368,7 +1368,7 @@ try { IHibernateConfiguration hc = new HibernateConfiguration(textReader); - return DoConfigure(hc); + return DoConfigure(hc.SessionFactory); } catch (Exception e) { @@ -1379,17 +1379,17 @@ // Not ported - configure(org.w3c.dom.Document) - protected Configuration DoConfigure(IHibernateConfiguration hc) + protected Configuration DoConfigure(ISessionFactoryConfiguration factoryConfiguration) { - if (!string.IsNullOrEmpty(hc.SessionFactory.Name)) + if (!string.IsNullOrEmpty(factoryConfiguration.Name)) { - properties[Environment.SessionFactoryName] = hc.SessionFactory.Name; + properties[Environment.SessionFactoryName] = factoryConfiguration.Name; } - AddProperties(hc); + AddProperties(factoryConfiguration); // Load mappings - foreach (var mc in hc.SessionFactory.Mappings) + foreach (var mc in factoryConfiguration.Mappings) { if (mc.IsEmpty()) { @@ -1397,23 +1397,23 @@ } if (!string.IsNullOrEmpty(mc.Resource) && !string.IsNullOrEmpty(mc.Assembly)) { - log.Debug(hc.SessionFactory.Name + "<-" + mc.Resource + " in " + mc.Assembly); + log.Debug(factoryConfiguration.Name + "<-" + mc.Resource + " in " + mc.Assembly); AddResource(mc.Resource, Assembly.Load(mc.Assembly)); } else if (!string.IsNullOrEmpty(mc.Assembly)) { - log.Debug(hc.SessionFactory.Name + "<-" + mc.Assembly); + log.Debug(factoryConfiguration.Name + "<-" + mc.Assembly); AddAssembly(mc.Assembly); } else if (!string.IsNullOrEmpty(mc.File)) { - log.Debug(hc.SessionFactory.Name + "<-" + mc.File); + log.Debug(factoryConfiguration.Name + "<-" + mc.File); AddFile(mc.File); } } // Load class-cache - foreach (var ccc in hc.SessionFactory.ClassesCache) + foreach (var ccc in factoryConfiguration.ClassesCache) { string region = string.IsNullOrEmpty(ccc.Region) ? ccc.Class : ccc.Region; bool includeLazy = (ccc.Include != ClassCacheInclude.NonLazy); @@ -1421,7 +1421,7 @@ } // Load collection-cache - foreach (var ccc in hc.SessionFactory.CollectionsCache) + foreach (var ccc in factoryConfiguration.CollectionsCache) { string role = ccc.Collection; NHibernate.Mapping.Collection collection = GetCollectionMapping(role); @@ -1436,7 +1436,7 @@ } // Events - foreach (var ec in hc.SessionFactory.Events) + foreach (var ec in factoryConfiguration.Events) { var listenerClasses = new string[ec.Listeners.Count]; for (int i = 0; i < ec.Listeners.Count; i++) @@ -1447,15 +1447,15 @@ SetListeners(ec.Type, listenerClasses); } // Listeners - foreach (var lc in hc.SessionFactory.Listeners) + foreach (var lc in factoryConfiguration.Listeners) { log.Debug("Event listener: " + lc.Type + "=" + lc.Class); SetListeners(lc.Type, new[] {lc.Class}); } - if (!string.IsNullOrEmpty(hc.SessionFactory.Name)) + if (!string.IsNullOrEmpty(factoryConfiguration.Name)) { - log.Info("Configured SessionFactory: " + hc.SessionFactory.Name); + log.Info("Configured SessionFactory: " + factoryConfiguration.Name); } log.Debug("properties: " + properties); Modified: trunk/nhibernate/src/NHibernate/Cfg/ISessionFactoryConfiguration.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/ISessionFactoryConfiguration.cs 2009-06-23 20:40:40 UTC (rev 4521) +++ trunk/nhibernate/src/NHibernate/Cfg/ISessionFactoryConfiguration.cs 2009-06-23 23:23:33 UTC (rev 4522) @@ -3,7 +3,8 @@ namespace NHibernate.Cfg { - public interface ISessionFactoryConfiguration { + public interface ISessionFactoryConfiguration + { /// <summary> /// The session factory name. /// </summary> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-11-28 12:30:19
|
Revision: 4863 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4863&view=rev Author: fabiomaulo Date: 2009-11-28 12:30:08 +0000 (Sat, 28 Nov 2009) Log Message: ----------- Binders refactoring (the main binders working only with deserialized obj) Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs Modified: trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs 2009-11-28 12:00:44 UTC (rev 4862) +++ trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs 2009-11-28 12:30:08 UTC (rev 4863) @@ -8,11 +8,13 @@ using System.Text; using System.Xml; using System.Xml.Schema; +using System.Xml.Serialization; using Iesi.Collections; using Iesi.Collections.Generic; using log4net; using NHibernate.Bytecode; using NHibernate.Cfg.ConfigurationSchema; +using NHibernate.Cfg.MappingSchema; using NHibernate.Cfg.XmlHbmBinding; using NHibernate.Dialect; using NHibernate.Dialect.Function; @@ -507,7 +509,15 @@ Dialect.Dialect dialect = Dialect.Dialect.GetDialect(properties); Mappings mappings = CreateMappings(dialect); - new MappingRootBinder(mappings, namespaceManager, dialect).Bind(doc.Document.DocumentElement); + // TODO : The mappingMeta should be the property of NamedXmlDocument + // A validated document IS a deserialized doc and we don't need to deserialize it more than one time. + HbmMapping mappingMeta; + using (var reader = new StringReader(doc.Document.DocumentElement.OuterXml)) + { + mappingMeta= (HbmMapping) new XmlSerializer(typeof (HbmMapping)).Deserialize(reader); + } + + new MappingRootBinder(mappings, namespaceManager, dialect).Bind(mappingMeta); } catch (Exception e) { Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs 2009-11-28 12:00:44 UTC (rev 4862) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs 2009-11-28 12:30:08 UTC (rev 4863) @@ -22,10 +22,9 @@ this.dialect = dialect; } - public void Bind(XmlNode node) + public void Bind(HbmMapping mappingSchema) { IDictionary<string, MetaAttribute> inheritedMetas = EmptyMeta; - var mappingSchema = Deserialize<HbmMapping>(node); // get meta's from <hibernate-mapping> inheritedMetas = GetMetas(mappingSchema, inheritedMetas, true); @@ -33,7 +32,7 @@ AddFilterDefinitions(mappingSchema); AddTypeDefs(mappingSchema); - AddEntitiesMappings(node, mappingSchema, inheritedMetas); + AddEntitiesMappings(mappingSchema, inheritedMetas); AddQueries(mappingSchema); AddSqlQueries(mappingSchema); @@ -42,7 +41,7 @@ AddResultSetMappingDefinitions(mappingSchema); } - private void AddEntitiesMappings(XmlNode node, HbmMapping mappingSchema, IDictionary<string, MetaAttribute> inheritedMetas) + private void AddEntitiesMappings(HbmMapping mappingSchema, IDictionary<string, MetaAttribute> inheritedMetas) { foreach (var rootClass in mappingSchema.RootClasses) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-11-28 12:58:08
|
Revision: 4865 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4865&view=rev Author: fabiomaulo Date: 2009-11-28 12:57:59 +0000 (Sat, 28 Nov 2009) Log Message: ----------- Binders refactoring Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmMapping.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs Modified: trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmMapping.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmMapping.cs 2009-11-28 12:32:05 UTC (rev 4864) +++ trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmMapping.cs 2009-11-28 12:57:59 UTC (rev 4865) @@ -38,5 +38,15 @@ { get { return Items != null ? Items.OfType<HbmUnionSubclass>().ToArray(): new HbmUnionSubclass[0]; } } + + public HbmQuery[] HqlQueries + { + get { return Items1 != null ? Items1.OfType<HbmQuery>().ToArray() : new HbmQuery[0]; } + } + + public HbmSqlQuery[] SqlQueries + { + get { return Items1 != null ? Items1.OfType<HbmSqlQuery>().ToArray() : new HbmSqlQuery[0]; } + } } } \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs 2009-11-28 12:32:05 UTC (rev 4864) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs 2009-11-28 12:57:59 UTC (rev 4865) @@ -112,31 +112,13 @@ private void AddQueries(HbmMapping mappingSchema) { var binder = new NamedQueryBinder(this); - - foreach (object item in mappingSchema.Items1 ?? new object[0]) - { - var querySchema = item as HbmQuery; - - if (querySchema != null) - { - binder.AddQuery(querySchema); - } - } + System.Array.ForEach(mappingSchema.HqlQueries, binder.AddQuery); } private void AddSqlQueries(HbmMapping mappingSchema) { var binder = new NamedSQLQueryBinder(this); - - foreach (object item in mappingSchema.Items1 ?? new object[0]) - { - var sqlQuerySchema = item as HbmSqlQuery; - - if (sqlQuerySchema != null) - { - binder.AddSqlQuery(sqlQuerySchema); - } - } + System.Array.ForEach(mappingSchema.SqlQueries, binder.AddSqlQuery); } public void AddImports(HbmMapping mappingSchema) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-11-28 13:15:12
|
Revision: 4866 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4866&view=rev Author: fabiomaulo Date: 2009-11-28 13:15:02 +0000 (Sat, 28 Nov 2009) Log Message: ----------- Binders refactoring (explicit properties in HbmMapping) Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/AbstractDecoratable.cs trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmClass.cs trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmMapping.cs trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmTimestamp.cs trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmVersion.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs Modified: trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/AbstractDecoratable.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/AbstractDecoratable.cs 2009-11-28 12:57:59 UTC (rev 4865) +++ trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/AbstractDecoratable.cs 2009-11-28 13:15:02 UTC (rev 4866) @@ -26,7 +26,7 @@ { if (mappedMetaData == null) { - CreateMappedMetadata(GetMetadataField()); + CreateMappedMetadata(Metadatas); } return mappedMetaData; } @@ -39,7 +39,7 @@ { if (mappedMetaData == null) { - CreateMappedMetadata(GetMetadataField()); + CreateMappedMetadata(Metadatas); } return inheritableMetaData; } @@ -75,6 +75,6 @@ } } - protected abstract HbmMeta[] GetMetadataField(); + protected abstract HbmMeta[] Metadatas { get; } } } \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmClass.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmClass.cs 2009-11-28 12:57:59 UTC (rev 4865) +++ trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmClass.cs 2009-11-28 13:15:02 UTC (rev 4866) @@ -24,9 +24,9 @@ get { return Item1 as HbmTimestamp; } } - protected override HbmMeta[] GetMetadataField() + protected override HbmMeta[] Metadatas { - return meta; + get { return meta ?? new HbmMeta[0]; } } } } \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmMapping.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmMapping.cs 2009-11-28 12:57:59 UTC (rev 4865) +++ trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmMapping.cs 2009-11-28 13:15:02 UTC (rev 4866) @@ -4,21 +4,36 @@ { partial class HbmMapping : AbstractDecoratable { - public HbmDatabaseObject[] ListDatabaseObjects() + public HbmDatabaseObject[] DatabaseObjects { - return databaseobject ?? new HbmDatabaseObject[0]; + get { return databaseobject ?? new HbmDatabaseObject[0]; } } - public HbmFilterDef[] ListFilterDefs() + public HbmFilterDef[] FilterDefinitions { - return filterdef ?? new HbmFilterDef[0]; + get { return filterdef ?? new HbmFilterDef[0]; } } - protected override HbmMeta[] GetMetadataField() + public HbmResultSet[] ResultSets { - return meta; + get { return resultset ?? new HbmResultSet[0]; } } + public HbmTypedef[] TypeDefinitions + { + get { return typedef ?? new HbmTypedef[0]; } + } + + public HbmImport[] Imports + { + get { return import ?? new HbmImport[0]; } + } + + protected override HbmMeta[] Metadatas + { + get { return meta ?? new HbmMeta[0]; } + } + public HbmClass[] RootClasses { get { return Items != null ? Items.OfType<HbmClass>().ToArray():new HbmClass[0]; } Modified: trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmTimestamp.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmTimestamp.cs 2009-11-28 12:57:59 UTC (rev 4865) +++ trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmTimestamp.cs 2009-11-28 13:15:02 UTC (rev 4866) @@ -2,9 +2,9 @@ { partial class HbmTimestamp : AbstractDecoratable { - protected override HbmMeta[] GetMetadataField() + protected override HbmMeta[] Metadatas { - return meta; + get { return meta ?? new HbmMeta[0]; } } } } \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmVersion.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmVersion.cs 2009-11-28 12:57:59 UTC (rev 4865) +++ trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmVersion.cs 2009-11-28 13:15:02 UTC (rev 4866) @@ -2,9 +2,9 @@ { partial class HbmVersion : AbstractDecoratable { - protected override HbmMeta[] GetMetadataField() + protected override HbmMeta[] Metadatas { - return meta; + get { return meta ?? new HbmMeta[0]; } } } } \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs 2009-11-28 12:57:59 UTC (rev 4865) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs 2009-11-28 13:15:02 UTC (rev 4866) @@ -72,7 +72,7 @@ private void AddFilterDefinitions(HbmMapping mappingSchema) { - foreach (HbmFilterDef filterDefSchema in mappingSchema.ListFilterDefs()) + foreach (HbmFilterDef filterDefSchema in mappingSchema.FilterDefinitions) { FilterDefinition definition = FilterDefinitionFactory.CreateFilterDefinition(filterDefSchema); mappings.AddFilterDefinition(definition); @@ -123,7 +123,7 @@ public void AddImports(HbmMapping mappingSchema) { - foreach (HbmImport importSchema in mappingSchema.import ?? new HbmImport[0]) + foreach (HbmImport importSchema in mappingSchema.Imports) { string fullClassName = FullQualifiedClassName(importSchema.@class, mappings); string rename = importSchema.rename ?? StringHelper.GetClassname(fullClassName); @@ -135,7 +135,7 @@ public void AddTypeDefs(HbmMapping mappingSchema) { - foreach (HbmTypedef typedef in mappingSchema.typedef ?? new HbmTypedef[0]) + foreach (HbmTypedef typedef in mappingSchema.TypeDefinitions) { string typeClass = FullQualifiedClassName(typedef.@class, mappings); string typeName = typedef.name; @@ -151,7 +151,7 @@ private void AddAuxiliaryDatabaseObjects(HbmMapping mappingSchema) { - foreach (HbmDatabaseObject objectSchema in mappingSchema.ListDatabaseObjects()) + foreach (HbmDatabaseObject objectSchema in mappingSchema.DatabaseObjects) { IAuxiliaryDatabaseObject dbObject = AuxiliaryDatabaseObjectFactory.Create(mappings, objectSchema); mappings.AddAuxiliaryDatabaseObject(dbObject); @@ -162,7 +162,7 @@ { var binder = new ResultSetMappingBinder(this); - foreach (HbmResultSet resultSetSchema in mappingSchema.resultset ?? new HbmResultSet[0]) + foreach (HbmResultSet resultSetSchema in mappingSchema.ResultSets) { // Do not inline this variable or the anonymous method will not work correctly. HbmResultSet tempResultSetSchema = resultSetSchema; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-11-28 14:04:51
|
Revision: 4867 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4867&view=rev Author: fabiomaulo Date: 2009-11-28 14:04:43 +0000 (Sat, 28 Nov 2009) Log Message: ----------- - Binders refactoring - new advanced feature : see Configuration.AddDeserializedMapping Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Cfg/ClassExtractor.cs trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/Binder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/CollectionBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs Modified: trunk/nhibernate/src/NHibernate/Cfg/ClassExtractor.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/ClassExtractor.cs 2009-11-28 13:15:02 UTC (rev 4866) +++ trunk/nhibernate/src/NHibernate/Cfg/ClassExtractor.cs 2009-11-28 14:04:43 UTC (rev 4867) @@ -1,4 +1,5 @@ using System.Xml; +using NHibernate.Cfg.XmlHbmBinding; using NHibernate.Util; using System.Collections.Generic; using Iesi.Collections.Generic; @@ -92,7 +93,7 @@ // TODO this should be extracted into a utility method since there's similar // code in Configuration XmlNamespaceManager nsmgr = new XmlNamespaceManager(document.NameTable); - nsmgr.AddNamespace(HbmConstants.nsPrefix, Configuration.MappingSchemaXMLNS); + nsmgr.AddNamespace(HbmConstants.nsPrefix, Binder.MappingSchemaXMLNS); // Since the document is validated, no error checking is done in this method. HashedSet<ClassEntry> classEntries = new HashedSet<ClassEntry>(); Modified: trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs 2009-11-28 13:15:02 UTC (rev 4866) +++ trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs 2009-11-28 14:04:43 UTC (rev 4867) @@ -51,9 +51,6 @@ [Serializable] public class Configuration:ISerializable { - /// <summary>The XML Namespace for the nhibernate-mapping</summary> - public const string MappingSchemaXMLNS = "urn:nhibernate-mapping-2.2"; - /// <summary>Default name for hibernate configuration file.</summary> public const string DefaultHibernateCfgFileName = "hibernate.cfg.xml"; @@ -497,36 +494,52 @@ /// <param name="doc">The NamedXmlDocument that contains the <b>validated</b> mapping XML file.</param> private void AddValidatedDocument(NamedXmlDocument doc) { + HbmMapping mappingMeta = null; try { - // note that the prefix has absolutely nothing to do with what the user - // selects as their prefix in the document. It is the prefix we use to - // build the XPath and the nsmgr takes care of translating our prefix into - // the user defined prefix... - var namespaceManager = new XmlNamespaceManager(doc.Document.NameTable); - namespaceManager.AddNamespace(HbmConstants.nsPrefix, MappingSchemaXMLNS); - - Dialect.Dialect dialect = Dialect.Dialect.GetDialect(properties); - Mappings mappings = CreateMappings(dialect); - // TODO : The mappingMeta should be the property of NamedXmlDocument // A validated document IS a deserialized doc and we don't need to deserialize it more than one time. - HbmMapping mappingMeta; using (var reader = new StringReader(doc.Document.DocumentElement.OuterXml)) { - mappingMeta= (HbmMapping) new XmlSerializer(typeof (HbmMapping)).Deserialize(reader); + mappingMeta = (HbmMapping) new XmlSerializer(typeof (HbmMapping)).Deserialize(reader); } - - new MappingRootBinder(mappings, namespaceManager, dialect).Bind(mappingMeta); } catch (Exception e) { string nameFormatted = doc.Name ?? "(unknown)"; LogAndThrow(new MappingException("Could not compile the mapping document: " + nameFormatted, e)); } + AddDeserializedMapping(mappingMeta, doc.Name); } /// <summary> + /// Add mapping data using deserialized class. + /// </summary> + /// <param name="mappingDocument">Mapping metadata.</param> + /// <param name="documentFileName">XML file's name where available; otherwise null.</param> + public void AddDeserializedMapping(HbmMapping mappingDocument, string documentFileName) + { + if (mappingDocument == null) + { + throw new ArgumentNullException("mappingDocument"); + } + try + { + Dialect.Dialect dialect = Dialect.Dialect.GetDialect(properties); + Mappings mappings = CreateMappings(dialect); + + new MappingRootBinder(mappings, dialect).Bind(mappingDocument); + } + catch (Exception e) + { + var message = documentFileName == null + ? "Could not compile deserialized mapping document." + : "Could not compile the mapping document: " + documentFileName; + LogAndThrow(new MappingException(message, e)); + } + } + + /// <summary> /// Create a new <see cref="Mappings" /> to add classes and collection /// mappings to. /// </summary> Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/Binder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/Binder.cs 2009-11-28 13:15:02 UTC (rev 4866) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/Binder.cs 2009-11-28 14:04:43 UTC (rev 4867) @@ -15,6 +15,9 @@ { public abstract class Binder { + /// <summary>The XML Namespace for the nhibernate-mapping</summary> + public const string MappingSchemaXMLNS = "urn:nhibernate-mapping-2.2"; + protected static readonly ILog log = LogManager.GetLogger(typeof (Binder)); protected static readonly IDictionary<string, MetaAttribute> EmptyMeta = @@ -155,6 +158,13 @@ { var hbmDocument = new XmlDocument(); hbmDocument.Load(reader); + // note that the prefix has absolutely nothing to do with what the user + // selects as their prefix in the document. It is the prefix we use to + // build the XPath and the nsmgr takes care of translating our prefix into + // the user defined prefix... + var namespaceManager = new XmlNamespaceManager(hbmDocument.NameTable); + namespaceManager.AddNamespace(HbmConstants.nsPrefix, MappingSchemaXMLNS); + return hbmDocument.DocumentElement; } } Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs 2009-11-28 13:15:02 UTC (rev 4866) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs 2009-11-28 14:04:43 UTC (rev 4867) @@ -44,7 +44,7 @@ foreach (XmlNode subnode in node.ChildNodes) { //I am only concerned with elements that are from the nhibernate namespace - if (subnode.NamespaceURI != Configuration.MappingSchemaXMLNS) + if (subnode.NamespaceURI != MappingSchemaXMLNS) continue; string name = subnode.LocalName; //.Name; @@ -346,7 +346,7 @@ foreach (XmlNode subnode in node.ChildNodes) { //I am only concerned with elements that are from the nhibernate namespace - if (subnode.NamespaceURI != Configuration.MappingSchemaXMLNS) + if (subnode.NamespaceURI != MappingSchemaXMLNS) continue; string name = subnode.Name; @@ -593,7 +593,7 @@ foreach (XmlNode subnode in node.ChildNodes) { //I am only concerned with elements that are from the nhibernate namespace - if (subnode.NamespaceURI != Configuration.MappingSchemaXMLNS) + if (subnode.NamespaceURI != MappingSchemaXMLNS) continue; string name = subnode.LocalName; //.Name; Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/CollectionBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/CollectionBinder.cs 2009-11-28 13:15:02 UTC (rev 4866) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/CollectionBinder.cs 2009-11-28 14:04:43 UTC (rev 4867) @@ -299,7 +299,7 @@ string name = subnode.LocalName; //.Name; //I am only concerned with elements that are from the nhibernate namespace - if (subnode.NamespaceURI != Configuration.MappingSchemaXMLNS) + if (subnode.NamespaceURI != MappingSchemaXMLNS) continue; switch (name) @@ -500,7 +500,7 @@ foreach (XmlNode subnode in node.ChildNodes) { //I am only concerned with elements that are from the nhibernate namespace - if (subnode.NamespaceURI != Configuration.MappingSchemaXMLNS) + if (subnode.NamespaceURI != MappingSchemaXMLNS) continue; string name = subnode.LocalName; //.Name; @@ -563,7 +563,7 @@ foreach (XmlNode subnode in node.ChildNodes) { //I am only concerned with elements that are from the nhibernate namespace - if (subnode.NamespaceURI != Configuration.MappingSchemaXMLNS) + if (subnode.NamespaceURI != MappingSchemaXMLNS) continue; string name = subnode.LocalName; //.Name; Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs 2009-11-28 13:15:02 UTC (rev 4866) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs 2009-11-28 14:04:43 UTC (rev 4867) @@ -10,12 +10,10 @@ public class MappingRootBinder : Binder { private readonly Dialect.Dialect dialect; - private readonly XmlNamespaceManager namespaceManager; - public MappingRootBinder(Mappings mappings, XmlNamespaceManager namespaceManager, Dialect.Dialect dialect) + public MappingRootBinder(Mappings mappings, Dialect.Dialect dialect) : base(mappings) { - this.namespaceManager = namespaceManager; this.dialect = dialect; } @@ -81,15 +79,26 @@ private void AddRootClasses(XmlNode parentNode, HbmClass rootClass, IDictionary<string, MetaAttribute> inheritedMetas) { - var binder = new RootClassBinder(this, namespaceManager, dialect); + var binder = new RootClassBinder(this, GetNamespaceManager(parentNode), dialect); binder.Bind(parentNode, rootClass, inheritedMetas); } + private XmlNamespaceManager GetNamespaceManager(XmlNode parentNode) + { + // note that the prefix has absolutely nothing to do with what the user + // selects as their prefix in the document. It is the prefix we use to + // build the XPath and the nsmgr takes care of translating our prefix into + // the user defined prefix... + var namespaceManager = new XmlNamespaceManager(parentNode.OwnerDocument.NameTable); + namespaceManager.AddNamespace(HbmConstants.nsPrefix, MappingSchemaXMLNS); + return namespaceManager; + } + private void AddUnionSubclasses(XmlNode parentNode, HbmUnionSubclass unionSubclass, IDictionary<string, MetaAttribute> inheritedMetas) { - var binder = new UnionSubclassBinder(this, namespaceManager, dialect); + var binder = new UnionSubclassBinder(this, GetNamespaceManager(parentNode), dialect); binder.Bind(parentNode, inheritedMetas); } @@ -97,14 +106,14 @@ private void AddJoinedSubclasses(XmlNode parentNode, HbmJoinedSubclass joinedSubclass, IDictionary<string, MetaAttribute> inheritedMetas) { - var binder = new JoinedSubclassBinder(this, namespaceManager, dialect); + var binder = new JoinedSubclassBinder(this, GetNamespaceManager(parentNode), dialect); binder.Bind(parentNode, inheritedMetas); } private void AddSubclasses(XmlNode parentNode, HbmSubclass subClass, IDictionary<string, MetaAttribute> inheritedMetas) { - var binder = new SubclassBinder(this, namespaceManager, dialect); + var binder = new SubclassBinder(this, GetNamespaceManager(parentNode), dialect); binder.Bind(parentNode, inheritedMetas); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-12-01 15:44:23
|
Revision: 4882 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4882&view=rev Author: fabiomaulo Date: 2009-12-01 15:44:13 +0000 (Tue, 01 Dec 2009) Log Message: ----------- binders refactoring -removed duplicated code Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmTimestamp.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs Modified: trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmTimestamp.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmTimestamp.cs 2009-12-01 14:26:29 UTC (rev 4881) +++ trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmTimestamp.cs 2009-12-01 15:44:13 UTC (rev 4882) @@ -1,10 +1,35 @@ +using System; +using System.Collections.Generic; + namespace NHibernate.Cfg.MappingSchema { - partial class HbmTimestamp : AbstractDecoratable + partial class HbmTimestamp : AbstractDecoratable, IColumnsMapping { protected override HbmMeta[] Metadatas { get { return meta ?? new HbmMeta[0]; } } + + #region Implementation of IColumnsMapping + + public IEnumerable<HbmColumn> Columns + { + get + { + if (string.IsNullOrEmpty(column)) + { + yield break; + } + else + { + yield return new HbmColumn + { + name = column, + }; + } + } + } + + #endregion } } \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs 2009-12-01 14:26:29 UTC (rev 4881) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs 2009-12-01 15:44:13 UTC (rev 4882) @@ -16,7 +16,7 @@ public void Bind(HbmClass classSchema, IDictionary<string, MetaAttribute> inheritedMetas) { - RootClass rootClass = new RootClass(); + var rootClass = new RootClass(); BindClass(classSchema, rootClass, inheritedMetas); // OPTIMISTIC LOCK MODE rootClass.OptimisticLockMode = classSchema.optimisticlock.ToOptimisticLock(); @@ -104,10 +104,12 @@ return; string propertyName = timestampSchema.name; - SimpleValue simpleValue = new SimpleValue(table); + var simpleValue = new SimpleValue(table); + new ColumnsBinder(simpleValue, Mappings).Bind(timestampSchema.Columns, false, + () => + new HbmColumn + {name = mappings.NamingStrategy.PropertyToColumnName(propertyName)}); - BindColumns(timestampSchema, simpleValue, propertyName); - if (!simpleValue.IsTypeSpecified) { switch (timestampSchema.source) @@ -138,42 +140,6 @@ rootClass.AddProperty(property); } - private void BindColumns(HbmTimestamp timestampSchema, SimpleValue model, string propertyPath) - { - Table table = model.Table; - - if (timestampSchema.column != null) - { - Column col = new Column(); - col.Value = model; - BindColumn(col, false); - col.Name = mappings.NamingStrategy.ColumnName(timestampSchema.column); - - if (table != null) - table.AddColumn(col); - - model.AddColumn(col); - } - - if (model.ColumnSpan == 0) - { - Column col = new Column(); - col.Value = model; - BindColumn(col, false); - col.Name = mappings.NamingStrategy.PropertyToColumnName(propertyPath); - model.Table.AddColumn(col); - model.AddColumn(col); - } - } - - private static void BindColumn(Column column, bool isNullable) - { - column.IsNullable = isNullable; - column.IsUnique = false; - column.CheckConstraint = string.Empty; - column.SqlType = null; - } - private void BindProperty(HbmTimestamp timestampSchema, Property property, IDictionary<string, MetaAttribute> inheritedMetas) { property.Name = timestampSchema.name; @@ -230,9 +196,13 @@ return; string propertyName = versionSchema.name; - SimpleValue simpleValue = new SimpleValue(table); + var simpleValue = new SimpleValue(table); BindVersionType(versionSchema.type, simpleValue); - BindColumns(versionSchema, simpleValue, false, propertyName); + new ColumnsBinder(simpleValue, Mappings).Bind(versionSchema.Columns, false, + () => + new HbmColumn + {name = mappings.NamingStrategy.PropertyToColumnName(propertyName)}); + if (!simpleValue.IsTypeSpecified) simpleValue.TypeName = NHibernateUtil.Int32.Name; @@ -258,43 +228,6 @@ BindTypeDef(versionTypeName, versionTypeName, new Dictionary<string, string>(), simpleValue); } - private void BindColumns(HbmVersion versionSchema, SimpleValue model, bool isNullable, string propertyPath) - { - Table table = model.Table; - if (versionSchema.column1 != null) - { - var col = new Column {Value = model}; - BindColumn(col, isNullable); - col.Name = mappings.NamingStrategy.ColumnName(versionSchema.column1); - - if (table != null) - table.AddColumn(col); - - model.AddColumn(col); - } - else if (versionSchema.column != null) - { - foreach (HbmColumn hbmColumn in versionSchema.column) - { - var col = new Column {Value = model}; - BindColumn(hbmColumn, col, isNullable); - if (table != null) - table.AddColumn(col); - - model.AddColumn(col); - } - } - - if (model.ColumnSpan == 0) - { - var col = new Column {Value = model}; - BindColumn(col, isNullable); - col.Name = mappings.NamingStrategy.PropertyToColumnName(propertyPath); - model.Table.AddColumn(col); - model.AddColumn(col); - } - } - private void BindProperty(HbmVersion versionSchema, Property property, IDictionary<string, MetaAttribute> inheritedMetas) { property.Name = versionSchema.name; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2009-12-01 16:32:18
|
Revision: 4883 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4883&view=rev Author: fabiomaulo Date: 2009-12-01 16:31:59 +0000 (Tue, 01 Dec 2009) Log Message: ----------- binders refactoring -removed duplicated code Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmDiscriminator.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassDiscriminatorBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs Modified: trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmDiscriminator.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmDiscriminator.cs 2009-12-01 15:44:13 UTC (rev 4882) +++ trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/HbmDiscriminator.cs 2009-12-01 16:31:59 UTC (rev 4883) @@ -1,4 +1,3 @@ -using System; using System.Collections.Generic; namespace NHibernate.Cfg.MappingSchema @@ -25,6 +24,8 @@ { name = column, length = length, + notnull = notnull, + notnullSpecified = true }; } } Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassDiscriminatorBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassDiscriminatorBinder.cs 2009-12-01 15:44:13 UTC (rev 4882) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassDiscriminatorBinder.cs 2009-12-01 16:31:59 UTC (rev 4883) @@ -3,21 +3,22 @@ namespace NHibernate.Cfg.XmlHbmBinding { - public class ClassDiscriminatorBinder : ClassBinder + public class ClassDiscriminatorBinder: Binder { - public ClassDiscriminatorBinder(ClassBinder parent) - : base(parent) + private readonly PersistentClass rootClass; + + public ClassDiscriminatorBinder(PersistentClass rootClass, Mappings mappings) : base(mappings) { + this.rootClass = rootClass; } - public void BindDiscriminator(HbmDiscriminator discriminatorSchema, PersistentClass rootClass, - Table table) + public void BindDiscriminator(HbmDiscriminator discriminatorSchema, Table table) { if (discriminatorSchema == null) return; //DISCRIMINATOR - SimpleValue discriminator = new SimpleValue(table); + var discriminator = new SimpleValue(table); rootClass.Discriminator = discriminator; BindSimpleValue(discriminatorSchema, discriminator); @@ -38,73 +39,23 @@ if (discriminatorSchema.formula != null) { - Formula f = new Formula(); - f.FormulaString = discriminatorSchema.formula; + var f = new Formula {FormulaString = discriminatorSchema.formula}; discriminator.AddFormula(f); } else - BindColumns(discriminatorSchema, discriminator); - } - - private void BindColumns(HbmDiscriminator discriminatorSchema, SimpleValue discriminator) - { - Table table = discriminator.Table; - - //COLUMN(S) - if (discriminatorSchema.column != null) { - Column col = new Column(); - col.Value = discriminator; - BindColumn(discriminatorSchema, col); - col.Name = mappings.NamingStrategy.ColumnName(discriminatorSchema.column); - - if (table != null) - table.AddColumn(col); - - discriminator.AddColumn(col); + new ColumnsBinder(discriminator, Mappings).Bind(discriminatorSchema.Columns, false, + () => + new HbmColumn + { + name = + mappings.NamingStrategy.PropertyToColumnName( + RootClass.DefaultDiscriminatorColumnName), + length = discriminatorSchema.length, + notnull = discriminatorSchema.notnull, + notnullSpecified = true + }); } - else if (discriminatorSchema.Item != null && discriminatorSchema.Item is HbmColumn) - { - HbmColumn theCol = (HbmColumn)discriminatorSchema.Item; - Column col = new Column(); - col.Value = discriminator; - BindColumn(theCol, col, false); - - col.Name = mappings.NamingStrategy.ColumnName(theCol.name); - - if (table != null) - table.AddColumn(col); - //table=null -> an association, fill it in later - - discriminator.AddColumn(col); - - BindIndex(theCol.index, table, col); - BindUniqueKey(theCol.uniquekey, table, col); - } - - if (discriminator.ColumnSpan == 0) - { - Column col = new Column(); - col.Value = discriminator; - BindColumn(discriminatorSchema, col); - - col.Name = mappings.NamingStrategy.PropertyToColumnName( - RootClass.DefaultDiscriminatorColumnName); - - discriminator.Table.AddColumn(col); - discriminator.AddColumn(col); - } } - - private static void BindColumn(HbmDiscriminator discriminatorSchema, Column column) - { - if (discriminatorSchema.length != null) - column.Length = int.Parse(discriminatorSchema.length); - - column.IsNullable = !discriminatorSchema.notnull; - column.IsUnique = false; - column.CheckConstraint = string.Empty; - column.SqlType = null; - } } } \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs 2009-12-01 15:44:13 UTC (rev 4882) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs 2009-12-01 16:31:59 UTC (rev 4883) @@ -51,7 +51,7 @@ BindCache(classSchema.cache, rootClass); new ClassIdBinder(this).BindId(classSchema.Id, rootClass, table); new ClassCompositeIdBinder(this).BindCompositeId(classSchema.CompositeId, rootClass); - new ClassDiscriminatorBinder(this).BindDiscriminator(classSchema.discriminator, rootClass, table); + new ClassDiscriminatorBinder(rootClass, Mappings).BindDiscriminator(classSchema.discriminator, table); BindTimestamp(classSchema.Timestamp, rootClass, table, inheritedMetas); BindVersion(classSchema.Version, rootClass, table, inheritedMetas); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-01-06 04:00:16
|
Revision: 4903 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4903&view=rev Author: fabiomaulo Date: 2010-01-06 04:00:10 +0000 (Wed, 06 Jan 2010) Log Message: ----------- Minor refactoring Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Cfg/MappingsQueue.cs trunk/nhibernate/src/NHibernate/Cfg/MappingsQueueEntry.cs trunk/nhibernate/src/NHibernate/Cfg/NamedXmlDocument.cs Modified: trunk/nhibernate/src/NHibernate/Cfg/MappingsQueue.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/MappingsQueue.cs 2010-01-06 00:09:14 UTC (rev 4902) +++ trunk/nhibernate/src/NHibernate/Cfg/MappingsQueue.cs 2010-01-06 04:00:10 UTC (rev 4903) @@ -1,7 +1,8 @@ using System.Collections; +using System.Collections.Generic; +using System.Linq; using System.Text; using Iesi.Collections.Generic; -using System.Collections.Generic; namespace NHibernate.Cfg { @@ -10,17 +11,17 @@ /// </summary> public class MappingsQueue { - private readonly ISet<string> _processedClassNames = new HashedSet<string>(); + private readonly Queue availableEntries = new Queue(); + private readonly ISet<string> processedClassNames = new HashedSet<string>(); - private readonly List<MappingsQueueEntry> _unavailableEntries = new List<MappingsQueueEntry>(); - private readonly Queue _availableEntries = new Queue(); + private readonly List<MappingsQueueEntry> unavailableEntries = new List<MappingsQueueEntry>(); /// <summary> /// Adds the specified document to the queue. /// </summary> public void AddDocument(NamedXmlDocument document) { - MappingsQueueEntry re = new MappingsQueueEntry(document, ClassExtractor.GetClassEntries(document.Document)); + var re = new MappingsQueueEntry(document, ClassExtractor.GetClassEntries(document.Document)); AddEntry(re); } @@ -31,12 +32,12 @@ /// <returns></returns> public NamedXmlDocument GetNextAvailableResource() { - if (_availableEntries.Count == 0) + if (availableEntries.Count == 0) { return null; } - MappingsQueueEntry entry = (MappingsQueueEntry)_availableEntries.Dequeue(); + var entry = (MappingsQueueEntry) availableEntries.Dequeue(); AddProcessedClassNames(entry.ContainedClassNames); return entry.Document; } @@ -46,15 +47,15 @@ /// </summary> public void CheckNoUnavailableEntries() { - if (_unavailableEntries.Count > 0) + if (unavailableEntries.Count > 0) { - throw new MappingException(FormatExceptionMessage(_unavailableEntries)); + throw new MappingException(FormatExceptionMessage(unavailableEntries)); } } private void AddProcessedClassNames(ICollection<string> classNames) { - _processedClassNames.AddAll(classNames); + processedClassNames.AddAll(classNames); if (classNames.Count > 0) { ProcessUnavailableEntries(); @@ -65,11 +66,11 @@ { if (CanProcess(re)) { - _availableEntries.Enqueue(re); + availableEntries.Enqueue(re); } else { - _unavailableEntries.Add(re); + unavailableEntries.Add(re); } } @@ -79,44 +80,31 @@ while ((found = FindAvailableResourceEntry()) != null) { - _availableEntries.Enqueue(found); - _unavailableEntries.Remove(found); + availableEntries.Enqueue(found); + unavailableEntries.Remove(found); } } private MappingsQueueEntry FindAvailableResourceEntry() { - foreach (MappingsQueueEntry re in _unavailableEntries) - { - if (CanProcess(re)) - { - return re; - } - } - return null; + return unavailableEntries.FirstOrDefault(CanProcess); } private bool CanProcess(MappingsQueueEntry ce) { - foreach (var c in ce.RequiredClassNames) - { - if (!(_processedClassNames.Contains(c.FullClassName) || _processedClassNames.Contains(c.EntityName))) - return false; - } - return true; + return + ce.RequiredClassNames.All( + c => (processedClassNames.Contains(c.FullClassName) || processedClassNames.Contains(c.EntityName))); } - private static string FormatExceptionMessage(ICollection resourceEntries) + private static string FormatExceptionMessage(IEnumerable<MappingsQueueEntry> resourceEntries) { - StringBuilder message = new StringBuilder( - "These classes referenced by 'extends' were not found:"); - - foreach (MappingsQueueEntry resourceEntry in resourceEntries) + var message = new StringBuilder(500); + message.Append("These classes referenced by 'extends' were not found:"); + foreach (MappingsQueueEntry.RequiredEntityName className in + resourceEntries.SelectMany(resourceEntry => resourceEntry.RequiredClassNames)) { - foreach (var className in resourceEntry.RequiredClassNames) - { - message.Append('\n').Append(className); - } + message.Append('\n').Append(className); } return message.ToString(); Modified: trunk/nhibernate/src/NHibernate/Cfg/MappingsQueueEntry.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/MappingsQueueEntry.cs 2010-01-06 00:09:14 UTC (rev 4902) +++ trunk/nhibernate/src/NHibernate/Cfg/MappingsQueueEntry.cs 2010-01-06 04:00:10 UTC (rev 4903) @@ -1,5 +1,4 @@ using System.Collections.Generic; -using Iesi.Collections.Generic; namespace NHibernate.Cfg { @@ -8,9 +7,9 @@ /// </summary> public class MappingsQueueEntry { - private readonly HashedSet<string> containedClassNames; + private readonly HashSet<string> containedClassNames; private readonly NamedXmlDocument document; - private readonly HashedSet<RequiredEntityName> requiredClassNames; + private readonly HashSet<RequiredEntityName> requiredClassNames; public MappingsQueueEntry(NamedXmlDocument document, IEnumerable<ClassExtractor.ClassEntry> classEntries) { @@ -42,9 +41,9 @@ get { return containedClassNames; } } - private static HashedSet<string> GetClassNames(IEnumerable<ClassExtractor.ClassEntry> classEntries) + private static HashSet<string> GetClassNames(IEnumerable<ClassExtractor.ClassEntry> classEntries) { - var result = new HashedSet<string>(); + var result = new HashSet<string>(); foreach (var ce in classEntries) { @@ -61,10 +60,10 @@ return result; } - private static HashedSet<RequiredEntityName> GetRequiredClassNames(IEnumerable<ClassExtractor.ClassEntry> classEntries, + private static HashSet<RequiredEntityName> GetRequiredClassNames(IEnumerable<ClassExtractor.ClassEntry> classEntries, ICollection<string> containedNames) { - var result = new HashedSet<RequiredEntityName>(); + var result = new HashSet<RequiredEntityName>(); foreach (var ce in classEntries) { Modified: trunk/nhibernate/src/NHibernate/Cfg/NamedXmlDocument.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/NamedXmlDocument.cs 2010-01-06 00:09:14 UTC (rev 4902) +++ trunk/nhibernate/src/NHibernate/Cfg/NamedXmlDocument.cs 2010-01-06 04:00:10 UTC (rev 4903) @@ -1,4 +1,3 @@ -using System; using System.Xml; namespace NHibernate.Cfg This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-10 18:12:48
|
Revision: 5303 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5303&view=rev Author: fabiomaulo Date: 2010-12-10 18:12:42 +0000 (Fri, 10 Dec 2010) Log Message: ----------- Fix NH-2425 Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs trunk/nhibernate/src/NHibernate/Cfg/NamedXmlDocument.cs Modified: trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs 2010-12-10 16:47:11 UTC (rev 5302) +++ trunk/nhibernate/src/NHibernate/Cfg/Configuration.cs 2010-12-10 18:12:42 UTC (rev 5303) @@ -9,6 +9,7 @@ using System.Text; using System.Xml; using System.Xml.Schema; +using System.Xml.Serialization; using Iesi.Collections; using Iesi.Collections.Generic; @@ -78,9 +79,10 @@ private static readonly IInternalLogger log = LoggerProvider.LoggerFor(typeof(Configuration)); - protected internal SettingsFactory settingsFactory; + private readonly XmlSerializer mappingDocumentSerializer = new XmlSerializer(typeof(HbmMapping)); + #region ISerializable Members public Configuration(SerializationInfo info, StreamingContext context) { @@ -1771,7 +1773,7 @@ { var hbmDocument = new XmlDocument(); hbmDocument.Load(reader); - return new NamedXmlDocument(name, hbmDocument); + return new NamedXmlDocument(name, hbmDocument, mappingDocumentSerializer); } catch (MappingException) { Modified: trunk/nhibernate/src/NHibernate/Cfg/NamedXmlDocument.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/NamedXmlDocument.cs 2010-12-10 16:47:11 UTC (rev 5302) +++ trunk/nhibernate/src/NHibernate/Cfg/NamedXmlDocument.cs 2010-12-10 18:12:42 UTC (rev 5303) @@ -11,7 +11,7 @@ private readonly string name; private readonly HbmMapping document; - public NamedXmlDocument(string name, XmlDocument document) + public NamedXmlDocument(string name, XmlDocument document, XmlSerializer mappingDocumentSerializer) { if (document == null) { @@ -24,7 +24,7 @@ } using (var reader = new StringReader(document.DocumentElement.OuterXml)) { - this.document = (HbmMapping)new XmlSerializer(typeof(HbmMapping)).Deserialize(reader); + this.document = (HbmMapping)mappingDocumentSerializer.Deserialize(reader); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |