|
From: <fab...@us...> - 2009-10-16 20:22:09
|
Revision: 4767
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4767&view=rev
Author: fabiomaulo
Date: 2009-10-16 20:21:57 +0000 (Fri, 16 Oct 2009)
Log Message:
-----------
Merge r4766 (re-fix NH-1255)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/nhibernate-mapping.xsd
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1255/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1255/Domain.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1255/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1255/Mappings.hbm.xml
Modified: trunk/nhibernate/src/NHibernate/nhibernate-mapping.xsd
===================================================================
--- trunk/nhibernate/src/NHibernate/nhibernate-mapping.xsd 2009-10-16 20:18:56 UTC (rev 4766)
+++ trunk/nhibernate/src/NHibernate/nhibernate-mapping.xsd 2009-10-16 20:21:57 UTC (rev 4767)
@@ -743,6 +743,7 @@
<xs:attribute name="foreign-key" type="xs:string" />
<xs:attribute name="lazy" type="restrictedLaziness">
</xs:attribute>
+ <xs:attribute name="not-found" default="exception" type="notFoundMode"/>
</xs:complexType>
</xs:element>
<xs:element name="key-property">
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1255/Domain.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1255/Domain.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1255/Domain.cs 2009-10-16 20:21:57 UTC (rev 4767)
@@ -0,0 +1,65 @@
+using System;
+
+namespace NHibernate.Test.NHSpecificTest.NH1255
+{
+ public class Customer
+ {
+ public int Id { get; set; }
+ public string Name { get; set; }
+ }
+
+ public class CustomerValue
+ {
+ public CustomerValueId Id { get; set; }
+ public decimal Value { get; set; }
+ }
+
+ public class CustomerValueId : IEquatable<CustomerValueId>
+ {
+ private int? requestedHashCode;
+ public Customer Customer { get; set; }
+ public int CustomKey { get; set; }
+
+ public bool Equals(CustomerValueId other)
+ {
+ if (ReferenceEquals(null, other))
+ {
+ return false;
+ }
+ if (ReferenceEquals(this, other))
+ {
+ return true;
+ }
+ return Equals(other.Customer, Customer) && other.CustomKey == CustomKey;
+ }
+
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj))
+ {
+ return false;
+ }
+ if (ReferenceEquals(this, obj))
+ {
+ return true;
+ }
+ if (obj.GetType() != typeof (CustomerValueId))
+ {
+ return false;
+ }
+ return Equals((CustomerValueId) obj);
+ }
+
+ public override int GetHashCode()
+ {
+ if (!requestedHashCode.HasValue)
+ {
+ unchecked
+ {
+ requestedHashCode = ((Customer != null ? Customer.GetHashCode() : base.GetHashCode()) * 397) ^ CustomKey;
+ }
+ }
+ return requestedHashCode.Value;
+ }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1255/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1255/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1255/Fixture.cs 2009-10-16 20:21:57 UTC (rev 4767)
@@ -0,0 +1,19 @@
+using NHibernate.Cfg;
+using NUnit.Framework;
+
+namespace NHibernate.Test.NHSpecificTest.NH1255
+{
+ [TestFixture]
+ public class Fixture
+ {
+ [Test]
+ public void CanLoadMappingWithNotNullIgnore()
+ {
+ var cfg = new Configuration();
+ if (TestConfigurationHelper.hibernateConfigFile != null)
+ cfg.Configure(TestConfigurationHelper.hibernateConfigFile);
+ Assert.DoesNotThrow(
+ () => cfg.AddResource("NHibernate.Test.NHSpecificTest.NH1255.Mappings.hbm.xml", typeof (Customer).Assembly));
+ }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1255/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1255/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1255/Mappings.hbm.xml 2009-10-16 20:21:57 UTC (rev 4767)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernate.Test"
+ namespace="NHibernate.Test.NHSpecificTest.NH1255"
+ default-lazy="false">
+
+ <class name="Customer">
+ <id name="Id">
+ <generator class="native" />
+ </id>
+ <property name="Name" />
+ </class>
+
+ <class name="CustomerValue" >
+ <composite-id name="Id" class="CustomerValueId">
+ <key-many-to-one class="Customer" name="Customer" not-found="ignore" />
+ <key-property name="CustomKey" />
+ </composite-id>
+ <property name="Value" />
+ </class>
+
+</hibernate-mapping>
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-10-16 20:18:56 UTC (rev 4766)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2009-10-16 20:21:57 UTC (rev 4767)
@@ -395,6 +395,8 @@
<Compile Include="NHSpecificTest\ElementsEnums\IntEnumsBagFixture.cs" />
<Compile Include="NHSpecificTest\ElementsEnums\Something.cs" />
<Compile Include="NHSpecificTest\Futures\FutureQueryOverFixture.cs" />
+ <Compile Include="NHSpecificTest\NH1255\Domain.cs" />
+ <Compile Include="NHSpecificTest\NH1255\Fixture.cs" />
<Compile Include="NHSpecificTest\NH1895\DomainClasses.cs" />
<Compile Include="NHSpecificTest\NH1895\SampleTest.cs" />
<Compile Include="NHSpecificTest\NH1922\Fixture.cs" />
@@ -2042,6 +2044,7 @@
<EmbeddedResource Include="CfgTest\Loquacious\EntityToCache.hbm.xml" />
<EmbeddedResource Include="DriverTest\SqlServerCeEntity.hbm.xml" />
<Content Include="DynamicEntity\package.html" />
+ <EmbeddedResource Include="NHSpecificTest\NH1255\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1895\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1985\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1990\Mappings.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|