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