|
From: <te...@us...> - 2009-02-28 19:31:59
|
Revision: 4100
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4100&view=rev
Author: tehlike
Date: 2009-02-28 19:31:56 +0000 (Sat, 28 Feb 2009)
Log Message:
-----------
Fixing problem with accessing Entity method when access strategy is field-camelcase. Fix for NH-1689
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Proxy/Poco/BasicLazyInitializer.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1689/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1689/DomainClass.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1689/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1689/SampleTest.cs
Modified: trunk/nhibernate/src/NHibernate/Proxy/Poco/BasicLazyInitializer.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Proxy/Poco/BasicLazyInitializer.cs 2009-02-24 19:34:25 UTC (rev 4099)
+++ trunk/nhibernate/src/NHibernate/Proxy/Poco/BasicLazyInitializer.cs 2009-02-28 19:31:56 UTC (rev 4100)
@@ -92,7 +92,7 @@
{
return IdentityEqualityComparer.Equals(args[0], proxy);
}
- else if (method.Equals(setIdentifierMethod))
+ else if (setIdentifierMethod!=null&&method.Equals(setIdentifierMethod))
{
Initialize();
Identifier = args[0];
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1689/DomainClass.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1689/DomainClass.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1689/DomainClass.cs 2009-02-28 19:31:56 UTC (rev 4100)
@@ -0,0 +1,22 @@
+
+
+namespace NHibernate.Test.NHSpecificTest.NH1689
+{
+ using System.Collections.Generic;
+
+ public class DomainClass
+ {
+ private int id;
+
+ public virtual int Id
+ {
+ get { return id; }
+ set { id = value; }
+ }
+
+ public virtual IList<TargetType> GetListOfTargetType<TargetType>(string someArg)
+ {
+ return new List<TargetType>();
+ }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1689/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1689/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1689/Mappings.hbm.xml 2009-02-28 19:31:56 UTC (rev 4100)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernate.Test"
+ namespace="NHibernate.Test.NHSpecificTest.NH1689" default-access="field.camelcase">
+ <class name="DomainClass">
+ <id name="Id">
+ <generator class="assigned" />
+ </id>
+ </class>
+</hibernate-mapping>
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1689/SampleTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1689/SampleTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1689/SampleTest.cs 2009-02-28 19:31:56 UTC (rev 4100)
@@ -0,0 +1,47 @@
+namespace NHibernate.Test.NHSpecificTest.NH1689
+{
+ using System.Collections.Generic;
+ using Dialect;
+ using NUnit.Framework;
+
+ [TestFixture,Ignore]
+ public class SampleTest : BugTestCase
+ {
+ protected override void OnSetUp()
+ {
+ base.OnSetUp();
+ using (ISession session = this.OpenSession())
+ {
+ DomainClass entity = new DomainClass();
+ entity.Id = 1;
+ session.Save(entity);
+ session.Flush();
+ session.Evict(entity);
+ }
+ }
+
+ protected override void OnTearDown()
+ {
+ base.OnTearDown();
+ using (ISession session = this.OpenSession())
+ {
+ string hql = "from System.Object";
+ session.Delete(hql);
+ session.Flush();
+ }
+ }
+
+ [Test]
+ public void ShouldBeAbleToCallGenericMethod()
+ {
+ using (ISession session = this.OpenSession())
+ {
+ DomainClass entity = session.Load<DomainClass>(1);
+
+ IList<string> inputStrings = entity.GetListOfTargetType<string>("arg");
+ Assert.That(inputStrings.Count == 0);
+ }
+ }
+ }
+
+}
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-02-24 19:34:25 UTC (rev 4099)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-02-28 19:31:56 UTC (rev 4100)
@@ -632,6 +632,8 @@
<Compile Include="NHSpecificTest\NH1677\Fixture.cs" />
<Compile Include="NHSpecificTest\NH1679\DomainClass.cs" />
<Compile Include="NHSpecificTest\NH1679\Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH1689\DomainClass.cs" />
+ <Compile Include="NHSpecificTest\NH1689\SampleTest.cs" />
<Compile Include="NHSpecificTest\NH280\Fixture.cs" />
<Compile Include="NHSpecificTest\NH280\Foo.cs" />
<Compile Include="NHSpecificTest\NH1018\Employee.cs" />
@@ -1666,6 +1668,7 @@
<EmbeddedResource Include="Cascade\JobBatch.hbm.xml" />
<EmbeddedResource Include="Deletetransient\Person.hbm.xml" />
<Content Include="DynamicEntity\package.html" />
+ <EmbeddedResource Include="NHSpecificTest\NH1689\Mappings.hbm.xml" />
<EmbeddedResource Include="VersionTest\Db\MsSQL\SimpleVersioned.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1675\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1677\Mappings.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|