|
From: <fab...@us...> - 2011-04-06 18:11:21
|
Revision: 5627
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5627&view=rev
Author: fabiomaulo
Date: 2011-04-06 18:11:14 +0000 (Wed, 06 Apr 2011)
Log Message:
-----------
Facility to get mappings for declared entities
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersHolder.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/ICustomizersHolder.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/BasicMappingOfSimpleClass.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/ConformistMappingRegistrationTests/ClassMappingRegistrationTest.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersHolder.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersHolder.cs 2011-04-06 17:49:34 UTC (rev 5626)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersHolder.cs 2011-04-06 18:11:14 UTC (rev 5627)
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using System.Linq;
namespace NHibernate.Mapping.ByCode.Impl
{
@@ -183,6 +184,11 @@
AddCustomizer(mapKeyElementCustomizers, member, mapKeyElementCustomizer);
}
+ public IEnumerable<System.Type> GetAllCustomizedEntities()
+ {
+ return rootClassCustomizers.Keys.Concat(subclassCustomizers.Keys).Concat(joinedClassCustomizers.Keys).Concat(unionClassCustomizers.Keys);
+ }
+
public void InvokeCustomizers(System.Type type, IClassMapper mapper)
{
InvokeCustomizers(rootClassCustomizers, type, mapper);
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/ICustomizersHolder.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/ICustomizersHolder.cs 2011-04-06 17:49:34 UTC (rev 5626)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/ICustomizersHolder.cs 2011-04-06 18:11:14 UTC (rev 5627)
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
namespace NHibernate.Mapping.ByCode.Impl
{
@@ -72,5 +73,7 @@
void AddCustomizer(PropertyPath member, Action<IMapKeyMapper> mapKeyElementCustomizer);
#endregion
+
+ IEnumerable<System.Type> GetAllCustomizedEntities();
}
}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-04-06 17:49:34 UTC (rev 5626)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ModelMapper.cs 2011-04-06 18:11:14 UTC (rev 5627)
@@ -1650,5 +1650,15 @@
AddMapping(type);
}
}
+
+ public HbmMapping CompileMappingForAllExplicitAddedEntities()
+ {
+ return CompileMappingFor(customizerHolder.GetAllCustomizedEntities());
+ }
+
+ public IEnumerable<HbmMapping> CompileMappingForEachExplicitAddedEntity()
+ {
+ return CompileMappingForEach(customizerHolder.GetAllCustomizedEntities());
+ }
}
}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/BasicMappingOfSimpleClass.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/BasicMappingOfSimpleClass.cs 2011-04-06 17:49:34 UTC (rev 5626)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/BasicMappingOfSimpleClass.cs 2011-04-06 18:11:14 UTC (rev 5627)
@@ -73,7 +73,7 @@
});
ca.Property(x => x.Something, map => map.Length(150));
});
- var hbmMapping = mapper.CompileMappingFor(new[] { typeof(MyClass) });
+ var hbmMapping = mapper.CompileMappingForAllExplicitAddedEntities();
ModelIsWellFormed(hbmMapping);
}
Modified: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/ConformistMappingRegistrationTests/ClassMappingRegistrationTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/ConformistMappingRegistrationTests/ClassMappingRegistrationTest.cs 2011-04-06 17:49:34 UTC (rev 5626)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/ConformistMappingRegistrationTests/ClassMappingRegistrationTest.cs 2011-04-06 18:11:14 UTC (rev 5627)
@@ -58,6 +58,16 @@
ModelIsWellFormed(hbmMapping);
}
+ [Test]
+ public void WhenRegisterClassMappingThroughTypeThenGetMapping()
+ {
+ var mapper = new ModelMapper();
+ mapper.AddMapping(typeof(MyClassMap));
+ var hbmMapping = mapper.CompileMappingForAllExplicitAddedEntities();
+
+ ModelIsWellFormed(hbmMapping);
+ }
+
private void ModelIsWellFormed(HbmMapping hbmMapping)
{
var hbmClass = hbmMapping.RootClasses[0];
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|