From: <fab...@us...> - 2010-07-22 14:19:56
|
Revision: 5042 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5042&view=rev Author: fabiomaulo Date: 2010-07-22 14:19:50 +0000 (Thu, 22 Jul 2010) Log Message: ----------- Fix NH-2221 Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/PropertiesBinder.cs trunk/nhibernate/src/NHibernate/NHibernate.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/MappingExtensions.cs Added: trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/MappingExtensions.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/MappingExtensions.cs (rev 0) +++ trunk/nhibernate/src/NHibernate/Cfg/MappingSchema/MappingExtensions.cs 2010-07-22 14:19:50 UTC (rev 5042) @@ -0,0 +1,22 @@ +using System; + +namespace NHibernate.Cfg.MappingSchema +{ + public static class MappingExtensions + { + public static EntityMode ToEntityMode(this HbmTuplizerEntitymode source) + { + switch (source) + { + case HbmTuplizerEntitymode.Poco: + return EntityMode.Poco; + case HbmTuplizerEntitymode.Xml: + return EntityMode.Xml; + case HbmTuplizerEntitymode.DynamicMap: + return EntityMode.Map; + default: + throw new ArgumentOutOfRangeException("source"); + } + } + } +} \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/PropertiesBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/PropertiesBinder.cs 2010-07-22 13:34:19 UTC (rev 5041) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/PropertiesBinder.cs 2010-07-22 14:19:50 UTC (rev 5042) @@ -4,6 +4,7 @@ using NHibernate.Mapping; using System; using NHibernate.Util; +using Array = System.Array; namespace NHibernate.Cfg.XmlHbmBinding { @@ -333,6 +334,16 @@ { model.Owner.Table.CreateUniqueKey(model.ColumnIterator.OfType<Column>().ToList()); } + HbmTuplizer[] tuplizers = componentMapping.tuplizer; + if (tuplizers != null) + { + Array.ForEach(tuplizers.Select(tuplizer => new + { + TuplizerClassName = FullQualifiedClassName(tuplizer.@class, mappings), + Mode = tuplizer.entitymode.ToEntityMode() + }).ToArray(), + x => model.AddTuplizer(x.Mode, x.TuplizerClassName)); + } } private void BindManyToOneProperty(HbmManyToOne manyToOneMapping, Property property) Modified: trunk/nhibernate/src/NHibernate/NHibernate.csproj =================================================================== --- trunk/nhibernate/src/NHibernate/NHibernate.csproj 2010-07-22 13:34:19 UTC (rev 5041) +++ trunk/nhibernate/src/NHibernate/NHibernate.csproj 2010-07-22 14:19:50 UTC (rev 5042) @@ -547,6 +547,7 @@ <Compile Include="Cfg\MappingSchema\IReferencePropertyMapping.cs" /> <Compile Include="Cfg\MappingSchema\IRelationship.cs" /> <Compile Include="Cfg\MappingSchema\ITypeMapping.cs" /> + <Compile Include="Cfg\MappingSchema\MappingExtensions.cs" /> <Compile Include="Cfg\SchemaAutoAction.cs" /> <Compile Include="Cfg\SessionFactoryConfigurationBase.cs" /> <Compile Include="Cfg\ISessionFactoryConfiguration.cs" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |