[Nhibernate-commit] SF.net SVN: nhibernate:[4870]
trunk/nhibernate/src/NHibernate/Cfg/ XmlHbmBinding
From: <fab...@us...> - 2009-11-29 12:48:44
|
Revision: 4870 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4870&view=rev Author: fabiomaulo Date: 2009-11-29 12:48:34 +0000 (Sun, 29 Nov 2009) Log Message: ----------- Binders refactoring (removed "hack") Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs 2009-11-29 00:00:57 UTC (rev 4869) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs 2009-11-29 12:48:34 UTC (rev 4870) @@ -189,13 +189,6 @@ // SELECT BEFORE UPDATE model.SelectBeforeUpdate = classMapping.SelectBeforeUpdate;; - // OPTIMISTIC LOCK MODE (hack) - var hbmClass = classMapping as HbmClass; - if(hbmClass != null) - { - model.OptimisticLockMode = hbmClass.optimisticlock.ToOptimisticLock(); - } - // META ATTRIBUTES model.MetaAttributes = GetMetas(classMapping, inheritedMetas); Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs 2009-11-29 00:00:57 UTC (rev 4869) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs 2009-11-29 12:48:34 UTC (rev 4870) @@ -17,6 +17,9 @@ { RootClass rootClass = new RootClass(); BindClass(classSchema, rootClass, inheritedMetas); + // OPTIMISTIC LOCK MODE + rootClass.OptimisticLockMode = classSchema.optimisticlock.ToOptimisticLock(); + inheritedMetas = GetMetas(classSchema, inheritedMetas, true); // get meta's from <class> //TABLENAME This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
[Nhibernate-commit] SF.net SVN: nhibernate:[4887]
trunk/nhibernate/src/NHibernate/Cfg/ XmlHbmBinding
From: <fab...@us...> - 2009-12-01 22:53:03
|
Revision: 4887 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4887&view=rev Author: fabiomaulo Date: 2009-12-01 22:52:47 +0000 (Tue, 01 Dec 2009) Log Message: ----------- binders refactoring Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassIdBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/TypeBinder.cs Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassIdBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassIdBinder.cs 2009-12-01 22:08:23 UTC (rev 4886) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassIdBinder.cs 2009-12-01 22:52:47 UTC (rev 4887) @@ -17,7 +17,9 @@ { if (idSchema != null) { - var id = new SimpleValue(table) { TypeName = idSchema.type1 }; + var id = new SimpleValue(table); + new TypeBinder(id, Mappings).Bind(idSchema.Type); + rootClass.Identifier = id; Func<HbmColumn> defaultColumn = () => new HbmColumn Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/TypeBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/TypeBinder.cs 2009-12-01 22:08:23 UTC (rev 4886) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/TypeBinder.cs 2009-12-01 22:52:47 UTC (rev 4887) @@ -29,11 +29,12 @@ Bind(new HbmType { name= typeName }); } - private void Bind(HbmType typeMapping) + public void Bind(HbmType typeMapping) { if (typeMapping == null) { - throw new ArgumentNullException("typeMapping"); + // will find the type through reflection + return; } string originalTypeName = typeMapping.name; if(originalTypeName == null) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
[Nhibernate-commit] SF.net SVN: nhibernate:[4889]
trunk/nhibernate/src/NHibernate/Cfg/ XmlHbmBinding
From: <fab...@us...> - 2009-12-02 04:28:08
|
Revision: 4889 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4889&view=rev Author: fabiomaulo Date: 2009-12-02 04:27:58 +0000 (Wed, 02 Dec 2009) Log Message: ----------- binders refactoring - removed unused code Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/JoinedSubclassBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/SubclassBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/UnionSubclassBinder.cs Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs 2009-12-02 04:15:42 UTC (rev 4888) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs 2009-12-02 04:27:58 UTC (rev 4889) @@ -57,7 +57,7 @@ { foreach (var unionSubclass in unionSubclasses) { - new UnionSubclassBinder(this).HandleUnionSubclass(persistentClass, Serialize(unionSubclass), unionSubclass, inheritedMetas); + new UnionSubclassBinder(this).HandleUnionSubclass(persistentClass, unionSubclass, inheritedMetas); } } @@ -73,7 +73,7 @@ { foreach (var subclass in subclasses) { - new SubclassBinder(this).HandleSubclass(persistentClass, Serialize(subclass), subclass, inheritedMetas); + new SubclassBinder(this).HandleSubclass(persistentClass, subclass, inheritedMetas); } } Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/JoinedSubclassBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/JoinedSubclassBinder.cs 2009-12-02 04:15:42 UTC (rev 4888) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/JoinedSubclassBinder.cs 2009-12-02 04:27:58 UTC (rev 4889) @@ -40,8 +40,9 @@ string catalog = joinedSubclassMapping.catalog ?? mappings.CatalogName; // TODO: very strange, the schema does not support it - XmlAttribute actionNode = subnode.Attributes["schema-action"]; - string action = actionNode == null ? "all" : actionNode.Value; + //XmlAttribute actionNode = subnode.Attributes["schema-action"]; + //string action = actionNode == null ? "all" : actionNode.Value; + string action = "all"; Table mytable = mappings.AddTable(schema, catalog, GetClassTableName(subclass, joinedSubclassMapping.table), null, false, action); ((ITableOwner)subclass).Table = mytable; Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/SubclassBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/SubclassBinder.cs 2009-12-02 04:15:42 UTC (rev 4888) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/SubclassBinder.cs 2009-12-02 04:27:58 UTC (rev 4889) @@ -21,10 +21,10 @@ public void Bind(XmlNode node, HbmSubclass subClassMapping, IDictionary<string, MetaAttribute> inheritedMetas) { PersistentClass superModel = GetSuperclass(node); - HandleSubclass(superModel, node, subClassMapping, inheritedMetas); + HandleSubclass(superModel, subClassMapping, inheritedMetas); } - public void HandleSubclass(PersistentClass model, XmlNode subnode, HbmSubclass subClassMapping, IDictionary<string, MetaAttribute> inheritedMetas) + public void HandleSubclass(PersistentClass model, HbmSubclass subClassMapping, IDictionary<string, MetaAttribute> inheritedMetas) { Subclass subclass = new SingleTableSubclass(model); Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/UnionSubclassBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/UnionSubclassBinder.cs 2009-12-02 04:15:42 UTC (rev 4888) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/UnionSubclassBinder.cs 2009-12-02 04:27:58 UTC (rev 4889) @@ -21,10 +21,10 @@ public void Bind(XmlNode node, HbmUnionSubclass unionSubclassMapping, IDictionary<string, MetaAttribute> inheritedMetas) { PersistentClass superModel = GetSuperclass(node); - HandleUnionSubclass(superModel, node, unionSubclassMapping, inheritedMetas); + HandleUnionSubclass(superModel, unionSubclassMapping, inheritedMetas); } - public void HandleUnionSubclass(PersistentClass model, XmlNode subnode, HbmUnionSubclass unionSubclassMapping, IDictionary<string, MetaAttribute> inheritedMetas) + public void HandleUnionSubclass(PersistentClass model, HbmUnionSubclass unionSubclassMapping, IDictionary<string, MetaAttribute> inheritedMetas) { var unionSubclass = new UnionSubclass(model); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
[Nhibernate-commit] SF.net SVN: nhibernate:[4890]
trunk/nhibernate/src/NHibernate/Cfg/ XmlHbmBinding
From: <fab...@us...> - 2009-12-02 04:57:00
|
Revision: 4890 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4890&view=rev Author: fabiomaulo Date: 2009-12-02 04:56:46 +0000 (Wed, 02 Dec 2009) Log Message: ----------- binders refactoring - removed unused code Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/JoinedSubclassBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ValuePropertyBinder.cs Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs 2009-12-02 04:27:58 UTC (rev 4889) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs 2009-12-02 04:56:46 UTC (rev 4890) @@ -65,7 +65,7 @@ { foreach (var joinedSubclass in joinedSubclasses) { - new JoinedSubclassBinder(this).HandleJoinedSubclass(persistentClass, Serialize(joinedSubclass), joinedSubclass, inheritedMetas); + new JoinedSubclassBinder(this).HandleJoinedSubclass(persistentClass, joinedSubclass, inheritedMetas); } } Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/JoinedSubclassBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/JoinedSubclassBinder.cs 2009-12-02 04:27:58 UTC (rev 4889) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/JoinedSubclassBinder.cs 2009-12-02 04:56:46 UTC (rev 4890) @@ -21,12 +21,12 @@ public void Bind(XmlNode node, HbmJoinedSubclass joinedSubclassMapping, IDictionary<string, MetaAttribute> inheritedMetas) { PersistentClass superModel = GetSuperclass(node); - HandleJoinedSubclass(superModel, node, joinedSubclassMapping, inheritedMetas); + HandleJoinedSubclass(superModel, joinedSubclassMapping, inheritedMetas); } - public void HandleJoinedSubclass(PersistentClass model, XmlNode subnode, HbmJoinedSubclass joinedSubclassMapping, IDictionary<string, MetaAttribute> inheritedMetas) + public void HandleJoinedSubclass(PersistentClass model, HbmJoinedSubclass joinedSubclassMapping, IDictionary<string, MetaAttribute> inheritedMetas) { - JoinedSubclass subclass = new JoinedSubclass(model); + var subclass = new JoinedSubclass(model); BindClass(joinedSubclassMapping, subclass, inheritedMetas); inheritedMetas = GetMetas(joinedSubclassMapping, inheritedMetas, true); // get meta's from <joined-subclass> @@ -50,12 +50,7 @@ log.InfoFormat("Mapping joined-subclass: {0} -> {1}", subclass.EntityName, subclass.Table.Name); // KEY - XmlNode keyNode = subnode.SelectSingleNode(HbmConstants.nsKey, namespaceManager); - SimpleValue key = new DependantValue(mytable, subclass.Identifier); - subclass.Key = key; - if (keyNode.Attributes["on-delete"] != null) - key.IsCascadeDeleteEnabled = "cascade".Equals(keyNode.Attributes["on-delete"].Value); - BindSimpleValue(keyNode, key, false, subclass.EntityName); + BindKey(subclass, joinedSubclassMapping.key, mytable); subclass.CreatePrimaryKey(dialect); @@ -77,5 +72,15 @@ mappings.AddClass(subclass); } + private void BindKey(JoinedSubclass subclass, HbmKey keyMapping, Table mytable) + { + // TODO : property-ref ?? + SimpleValue key = new DependantValue(mytable, subclass.Identifier); + subclass.Key = key; + key.IsCascadeDeleteEnabled = keyMapping.ondelete == HbmOndelete.Cascade; + key.ForeignKeyName = keyMapping.foreignkey; + + new ValuePropertyBinder(key, Mappings).BindSimpleValue(keyMapping, subclass.EntityName, false); + } } } \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ValuePropertyBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ValuePropertyBinder.cs 2009-12-02 04:27:58 UTC (rev 4889) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ValuePropertyBinder.cs 2009-12-02 04:56:46 UTC (rev 4890) @@ -51,5 +51,19 @@ }); } } + + public void BindSimpleValue(HbmKey propertyMapping, string propertyPath, bool isNullable) + { + new ColumnsBinder(value, Mappings).Bind(propertyMapping.Columns, isNullable, + () => + new HbmColumn + { + name = mappings.NamingStrategy.PropertyToColumnName(propertyPath), + notnull = propertyMapping.notnull, + notnullSpecified = propertyMapping.notnullSpecified, + unique = propertyMapping.unique, + uniqueSpecified = propertyMapping.uniqueSpecified, + }); + } } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
[Nhibernate-commit] SF.net SVN: nhibernate:[4892]
trunk/nhibernate/src/NHibernate/Cfg/ XmlHbmBinding
From: <fab...@us...> - 2009-12-02 05:30:44
|
Revision: 4892 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4892&view=rev Author: fabiomaulo Date: 2009-12-02 05:30:33 +0000 (Wed, 02 Dec 2009) Log Message: ----------- Encapsulated namespaceManager Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/CollectionBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/JoinedSubclassBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/PropertiesBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/SubclassBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/UnionSubclassBinder.cs Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs 2009-12-02 05:10:21 UTC (rev 4891) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs 2009-12-02 05:30:33 UTC (rev 4892) @@ -13,7 +13,7 @@ public abstract class ClassBinder : Binder { protected readonly Dialect.Dialect dialect; - protected readonly XmlNamespaceManager namespaceManager; + private readonly XmlNamespaceManager namespaceManager; protected ClassBinder(Mappings mappings, XmlNamespaceManager namespaceManager, Dialect.Dialect dialect) : base(mappings) @@ -26,9 +26,14 @@ : base(parent.Mappings) { dialect = parent.dialect; - namespaceManager = parent.namespaceManager; + namespaceManager = parent.NamespaceManager; } + public XmlNamespaceManager NamespaceManager + { + get { return namespaceManager; } + } + protected void BindClass(IEntityMapping classMapping, PersistentClass model, IDictionary<string, MetaAttribute> inheritedMetas) { // handle the lazy attribute @@ -212,7 +217,7 @@ join.CreateForeignKey(); // PROPERTIES - new PropertiesBinder(Mappings, persistentClass, namespaceManager, dialect).Bind(joinMapping.Properties, join.Table, + new PropertiesBinder(Mappings, persistentClass, NamespaceManager, dialect).Bind(joinMapping.Properties, join.Table, inheritedMetas, p => { }, join.AddProperty); @@ -244,14 +249,12 @@ } } - protected PersistentClass GetSuperclass(XmlNode subnode) + protected PersistentClass GetSuperclass(string extendsName) { - XmlAttribute extendsAttr = subnode.Attributes["extends"]; - if (extendsAttr == null) + if (string.IsNullOrEmpty(extendsName)) { - throw new MappingException("'extends' attribute is not found."); + throw new MappingException("'extends' attribute is not found or is empty."); } - string extendsName = extendsAttr.Value; PersistentClass superModel = mappings.GetClass(extendsName); if(superModel == null) { @@ -276,7 +279,7 @@ { //GENERATOR - XmlNode subnode = node.SelectSingleNode(HbmConstants.nsGenerator, namespaceManager); + XmlNode subnode = node.SelectSingleNode(HbmConstants.nsGenerator, NamespaceManager); if (subnode != null) { if (subnode.Attributes["class"] == null) @@ -295,7 +298,7 @@ if (mappings.SchemaName != null) parms.Add(Id.PersistentIdGeneratorParmsNames.Schema, dialect.QuoteForSchemaName(mappings.SchemaName)); - foreach (XmlNode childNode in subnode.SelectNodes(HbmConstants.nsParam, namespaceManager)) + foreach (XmlNode childNode in subnode.SelectNodes(HbmConstants.nsParam, NamespaceManager)) parms.Add( childNode.Attributes["name"].Value, childNode.InnerText @@ -326,7 +329,7 @@ model.RoleName = path; - inheritedMetas = GetMetas(node.SelectNodes(HbmConstants.nsMeta, namespaceManager), inheritedMetas); + inheritedMetas = GetMetas(node.SelectNodes(HbmConstants.nsMeta, NamespaceManager), inheritedMetas); model.MetaAttributes = inheritedMetas; XmlAttribute classNode = node.Attributes["class"]; @@ -371,7 +374,7 @@ IValue value = null; - CollectionBinder binder = new CollectionBinder(Mappings, namespaceManager, dialect); + CollectionBinder binder = new CollectionBinder(Mappings, NamespaceManager, dialect); if (binder.CanCreate(name)) { @@ -510,7 +513,7 @@ "\" for property: " + propName); } - property.MetaAttributes = GetMetas(node.SelectNodes(HbmConstants.nsMeta, namespaceManager), inheritedMetas); + property.MetaAttributes = GetMetas(node.SelectNodes(HbmConstants.nsMeta, NamespaceManager), inheritedMetas); property.LogMapped(log); } @@ -552,7 +555,7 @@ if (typeNode != null) typeName = typeNode.Value; - XmlNode typeChild = node.SelectSingleNode(HbmConstants.nsType, namespaceManager); + XmlNode typeChild = node.SelectSingleNode(HbmConstants.nsType, NamespaceManager); if (typeName == null && typeChild != null) { originalTypeName = typeChild.Attributes["name"].Value; @@ -612,7 +615,7 @@ } else { - var fcn = node.SelectSingleNode(HbmConstants.nsFormula, namespaceManager); + var fcn = node.SelectSingleNode(HbmConstants.nsFormula, NamespaceManager); return fcn != null && !string.IsNullOrEmpty(fcn.InnerText) ? fcn.InnerText : null; } } @@ -661,7 +664,7 @@ if (metaAttribute != null) { model.MetaType = metaAttribute.Value; - XmlNodeList metaValues = node.SelectNodes(HbmConstants.nsMetaValue, namespaceManager); + XmlNodeList metaValues = node.SelectNodes(HbmConstants.nsMetaValue, NamespaceManager); if (metaValues != null && metaValues.Count > 0) { IDictionary<object, string> values = new Dictionary<object, string>(); @@ -811,7 +814,7 @@ { int count = 0; - foreach (XmlNode columnElement in node.SelectNodes(HbmConstants.nsColumn, namespaceManager)) + foreach (XmlNode columnElement in node.SelectNodes(HbmConstants.nsColumn, NamespaceManager)) { Column col = new Column(); col.Value = model; @@ -1011,7 +1014,7 @@ typeName = typeAttribute.Value; else { - XmlNode typeNode = node.SelectSingleNode(HbmConstants.nsType, namespaceManager); + XmlNode typeNode = node.SelectSingleNode(HbmConstants.nsType, NamespaceManager); if (typeNode == null) //we will have to use reflection return null; XmlAttribute nameAttribute = typeNode.Attributes["name"]; //we know it exists because the schema validate it @@ -1039,7 +1042,7 @@ protected XmlNodeList SelectNodes(XmlNode node, string xpath) { - return node.SelectNodes(xpath, namespaceManager); + return node.SelectNodes(xpath, NamespaceManager); } protected static string GetPropertyName(XmlNode node) Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/CollectionBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/CollectionBinder.cs 2009-12-02 05:10:21 UTC (rev 4891) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/CollectionBinder.cs 2009-12-02 05:30:33 UTC (rev 4892) @@ -233,7 +233,7 @@ model.ExtraLazy = true; } - XmlNode oneToManyNode = node.SelectSingleNode(HbmConstants.nsOneToMany, namespaceManager); + XmlNode oneToManyNode = node.SelectSingleNode(HbmConstants.nsOneToMany, NamespaceManager); if (oneToManyNode != null) { OneToMany oneToMany = new OneToMany(model.Owner); @@ -326,14 +326,14 @@ else AddCollectionSecondPass(node, model, inheritedMetas); - foreach (XmlNode filter in node.SelectNodes(HbmConstants.nsFilter, namespaceManager)) + foreach (XmlNode filter in node.SelectNodes(HbmConstants.nsFilter, NamespaceManager)) ParseFilter(filter, model); - XmlNode loader = node.SelectSingleNode(HbmConstants.nsLoader, namespaceManager); + XmlNode loader = node.SelectSingleNode(HbmConstants.nsLoader, NamespaceManager); if (loader != null) model.LoaderName = XmlHelper.GetAttributeValue(loader, "query-ref"); - XmlNode key = node.SelectSingleNode(HbmConstants.nsKey, namespaceManager); + XmlNode key = node.SelectSingleNode(HbmConstants.nsKey, NamespaceManager); if (key != null) model.ReferencedPropertyName = XmlHelper.GetAttributeValue(key, "property-ref"); @@ -438,7 +438,7 @@ private void HandleCustomSQL(XmlNode node, Mapping.Collection model) { - XmlNode element = node.SelectSingleNode(HbmConstants.nsSqlInsert, namespaceManager); + XmlNode element = node.SelectSingleNode(HbmConstants.nsSqlInsert, NamespaceManager); if (element != null) { @@ -446,21 +446,21 @@ model.SetCustomSQLInsert(element.InnerText.Trim(), callable, GetResultCheckStyle(element, callable)); } - element = node.SelectSingleNode(HbmConstants.nsSqlDelete, namespaceManager); + element = node.SelectSingleNode(HbmConstants.nsSqlDelete, NamespaceManager); if (element != null) { bool callable = IsCallable(element); model.SetCustomSQLDelete(element.InnerText.Trim(), callable, GetResultCheckStyle(element, callable)); } - element = node.SelectSingleNode(HbmConstants.nsSqlUpdate, namespaceManager); + element = node.SelectSingleNode(HbmConstants.nsSqlUpdate, NamespaceManager); if (element != null) { bool callable = IsCallable(element); model.SetCustomSQLUpdate(element.InnerText.Trim(), callable, GetResultCheckStyle(element, callable)); } - element = node.SelectSingleNode(HbmConstants.nsSqlDeleteAll, namespaceManager); + element = node.SelectSingleNode(HbmConstants.nsSqlDeleteAll, NamespaceManager); if (element != null) { bool callable = IsCallable(element); @@ -499,8 +499,8 @@ { BindCollectionSecondPass(node, model, persistentClasses, inheritedMetas); - XmlNode subnode = node.SelectSingleNode(HbmConstants.nsListIndex, namespaceManager); - if (subnode == null) { subnode = node.SelectSingleNode(HbmConstants.nsIndex, namespaceManager); } + XmlNode subnode = node.SelectSingleNode(HbmConstants.nsListIndex, NamespaceManager); + if (subnode == null) { subnode = node.SelectSingleNode(HbmConstants.nsIndex, NamespaceManager); } SimpleValue iv = new SimpleValue(model.CollectionTable); BindIntegerValue(subnode, iv, IndexedCollection.DefaultIndexColumnName, model.IsOneToMany); model.Index = iv; @@ -522,7 +522,7 @@ { BindCollectionSecondPass(node, model, persitentClasses, inheritedMetas); - XmlNode subnode = node.SelectSingleNode(HbmConstants.nsCollectionId, namespaceManager); + XmlNode subnode = node.SelectSingleNode(HbmConstants.nsCollectionId, NamespaceManager); SimpleValue id = new SimpleValue(model.CollectionTable); BindSimpleValue(subnode, id, false, IdentifierCollection.DefaultIdentifierColumnName); model.Identifier = id; @@ -715,7 +715,7 @@ collection.ManyToManyOrdering = orderFragment; // Bind the filters - if ((manyToManyNode.SelectSingleNode(HbmConstants.nsFilter, namespaceManager) != null || + if ((manyToManyNode.SelectSingleNode(HbmConstants.nsFilter, NamespaceManager) != null || whereCondition != null) && collection.FetchMode == FetchMode.Join && collection.Element.FetchMode != FetchMode.Join) @@ -723,7 +723,7 @@ "many-to-many defining filter or where without join fetching " + "not valid within collection using join fetching [" + collection.Role + "]" ); - foreach (XmlNode filterElement in manyToManyNode.SelectNodes(HbmConstants.nsFilter, namespaceManager)) + foreach (XmlNode filterElement in manyToManyNode.SelectNodes(HbmConstants.nsFilter, NamespaceManager)) { string name = XmlHelper.GetAttributeValue(filterElement, "name"); string condition = filterElement.InnerText.Trim(); Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/JoinedSubclassBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/JoinedSubclassBinder.cs 2009-12-02 05:10:21 UTC (rev 4891) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/JoinedSubclassBinder.cs 2009-12-02 05:30:33 UTC (rev 4892) @@ -18,9 +18,9 @@ { } - public void Bind(XmlNode node, HbmJoinedSubclass joinedSubclassMapping, IDictionary<string, MetaAttribute> inheritedMetas) + public void Bind(HbmJoinedSubclass joinedSubclassMapping, IDictionary<string, MetaAttribute> inheritedMetas) { - PersistentClass superModel = GetSuperclass(node); + PersistentClass superModel = GetSuperclass(joinedSubclassMapping.extends); HandleJoinedSubclass(superModel, joinedSubclassMapping, inheritedMetas); } @@ -64,7 +64,7 @@ mytable.AddCheckConstraint(joinedSubclassMapping.check); // properties - new PropertiesBinder(mappings, subclass, namespaceManager, dialect).Bind(joinedSubclassMapping.Properties, inheritedMetas); + new PropertiesBinder(mappings, subclass, NamespaceManager, dialect).Bind(joinedSubclassMapping.Properties, inheritedMetas); BindJoinedSubclasses(joinedSubclassMapping.JoinedSubclasses, subclass, inheritedMetas); Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs 2009-12-02 05:10:21 UTC (rev 4891) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/MappingRootBinder.cs 2009-12-02 05:30:33 UTC (rev 4892) @@ -100,7 +100,7 @@ { var binder = new UnionSubclassBinder(Mappings, GetNamespaceManager(parentNode), dialect); - binder.Bind(parentNode, unionSubclass, inheritedMetas); + binder.Bind(unionSubclass, inheritedMetas); } private void AddJoinedSubclasses(XmlNode parentNode, HbmJoinedSubclass joinedSubclass, @@ -108,14 +108,14 @@ { var binder = new JoinedSubclassBinder(Mappings, GetNamespaceManager(parentNode), dialect); - binder.Bind(parentNode, joinedSubclass, inheritedMetas); + binder.Bind(joinedSubclass, inheritedMetas); } private void AddSubclasses(XmlNode parentNode, HbmSubclass subClass, IDictionary<string, MetaAttribute> inheritedMetas) { var binder = new SubclassBinder(this, GetNamespaceManager(parentNode), dialect); - binder.Bind(parentNode, subClass, inheritedMetas); + binder.Bind(subClass, inheritedMetas); } private void AddQueries(HbmMapping mappingSchema) Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/PropertiesBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/PropertiesBinder.cs 2009-12-02 05:10:21 UTC (rev 4891) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/PropertiesBinder.cs 2009-12-02 05:30:33 UTC (rev 4892) @@ -67,7 +67,7 @@ } else if ((collectionMapping = entityPropertyMapping as ICollectionPropertyMapping) != null) { - var collectionBinder = new CollectionBinder(Mappings, namespaceManager, dialect); + var collectionBinder = new CollectionBinder(Mappings, NamespaceManager, dialect); Mapping.Collection collection = collectionBinder.Create(collectionMapping, entityName, propertyName, model, model.MappedClass, inheritedMetas); Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs 2009-12-02 05:10:21 UTC (rev 4891) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs 2009-12-02 05:30:33 UTC (rev 4892) @@ -57,7 +57,7 @@ rootClass.CreatePrimaryKey(dialect); BindNaturalId(classSchema.naturalid, rootClass, inheritedMetas); - new PropertiesBinder(mappings, rootClass, namespaceManager, dialect).Bind(classSchema.Properties, inheritedMetas); + new PropertiesBinder(mappings, rootClass, NamespaceManager, dialect).Bind(classSchema.Properties, inheritedMetas); BindJoins(classSchema.Joins, rootClass, inheritedMetas); BindSubclasses(classSchema.Subclasses, rootClass, inheritedMetas); @@ -76,7 +76,7 @@ return; } //by default, natural-ids are "immutable" (constant) - var propBinder = new PropertiesBinder(mappings, rootClass, namespaceManager, dialect); + var propBinder = new PropertiesBinder(mappings, rootClass, NamespaceManager, dialect); var uk = new UniqueKey { Name = "_UniqueKey", Table = rootClass.Table }; propBinder.Bind(naturalid.Properties, inheritedMetas, property => { Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/SubclassBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/SubclassBinder.cs 2009-12-02 05:10:21 UTC (rev 4891) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/SubclassBinder.cs 2009-12-02 05:30:33 UTC (rev 4892) @@ -18,9 +18,9 @@ { } - public void Bind(XmlNode node, HbmSubclass subClassMapping, IDictionary<string, MetaAttribute> inheritedMetas) + public void Bind(HbmSubclass subClassMapping, IDictionary<string, MetaAttribute> inheritedMetas) { - PersistentClass superModel = GetSuperclass(node); + PersistentClass superModel = GetSuperclass(subClassMapping.extends); HandleSubclass(superModel, subClassMapping, inheritedMetas); } @@ -37,7 +37,7 @@ log.InfoFormat("Mapping subclass: {0} -> {1}", subclass.EntityName, subclass.Table.Name); // properties - new PropertiesBinder(mappings, subclass, namespaceManager, dialect).Bind(subClassMapping.Properties, inheritedMetas); + new PropertiesBinder(mappings, subclass, NamespaceManager, dialect).Bind(subClassMapping.Properties, inheritedMetas); BindJoins(subClassMapping.Joins, subclass, inheritedMetas); BindSubclasses(subClassMapping.Subclasses, subclass, inheritedMetas); Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/UnionSubclassBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/UnionSubclassBinder.cs 2009-12-02 05:10:21 UTC (rev 4891) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/UnionSubclassBinder.cs 2009-12-02 05:30:33 UTC (rev 4892) @@ -18,9 +18,9 @@ { } - public void Bind(XmlNode node, HbmUnionSubclass unionSubclassMapping, IDictionary<string, MetaAttribute> inheritedMetas) + public void Bind(HbmUnionSubclass unionSubclassMapping, IDictionary<string, MetaAttribute> inheritedMetas) { - PersistentClass superModel = GetSuperclass(node); + PersistentClass superModel = GetSuperclass(unionSubclassMapping.extends); HandleUnionSubclass(superModel, unionSubclassMapping, inheritedMetas); } @@ -48,7 +48,7 @@ log.InfoFormat("Mapping union-subclass: {0} -> {1}", unionSubclass.EntityName, unionSubclass.Table.Name); // properties - new PropertiesBinder(mappings, unionSubclass, namespaceManager, dialect).Bind(unionSubclassMapping.Properties, inheritedMetas); + new PropertiesBinder(mappings, unionSubclass, NamespaceManager, dialect).Bind(unionSubclassMapping.Properties, inheritedMetas); BindUnionSubclasses(unionSubclassMapping.UnionSubclasses, unionSubclass, inheritedMetas); model.AddSubclass(unionSubclass); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
[Nhibernate-commit] SF.net SVN: nhibernate:[5540]
trunk/nhibernate/src/NHibernate/Cfg/ XmlHbmBinding
From: <fab...@us...> - 2011-03-26 16:01:42
|
Revision: 5540 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5540&view=rev Author: fabiomaulo Date: 2011-03-26 16:01:36 +0000 (Sat, 26 Mar 2011) Log Message: ----------- step over NH-2602 Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/CollectionBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/JoinedSubclassBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/UnionSubclassBinder.cs Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs 2011-03-26 15:45:48 UTC (rev 5539) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs 2011-03-26 16:01:36 UTC (rev 5540) @@ -189,7 +189,7 @@ string action = "all"; // joinMapping.schemaaction ?? "all"; string tableName = joinMapping.table; - Table table = mappings.AddTable(schema, catalog, GetClassTableName(persistentClass, tableName), null, false, action); + Table table = mappings.AddTable(schema, catalog, GetClassTableName(persistentClass, tableName), joinMapping.Subselect, false, action); join.Table = table; join.IsSequentialSelect = joinMapping.fetch == HbmJoinFetch.Select; Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/CollectionBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/CollectionBinder.cs 2011-03-26 15:45:48 UTC (rev 5539) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/CollectionBinder.cs 2011-03-26 16:01:36 UTC (rev 5540) @@ -199,7 +199,7 @@ string catalog = string.IsNullOrEmpty(collectionMapping.Catalog) ? mappings.CatalogName : collectionMapping.Catalog; // TODO NH : add schema-action to the xsd - model.CollectionTable = mappings.AddTable(schema, catalog, tableName, null, false, "all"); + model.CollectionTable = mappings.AddTable(schema, catalog, tableName, collectionMapping.Subselect, false, "all"); log.InfoFormat("Mapping collection: {0} -> {1}", model.Role, model.CollectionTable.Name); } Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/JoinedSubclassBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/JoinedSubclassBinder.cs 2011-03-26 15:45:48 UTC (rev 5539) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/JoinedSubclassBinder.cs 2011-03-26 16:01:36 UTC (rev 5540) @@ -43,7 +43,7 @@ //string action = actionNode == null ? "all" : actionNode.Value; string action = "all"; - Table mytable = mappings.AddTable(schema, catalog, GetClassTableName(subclass, joinedSubclassMapping.table), null, false, action); + Table mytable = mappings.AddTable(schema, catalog, GetClassTableName(subclass, joinedSubclassMapping.table), joinedSubclassMapping.Subselect, false, action); ((ITableOwner)subclass).Table = mytable; log.InfoFormat("Mapping joined-subclass: {0} -> {1}", subclass.EntityName, subclass.Table.Name); Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs 2011-03-26 15:45:48 UTC (rev 5539) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/RootClassBinder.cs 2011-03-26 16:01:36 UTC (rev 5540) @@ -34,7 +34,7 @@ rootClass.EntityName)); } - Table table = mappings.AddTable(schema, catalog, tableName, null, rootClass.IsAbstract.GetValueOrDefault(), classSchema.schemaaction); + Table table = mappings.AddTable(schema, catalog, tableName, classSchema.Subselect, rootClass.IsAbstract.GetValueOrDefault(), classSchema.schemaaction); ((ITableOwner) rootClass).Table = table; log.InfoFormat("Mapping class: {0} -> {1}", rootClass.EntityName, rootClass.Table.Name); Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/UnionSubclassBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/UnionSubclassBinder.cs 2011-03-26 15:45:48 UTC (rev 5539) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/UnionSubclassBinder.cs 2011-03-26 16:01:36 UTC (rev 5540) @@ -41,7 +41,7 @@ Table denormalizedSuperTable = unionSubclass.Superclass.Table; Table mytable = mappings.AddDenormalizedTable(schema, catalog, GetClassTableName(unionSubclass, unionSubclassMapping.table), - unionSubclass.IsAbstract.GetValueOrDefault(), null, denormalizedSuperTable); + unionSubclass.IsAbstract.GetValueOrDefault(), unionSubclassMapping.Subselect, denormalizedSuperTable); ((ITableOwner)unionSubclass).Table = mytable; log.InfoFormat("Mapping union-subclass: {0} -> {1}", unionSubclass.EntityName, unionSubclass.Table.Name); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |