|
From: <fab...@us...> - 2011-04-04 17:28:00
|
Revision: 5602
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5602&view=rev
Author: fabiomaulo
Date: 2011-04-04 17:27:54 +0000 (Mon, 04 Apr 2011)
Log Message:
-----------
JoinMapper more methods
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Mapping/ByCode/FetchMode.cs
trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/JoinMapper.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinMapperTests.cs
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/FetchMode.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/FetchMode.cs 2011-04-04 17:05:30 UTC (rev 5601)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/FetchMode.cs 2011-04-04 17:27:54 UTC (rev 5602)
@@ -8,6 +8,7 @@
public static FetchMode Join = new JoinFetchMode();
public abstract HbmFetchMode ToHbm();
+ public abstract HbmJoinFetch ToHbmJoinFetch();
#region Nested type: JoinFetchMode
@@ -17,6 +18,11 @@
{
return HbmFetchMode.Join;
}
+
+ public override HbmJoinFetch ToHbmJoinFetch()
+ {
+ return HbmJoinFetch.Join;
+ }
}
#endregion
@@ -29,6 +35,11 @@
{
return HbmFetchMode.Select;
}
+
+ public override HbmJoinFetch ToHbmJoinFetch()
+ {
+ return HbmJoinFetch.Select;
+ }
}
#endregion
Modified: trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/JoinMapper.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/JoinMapper.cs 2011-04-04 17:05:30 UTC (rev 5601)
+++ trunk/nhibernate/src/NHibernate/Mapping/ByCode/Impl/JoinMapper.cs 2011-04-04 17:27:54 UTC (rev 5602)
@@ -39,7 +39,7 @@
public event TableNameChangedHandler TableNameChanged;
- public void InvokeTableNameChanged(TableNameChangedEventArgs e)
+ private void InvokeTableNameChanged(TableNameChangedEventArgs e)
{
TableNameChangedHandler handler = TableNameChanged;
if (handler != null)
@@ -59,18 +59,38 @@
public void SqlInsert(string sql)
{
+ if (hbmJoin.SqlInsert == null)
+ {
+ hbmJoin.sqlinsert = new HbmCustomSQL();
+ }
+ hbmJoin.sqlinsert.Text = new[] { sql };
}
public void SqlUpdate(string sql)
{
+ if (hbmJoin.SqlUpdate == null)
+ {
+ hbmJoin.sqlupdate = new HbmCustomSQL();
+ }
+ hbmJoin.sqlupdate.Text = new[] { sql };
}
public void SqlDelete(string sql)
{
+ if (hbmJoin.SqlDelete == null)
+ {
+ hbmJoin.sqldelete = new HbmCustomSQL();
+ }
+ hbmJoin.sqldelete.Text = new[] { sql };
}
public void Subselect(string sql)
{
+ if (hbmJoin.Subselect == null)
+ {
+ hbmJoin.subselect = new HbmSubselect();
+ }
+ hbmJoin.subselect.Text = new[] { sql };
}
public void Table(string tableName)
@@ -95,10 +115,12 @@
public void Catalog(string catalogName)
{
+ hbmJoin.catalog = catalogName;
}
public void Schema(string schemaName)
{
+ hbmJoin.schema = schemaName;
}
public void Key(Action<IKeyMapper> keyMapping)
@@ -107,14 +129,17 @@
public void Inverse(bool value)
{
+ hbmJoin.inverse = value;
}
public void Optional(bool isOptional)
{
+ hbmJoin.optional = isOptional;
}
public void Fetch(FetchMode fetchMode)
{
+ hbmJoin.fetch = fetchMode.ToHbmJoinFetch();
}
}
}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinMapperTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinMapperTests.cs 2011-04-04 17:05:30 UTC (rev 5601)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinMapperTests.cs 2011-04-04 17:27:54 UTC (rev 5602)
@@ -77,5 +77,103 @@
mapper.Table(" Pizza ");
eventCalled.Should().Be.True();
}
+
+ [Test]
+ public void CanSetCatalog()
+ {
+ var mapdoc = new HbmMapping();
+ var hbmJoin = new HbmJoin();
+ var mapper = new JoinMapper(typeof(MyClass), "AA", hbmJoin, mapdoc);
+ mapper.Catalog("pizza");
+ hbmJoin.catalog.Should().Be("pizza");
+ }
+
+ [Test]
+ public void CanSetSchema()
+ {
+ var mapdoc = new HbmMapping();
+ var hbmJoin = new HbmJoin();
+ var mapper = new JoinMapper(typeof(MyClass), "AA", hbmJoin, mapdoc);
+ mapper.Schema("pizza");
+ hbmJoin.schema.Should().Be("pizza");
+ }
+
+ [Test]
+ public void CanSetSqlInsert()
+ {
+ var mapdoc = new HbmMapping();
+ var hbmJoin = new HbmJoin();
+ var mapper = new JoinMapper(typeof(MyClass), "AA", hbmJoin, mapdoc);
+ mapper.SqlInsert("blah");
+
+ hbmJoin.SqlInsert.Should().Not.Be.Null();
+ hbmJoin.SqlInsert.Text[0].Should().Be("blah");
+ }
+
+ [Test]
+ public void SetSqlUpdate()
+ {
+ var mapdoc = new HbmMapping();
+ var hbmJoin = new HbmJoin();
+ var mapper = new JoinMapper(typeof(MyClass), "AA", hbmJoin, mapdoc);
+ mapper.SqlUpdate("blah");
+
+ hbmJoin.SqlUpdate.Should().Not.Be.Null();
+ hbmJoin.SqlUpdate.Text[0].Should().Be("blah");
+ }
+
+ [Test]
+ public void SetSqlDelete()
+ {
+ var mapdoc = new HbmMapping();
+ var hbmJoin = new HbmJoin();
+ var mapper = new JoinMapper(typeof(MyClass), "AA", hbmJoin, mapdoc);
+ mapper.SqlDelete("blah");
+
+ hbmJoin.SqlDelete.Should().Not.Be.Null();
+ hbmJoin.SqlDelete.Text[0].Should().Be("blah");
+ }
+
+ [Test]
+ public void CanSetSqlSubselect()
+ {
+ var mapdoc = new HbmMapping();
+ var hbmJoin = new HbmJoin();
+ var mapper = new JoinMapper(typeof(MyClass), "AA", hbmJoin, mapdoc);
+ mapper.Subselect("blah");
+
+ hbmJoin.Subselect.Should().Not.Be.Null();
+ hbmJoin.subselect.Text[0].Should().Be("blah");
+ }
+
+ [Test]
+ public void CanSetInverse()
+ {
+ var mapdoc = new HbmMapping();
+ var hbmJoin = new HbmJoin();
+ var mapper = new JoinMapper(typeof(MyClass), "AA", hbmJoin, mapdoc);
+ mapper.Inverse(true);
+ hbmJoin.inverse.Should().Be.True();
+ }
+
+ [Test]
+ public void CanSetOptional()
+ {
+ var mapdoc = new HbmMapping();
+ var hbmJoin = new HbmJoin();
+ var mapper = new JoinMapper(typeof(MyClass), "AA", hbmJoin, mapdoc);
+ mapper.Optional(true);
+ hbmJoin.optional.Should().Be.True();
+ }
+
+ [Test]
+ public void CanSetFetch()
+ {
+ var mapdoc = new HbmMapping();
+ var hbmJoin = new HbmJoin();
+ var mapper = new JoinMapper(typeof(MyClass), "AA", hbmJoin, mapdoc);
+ mapper.Fetch(Mapping.ByCode.FetchMode.Select);
+ hbmJoin.fetch.Should().Be(HbmJoinFetch.Select);
+ }
}
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|