|
From: <fab...@us...> - 2011-04-20 12:12:29
|
Revision: 5723
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5723&view=rev
Author: fabiomaulo
Date: 2011-04-20 12:12:23 +0000 (Wed, 20 Apr 2011)
Log Message:
-----------
Apply accessor on component property
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ComponetsAccessorTests.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs 2011-04-19 18:56:09 UTC (rev 5722)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/ConventionModelMapper.cs 2011-04-20 12:12:23 UTC (rev 5723)
@@ -22,6 +22,9 @@
BeforeMapProperty += MemberNoSetterToField;
BeforeMapProperty += MemberReadOnlyAccessor;
+ BeforeMapComponent += MemberToFieldAccessor;
+ BeforeMapComponent += MemberNoSetterToField;
+ BeforeMapComponent += MemberReadOnlyAccessor;
BeforeMapComponent += ComponentParentToFieldAccessor;
BeforeMapComponent += ComponentParentNoSetterToField;
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ComponetsAccessorTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ComponetsAccessorTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/ComponetsAccessorTests.cs 2011-04-20 12:12:23 UTC (rev 5723)
@@ -0,0 +1,51 @@
+using System.Linq;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.ConventionModelMapperTests
+{
+ public class ComponetsAccessorTests
+ {
+ private class MyClass
+ {
+ public int Id { get; set; }
+ private MyCompo compo;
+ public MyCompo Compo
+ {
+ get { return compo; }
+ }
+ }
+
+ private class MyCompo
+ {
+ public string Something { get; set; }
+ }
+ private HbmMapping GetMappingWithParentInCompo()
+ {
+ var mapper = new ConventionModelMapper();
+ mapper.Class<MyClass>(x =>
+ {
+ x.Id(c => c.Id);
+ x.Component(c => c.Compo);
+ });
+ mapper.Component<MyCompo>(x =>
+ {
+ x.Property(c => c.Something);
+ });
+ return mapper.CompileMappingForAllExplicitAddedEntities();
+ }
+
+ [Test]
+ public void WhenMapComoponetWithNestBidirectionalComponentThenMapParentAccessor()
+ {
+ HbmMapping mapping = GetMappingWithParentInCompo();
+
+ var hbmClass = mapping.RootClasses[0];
+ var hbmMyCompo = hbmClass.Properties.OfType<HbmComponent>().Single();
+
+ hbmMyCompo.Access.Should().Contain("camelcase");
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-19 18:56:09 UTC (rev 5722)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-20 12:12:23 UTC (rev 5723)
@@ -511,6 +511,7 @@
<Compile Include="Linq\ByMethod\SumTests.cs" />
<Compile Include="Logging\Log4NetLoggerTest.cs" />
<Compile Include="Logging\LoggerProviderTest.cs" />
+ <Compile Include="MappingByCode\ConventionModelMapperTests\ComponetsAccessorTests.cs" />
<Compile Include="MappingByCode\ConventionModelMapperTests\ComponetsParentAccessorTests.cs" />
<Compile Include="MappingByCode\ConventionModelMapperTests\PropertyToFieldAccessorTest.cs" />
<Compile Include="MappingByCode\ConventionModelMapperTests\SafePoidTests.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|