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