From: <fab...@us...> - 2010-08-03 11:41:31
|
Revision: 5103 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5103&view=rev Author: fabiomaulo Date: 2010-08-03 11:41:25 +0000 (Tue, 03 Aug 2010) Log Message: ----------- Fix NH-2148 Modified Paths: -------------- trunk/nhibernate/src/NHibernate.ByteCode.Castle/LazyFieldInterceptor.cs trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2148/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2148/BugFixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2148/Domain.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2148/Mappings.hbm.xml Modified: trunk/nhibernate/src/NHibernate.ByteCode.Castle/LazyFieldInterceptor.cs =================================================================== --- trunk/nhibernate/src/NHibernate.ByteCode.Castle/LazyFieldInterceptor.cs 2010-08-03 10:47:31 UTC (rev 5102) +++ trunk/nhibernate/src/NHibernate.ByteCode.Castle/LazyFieldInterceptor.cs 2010-08-03 11:41:25 UTC (rev 5103) @@ -36,6 +36,10 @@ FieldInterceptor.Intercept(invocation.InvocationTarget, ReflectHelper.GetPropertyName(invocation.Method), null); invocation.Proceed(); } + else + { + invocation.Proceed(); + } } else { Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2148/BugFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2148/BugFixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2148/BugFixture.cs 2010-08-03 11:41:25 UTC (rev 5103) @@ -0,0 +1,54 @@ +using NHibernate.ByteCode.Castle; +using NHibernate.Cfg; +using NUnit.Framework; +namespace NHibernate.Test.NHSpecificTest.NH2148 +{ + public class BugFixture : BugTestCase + { + protected override void Configure(NHibernate.Cfg.Configuration configuration) + { + configuration.SetProperty(Environment.ProxyFactoryFactoryClass, + typeof(ProxyFactoryFactory).AssemblyQualifiedName); + } + + protected override void OnSetUp() + { + using (var s = OpenSession()) + using (var tx = s.BeginTransaction()) + { + s.Persist(new Book + { + Id = 1, + ALotOfText = "a lot of text ..." + }); + tx.Commit(); + } + + } + + protected override void OnTearDown() + { + using (var s = OpenSession()) + using (var tx = s.BeginTransaction()) + { + Assert.That(s.CreateSQLQuery("delete from Book").ExecuteUpdate(), Is.EqualTo(1)); + tx.Commit(); + } + } + + [Test] + public void CanCallLazyPropertyEntityMethod() + { + using (ISession s = OpenSession()) + { + var book = s.Get<Book>(1) as IBook; + + Assert.IsNotNull(book); + + string s1 = "testing1"; + string s2 = book.SomeMethod(s1); + Assert.AreEqual(s1, s2); + } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2148/Domain.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2148/Domain.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2148/Domain.cs 2010-08-03 11:41:25 UTC (rev 5103) @@ -0,0 +1,17 @@ +namespace NHibernate.Test.NHSpecificTest.NH2148 +{ + public class Book: IBook + { + public virtual int Id { get; set; } + public virtual string ALotOfText { get; set; } + public virtual string SomeMethod(string arg) + { + return arg; + } + } + + public interface IBook + { + string SomeMethod(string arg); + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2148/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2148/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2148/Mappings.hbm.xml 2010-08-03 11:41:25 UTC (rev 5103) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH2148"> + + <class name="Book"> + <id name="Id"> + <generator class="assigned" /> + </id> + <property name="ALotOfText" lazy="true" /> + </class> + +</hibernate-mapping> Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-08-03 10:47:31 UTC (rev 5102) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-08-03 11:41:25 UTC (rev 5103) @@ -443,6 +443,8 @@ <Compile Include="Linq\QueryCacheableTests.cs" /> <Compile Include="Linq\QueryReuseTests.cs" /> <Compile Include="Linq\ReadonlyTestCase.cs" /> + <Compile Include="NHSpecificTest\NH2148\BugFixture.cs" /> + <Compile Include="NHSpecificTest\NH2148\Domain.cs" /> <Compile Include="NHSpecificTest\NH2245\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2245\Model.cs" /> <Compile Include="UtilityTest\ReflectionHelperIsMethodOfTests.cs" /> @@ -2226,6 +2228,7 @@ <EmbeddedResource Include="CollectionTest\NullableValueTypeElementMapFixture.hbm.xml" /> <EmbeddedResource Include="DriverTest\EntityForMs2008.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="NHSpecificTest\NH2148\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2245\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2257\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2208\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |