|
From: <fab...@us...> - 2011-04-04 20:53:41
|
Revision: 5609
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5609&view=rev
Author: fabiomaulo
Date: 2011-04-04 20:53:35 +0000 (Mon, 04 Apr 2011)
Log Message:
-----------
refactorized public API
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/ExplicitlyDeclaredModel.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/IClassMapper.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/IModelInspector.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/RootClassPropertiesSplitsTests.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ExplicitlyDeclaredModel.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ExplicitlyDeclaredModel.cs 2011-04-04 20:33:50 UTC (rev 5608)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ExplicitlyDeclaredModel.cs 2011-04-04 20:53:35 UTC (rev 5609)
@@ -515,5 +515,10 @@
{
return delayedEntityRegistrations.ContainsKey(type);
}
+
+ public IEnumerable<string> GetPropertiesSplits(System.Type type)
+ {
+ return null;
+ }
}
}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/IClassMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/IClassMapper.cs 2011-04-04 20:33:50 UTC (rev 5608)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/IClassMapper.cs 2011-04-04 20:53:35 UTC (rev 5609)
@@ -54,6 +54,6 @@
public interface IClassMapper<TEntity> : IClassAttributesMapper<TEntity>, IPropertyContainerMapper<TEntity> where TEntity : class
{
- void Join(Action<IJoinMapper<TEntity>> splittedMapping);
+ void Join(string splitGroupId, Action<IJoinMapper<TEntity>> splittedMapping);
}
}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/IModelInspector.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/IModelInspector.cs 2011-04-04 20:33:50 UTC (rev 5608)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/IModelInspector.cs 2011-04-04 20:53:35 UTC (rev 5609)
@@ -1,3 +1,4 @@
+using System.Collections.Generic;
using System.Reflection;
namespace NHibernate.Mapping.ByCode
@@ -32,5 +33,6 @@
bool IsArray(MemberInfo role);
bool IsDictionary(MemberInfo role);
bool IsProperty(MemberInfo member);
+ IEnumerable<string> GetPropertiesSplits(System.Type type);
}
}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs 2011-04-04 20:33:50 UTC (rev 5608)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/CustomizersImpl/ClassCustomizer.cs 2011-04-04 20:53:35 UTC (rev 5609)
@@ -109,7 +109,7 @@
CustomizersHolder.AddCustomizer(typeof (TEntity), (IClassAttributesMapper m) => m.SchemaAction(action));
}
- public void Join(Action<IJoinMapper<TEntity>> splittedMapping)
+ public void Join(string splitGroupId, Action<IJoinMapper<TEntity>> splittedMapping)
{
throw new NotImplementedException();
}
Modified: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/RootClassPropertiesSplitsTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/RootClassPropertiesSplitsTests.cs 2011-04-04 20:33:50 UTC (rev 5608)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/RootClassPropertiesSplitsTests.cs 2011-04-04 20:53:35 UTC (rev 5609)
@@ -1,3 +1,4 @@
+using System.Collections.Generic;
using NHibernate.Mapping.ByCode;
using NUnit.Framework;
using SharpTestsEx;
@@ -17,6 +18,31 @@
}
[Test, Ignore("Not implemented yet")]
+ public void WhenSplittedPropertiesThenRegisterSplitGroupIds()
+ {
+ var inspector = new ExplicitlyDeclaredModel();
+ var mapper = new ModelMapper(inspector);
+ mapper.Class<MyClass>(map =>
+ {
+ map.Id(x => x.Id, idmap => { });
+ map.Join("MyClassSplit1", mj =>
+ {
+ mj.Property(x => x.SomethingA1);
+ mj.Property(x => x.SomethingA2);
+ });
+ map.Join("MyClassSplit2", mj =>
+ {
+ mj.Property(x => x.SomethingB1);
+ mj.Property(x => x.SomethingB2);
+ });
+ map.Property(x => x.Something0);
+ });
+
+ IEnumerable<string> tablePerClassSplits = inspector.GetPropertiesSplits(typeof(MyClass));
+ tablePerClassSplits.Should().Have.SameValuesAs("MyClassSplit1", "MyClassSplit2");
+ }
+
+ [Test, Ignore("Not implemented yet")]
public void WhenSplittedPropertiesThenRegister()
{
var inspector = new ExplicitlyDeclaredModel();
@@ -24,15 +50,13 @@
mapper.Class<MyClass>(map =>
{
map.Id(x => x.Id, idmap => { });
- map.Join(mj=>
+ map.Join("MyClassSplit1", mj=>
{
- mj.Table("MyClassSplit1");
mj.Property(x => x.SomethingA1);
mj.Property(x => x.SomethingA2);
});
- map.Join(mj =>
+ map.Join("MyClassSplit2", mj =>
{
- mj.Table("MyClassSplit2");
mj.Property(x => x.SomethingB1);
mj.Property(x => x.SomethingB2);
});
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|