|
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.
|