diff --git a/BreakingChanges.txt b/BreakingChanges.txt
index 0d66a73f..3414d36c 100644
--- a/BreakingChanges.txt
+++ b/BreakingChanges.txt
@@ -1,14 +1,11 @@
Changes (1.3.2 to 2.0)
========================
-1. Default transaction isolation level is now IsolationLevel.Unspecified instead of old IsolationLevel.ReadUncommitted
- - You need to update your configuration to set the isolation level where old ReadUncommitted was expected, see Spring documentation's Transaction Management chapter
-
-2. Protected fields were changed to private. Access is now allowed via public/protected property member.
+1. Protected fields were changed to private. Access is now allowed via public/protected property member.
-3. Most of members marked as Obsolete before 2.0 release were removed.
+2. Most of members marked as Obsolete before 2.0 release were removed.
-4. DbProvider automatically sets BindByName to true for Oracle's ODP.NET OracleCommand instances when created
+3. DbProvider automatically sets BindByName to true for Oracle's ODP.NET OracleCommand instances when created
Changes (1.3.1 to 1.3.2)
========================
diff --git a/Spring.Net.2010.sln b/Spring.Net.2010.sln
index 5cc8e538..42b41f3f 100644
--- a/Spring.Net.2010.sln
+++ b/Spring.Net.2010.sln
@@ -108,6 +108,7 @@ EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Template.Velocity.Castle.2010", "src\Spring\Spring.Template.Velocity.Castle\Spring.Template.Velocity.Castle.2010.csproj", "{250601C0-A4AC-41FE-B484-51A9B0D5473D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Template.Velocity.Castle.Tests.2010", "test\Spring\Spring.Template.Velocity.Castle.Tests\Spring.Template.Velocity.Castle.Tests.2010.csproj", "{8D6ED392-8A1F-41C0-A765-22CF384EDEA1}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests", "test\Spring\Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests\Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests.csproj", "{DE276F7C-4564-49EC-AABC-B964EC3D1626}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -578,7 +579,17 @@ Global
{8D6ED392-8A1F-41C0-A765-22CF384EDEA1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8D6ED392-8A1F-41C0-A765-22CF384EDEA1}.Release|Any CPU.Build.0 = Release|Any CPU
{8D6ED392-8A1F-41C0-A765-22CF384EDEA1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {8D6ED392-8A1F-41C0-A765-22CF384EDEA1}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {8D6ED392-8A1F-41C0-A765-22CF384EDEA1}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {DE276F7C-4564-49EC-AABC-B964EC3D1626}.Debug|.NET.ActiveCfg = Debug|Any CPU
+ {DE276F7C-4564-49EC-AABC-B964EC3D1626}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DE276F7C-4564-49EC-AABC-B964EC3D1626}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DE276F7C-4564-49EC-AABC-B964EC3D1626}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {DE276F7C-4564-49EC-AABC-B964EC3D1626}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {DE276F7C-4564-49EC-AABC-B964EC3D1626}.Release|.NET.ActiveCfg = Release|Any CPU
+ {DE276F7C-4564-49EC-AABC-B964EC3D1626}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DE276F7C-4564-49EC-AABC-B964EC3D1626}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DE276F7C-4564-49EC-AABC-B964EC3D1626}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {DE276F7C-4564-49EC-AABC-B964EC3D1626}.Release|Mixed Platforms.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Spring.build b/Spring.build
index e010e2ad..87a5ae31 100644
--- a/Spring.build
+++ b/Spring.build
@@ -540,6 +540,7 @@ Commandline Examples:
+
@@ -904,6 +905,8 @@ Commandline Examples:
+
+
@@ -1858,6 +1861,7 @@ Commandline Examples:
+
diff --git a/build-release-all.cmd b/build-release-all.cmd
index 1837c845..af5b1337 100644
--- a/build-release-all.cmd
+++ b/build-release-all.cmd
@@ -7,7 +7,8 @@ cd ..
@echo ...
@echo Running full Build Script, capturing output to buildlog.txt file...
@echo Start Time: %time%
-build-support\tools\nant\bin\nant clean package -f:spring.build -D:project.build.sign=true -D:build-ems=true -D:test.integration.ems=false -D:test.integration.data=true -D:mstest.exe="c:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\mstest.exe" -D:package.version=2.0.0 -D:nuget.version.suffix=RC2 -D:vs-net.mstest.bin.dir="c:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE" -D:skipmstestrun=true > buildlog.txt
+build-support\tools\nant\bin\nant clean package -f:spring.build -D:project.build.sign=true -D:build-ems=true -D:test.integration.ems=false -D:test.integration.data=true -D:mstest.exe="c:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\mstest.exe" -D:package.version=2.0.0 -D:vs-net.mstest.bin.dir="c:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE" -D:skipmstestrun=true > buildlog.txt
+rem for reference, package suffix arg = -D:nuget.version.suffix=RC2
@echo .
@echo ..
@echo ...
diff --git a/changelog.txt b/changelog.txt
index 4c34cd02..84eae382 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -2,6 +2,15 @@ SPRING.NET FRAMEWORK CHANGELOG
==============================
http://www.springframework.net
+*****************************************************************************************
+Release Version 2.0.0 March 27, 2015
+
+Release Notes - Spring.NET - Version 2.0.0
+
+
+
+
+
*****************************************************************************************
Release Version 1.3.2 August 1, 2011
diff --git a/doc/reference/src/transaction.xml b/doc/reference/src/transaction.xml
index 108f8bbf..b00e55ed 100644
--- a/doc/reference/src/transaction.xml
+++ b/doc/reference/src/transaction.xml
@@ -1068,7 +1068,7 @@ mgr.DeleteTwoTestObjects("Jack", "Jill");
No
- Unspecified
+ ReadCommitted
The transaction isolation level
@@ -1162,7 +1162,7 @@ mgr.DeleteTwoTestObjects("Jack", "Jill");
The isolation level is
- IsolationLevel.Unspecified
+ IsolationLevel.ReadCommitted
diff --git a/src/Spring/Spring.Aop/Spring.Aop.nuspec b/src/Spring/Spring.Aop/Spring.Aop.nuspec
index 7b818fee..1b0d948d 100644
--- a/src/Spring/Spring.Aop/Spring.Aop.nuspec
+++ b/src/Spring/Spring.Aop/Spring.Aop.nuspec
@@ -14,7 +14,7 @@
en-US
-
+
diff --git a/src/Spring/Spring.Core/Core/IO/EncodedResource.cs b/src/Spring/Spring.Core/Core/IO/EncodedResource.cs
index c1b4a591..ed7e2175 100644
--- a/src/Spring/Spring.Core/Core/IO/EncodedResource.cs
+++ b/src/Spring/Spring.Core/Core/IO/EncodedResource.cs
@@ -50,7 +50,7 @@ namespace Spring.Core.IO
/// Create an encoded resource, autodetecting the encoding from the resource stream.
///
/// the resource to read from. Must not be null
- /// whether to autoDetect encoding from byte-order marks ()
+ /// whether to autoDetect encoding from byte-order marks ()
public EncodedResource(IResource resource, bool autoDetectEncoding)
:this(resource, null, autoDetectEncoding)
{
@@ -62,7 +62,7 @@ namespace Spring.Core.IO
///
/// the resource to read from. Must not be null
/// the encoding to use. If null, encoding will be autodetected.
- /// whether to autoDetect encoding from byte-order marks ()
+ /// whether to autoDetect encoding from byte-order marks ()
public EncodedResource(IResource resource, Encoding encoding, bool autoDetectEncoding)
{
AssertUtils.ArgumentNotNull(resource, "resource");
@@ -88,7 +88,7 @@ namespace Spring.Core.IO
}
///
- /// whether to autoDetect encoding from byte-order marks ()
+ /// whether to autoDetect encoding from byte-order marks ()
///
public bool AutoDetectEncoding
{
diff --git a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateTxScopeTransactionManager.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateTxScopeTransactionManager.cs
index 9342eee6..fa51c74e 100644
--- a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateTxScopeTransactionManager.cs
+++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateTxScopeTransactionManager.cs
@@ -342,10 +342,12 @@ namespace Spring.Data.NHibernate
///
protected override bool IsExistingTransaction(object transaction)
{
- return
- ((HibernateTransactionObject)transaction).PromotableTxScopeTransactionObject.TxScopeAdapter.
- IsExistingTransaction;
- //return ((HibernateTransactionObject) transaction).HasTransaction();
+ var hibernateTransactionObject = ((HibernateTransactionObject) transaction);
+
+ var hasExistingPromotableTxScopeTransaction = hibernateTransactionObject.PromotableTxScopeTransactionObject.TxScopeAdapter.IsExistingTransaction;
+ var hasExistingTransaction = hibernateTransactionObject.HasTransaction();
+
+ return hasExistingPromotableTxScopeTransaction && hasExistingTransaction;
}
///
@@ -951,12 +953,14 @@ namespace Spring.Data.NHibernate
}
*/
ISession session = txObject.SessionHolder.Session;
+
if (txObject.NewSessionHolder)
{
if (log.IsDebugEnabled)
{
log.Debug("Closing Hibernate Session [" + session + "] after transaction");
}
+
SessionFactoryUtils.CloseSessionOrRegisterDeferredClose(session, SessionFactory);
}
else
@@ -970,9 +974,8 @@ namespace Spring.Data.NHibernate
session.FlushMode = txObject.SessionHolder.PreviousFlushMode;
}
}
+
txObject.SessionHolder.Clear();
-
-
}
private class HibernateTransactionObject : AdoTransactionObjectSupport
diff --git a/src/Spring/Spring.Data.NHibernate3/Spring.Data.NHibernate3.nuspec b/src/Spring/Spring.Data.NHibernate3/Spring.Data.NHibernate3.nuspec
index 2da6b6e2..adc5c59e 100644
--- a/src/Spring/Spring.Data.NHibernate3/Spring.Data.NHibernate3.nuspec
+++ b/src/Spring/Spring.Data.NHibernate3/Spring.Data.NHibernate3.nuspec
@@ -15,9 +15,9 @@
-
-
-
+
+
+
diff --git a/src/Spring/Spring.Data.NHibernate4/Spring.Data.NHibernate4.nuspec b/src/Spring/Spring.Data.NHibernate4/Spring.Data.NHibernate4.nuspec
index 5281d204..483e5689 100644
--- a/src/Spring/Spring.Data.NHibernate4/Spring.Data.NHibernate4.nuspec
+++ b/src/Spring/Spring.Data.NHibernate4/Spring.Data.NHibernate4.nuspec
@@ -15,9 +15,9 @@
-
-
-
+
+
+
diff --git a/src/Spring/Spring.Data/Spring.Data.nuspec b/src/Spring/Spring.Data/Spring.Data.nuspec
index 42c5c045..c927c461 100644
--- a/src/Spring/Spring.Data/Spring.Data.nuspec
+++ b/src/Spring/Spring.Data/Spring.Data.nuspec
@@ -14,8 +14,8 @@
en-US
-
-
+
+
diff --git a/src/Spring/Spring.Data/Transaction/Support/DefaultTransactionDefinition.cs b/src/Spring/Spring.Data/Transaction/Support/DefaultTransactionDefinition.cs
index 186cba68..972c4017 100644
--- a/src/Spring/Spring.Data/Transaction/Support/DefaultTransactionDefinition.cs
+++ b/src/Spring/Spring.Data/Transaction/Support/DefaultTransactionDefinition.cs
@@ -68,7 +68,7 @@ namespace Spring.Transaction.Support
//TODO Refactoring to sync with Spring 2.0 for nt/enums for various default values.
private TransactionPropagation _transactionPropagation = TransactionPropagation.Required;
- private IsolationLevel _transactionIsolationLevel = IsolationLevel.Unspecified;
+ private IsolationLevel _transactionIsolationLevel = IsolationLevel.ReadCommitted;
private int _timeout = DefaultTransactionDefinition.TIMEOUT_DEFAULT;
private bool _readOnly = false;
private string _name = null;
diff --git a/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Connections/EmsTransactionManager.cs b/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Connections/EmsTransactionManager.cs
index 48452f56..efa3ea9f 100644
--- a/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Connections/EmsTransactionManager.cs
+++ b/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Connections/EmsTransactionManager.cs
@@ -169,7 +169,7 @@ namespace Spring.Messaging.Ems.Connections
protected override void DoBegin(object transaction, ITransactionDefinition definition)
{
//This is the default value defined in DefaultTransactionDefinition
- if (definition.TransactionIsolationLevel != IsolationLevel.Unspecified)
+ if (definition.TransactionIsolationLevel != IsolationLevel.ReadCommitted)
{
throw new InvalidIsolationLevelException("EMS does not support an isoliation level concept");
}
diff --git a/src/Spring/Spring.Messaging.Ems/Spring.Messaging.Ems.nuspec b/src/Spring/Spring.Messaging.Ems/Spring.Messaging.Ems.nuspec
index 758ec2b8..486804ad 100644
--- a/src/Spring/Spring.Messaging.Ems/Spring.Messaging.Ems.nuspec
+++ b/src/Spring/Spring.Messaging.Ems/Spring.Messaging.Ems.nuspec
@@ -14,8 +14,8 @@
en-US
-
-
+
+
diff --git a/src/Spring/Spring.Messaging.Nms/Messaging/Nms/Connections/NmsTransactionManager.cs b/src/Spring/Spring.Messaging.Nms/Messaging/Nms/Connections/NmsTransactionManager.cs
index cb4afc48..fd6542fe 100644
--- a/src/Spring/Spring.Messaging.Nms/Messaging/Nms/Connections/NmsTransactionManager.cs
+++ b/src/Spring/Spring.Messaging.Nms/Messaging/Nms/Connections/NmsTransactionManager.cs
@@ -186,7 +186,7 @@ namespace Spring.Messaging.Nms.Connections
protected override void DoBegin(object transaction, ITransactionDefinition definition)
{
//This is the default value defined in DefaultTransactionDefinition
- if (definition.TransactionIsolationLevel != IsolationLevel.Unspecified)
+ if (definition.TransactionIsolationLevel != IsolationLevel.ReadCommitted)
{
throw new InvalidIsolationLevelException("NMS does not support an isoliation level concept");
}
diff --git a/src/Spring/Spring.Messaging.Nms/Spring.Messaging.Nms.nuspec b/src/Spring/Spring.Messaging.Nms/Spring.Messaging.Nms.nuspec
index 14a59d37..dd225659 100644
--- a/src/Spring/Spring.Messaging.Nms/Spring.Messaging.Nms.nuspec
+++ b/src/Spring/Spring.Messaging.Nms/Spring.Messaging.Nms.nuspec
@@ -15,8 +15,8 @@
-
-
+
+
diff --git a/src/Spring/Spring.Messaging/Spring.Messaging.nuspec b/src/Spring/Spring.Messaging/Spring.Messaging.nuspec
index 1be161b5..18736da3 100644
--- a/src/Spring/Spring.Messaging/Spring.Messaging.nuspec
+++ b/src/Spring/Spring.Messaging/Spring.Messaging.nuspec
@@ -14,8 +14,8 @@
en-US
-
-
+
+
diff --git a/src/Spring/Spring.Scheduling.Quartz2/Spring.Scheduling.Quartz2.nuspec b/src/Spring/Spring.Scheduling.Quartz2/Spring.Scheduling.Quartz2.nuspec
index fe5295cb..949adb9f 100644
--- a/src/Spring/Spring.Scheduling.Quartz2/Spring.Scheduling.Quartz2.nuspec
+++ b/src/Spring/Spring.Scheduling.Quartz2/Spring.Scheduling.Quartz2.nuspec
@@ -15,8 +15,8 @@
-
-
+
+
diff --git a/src/Spring/Spring.Services/Spring.Services.nuspec b/src/Spring/Spring.Services/Spring.Services.nuspec
index ea9b7135..8c6f2b86 100644
--- a/src/Spring/Spring.Services/Spring.Services.nuspec
+++ b/src/Spring/Spring.Services/Spring.Services.nuspec
@@ -14,7 +14,7 @@
en-US
-
+
diff --git a/src/Spring/Spring.Template.Velocity.Castle/Spring.Template.Velocity.Castle.2010.csproj b/src/Spring/Spring.Template.Velocity.Castle/Spring.Template.Velocity.Castle.2010.csproj
index 99cbac0a..1706c6e7 100644
--- a/src/Spring/Spring.Template.Velocity.Castle/Spring.Template.Velocity.Castle.2010.csproj
+++ b/src/Spring/Spring.Template.Velocity.Castle/Spring.Template.Velocity.Castle.2010.csproj
@@ -116,11 +116,11 @@
-
\ No newline at end of file
diff --git a/src/Spring/Spring.Template.Velocity/Spring.Template.Velocity.nuspec b/src/Spring/Spring.Template.Velocity/Spring.Template.Velocity.nuspec
index e2799c02..970248c9 100644
--- a/src/Spring/Spring.Template.Velocity/Spring.Template.Velocity.nuspec
+++ b/src/Spring/Spring.Template.Velocity/Spring.Template.Velocity.nuspec
@@ -14,7 +14,7 @@
-
+
diff --git a/src/Spring/Spring.Testing.Microsoft/Spring.Testing.Microsoft.nuspec b/src/Spring/Spring.Testing.Microsoft/Spring.Testing.Microsoft.nuspec
index 126a2bb0..5eeaa665 100644
--- a/src/Spring/Spring.Testing.Microsoft/Spring.Testing.Microsoft.nuspec
+++ b/src/Spring/Spring.Testing.Microsoft/Spring.Testing.Microsoft.nuspec
@@ -14,8 +14,8 @@
en-US
-
-
+
+
diff --git a/src/Spring/Spring.Testing.NUnit/Spring.Testing.NUnit.nuspec b/src/Spring/Spring.Testing.NUnit/Spring.Testing.NUnit.nuspec
index 3c072084..e642198e 100644
--- a/src/Spring/Spring.Testing.NUnit/Spring.Testing.NUnit.nuspec
+++ b/src/Spring/Spring.Testing.NUnit/Spring.Testing.NUnit.nuspec
@@ -15,8 +15,8 @@
-
-
+
+
diff --git a/src/Spring/Spring.Web.Conversation.NHibernate3/Spring.Web.Conversation.NHibernate3.nuspec b/src/Spring/Spring.Web.Conversation.NHibernate3/Spring.Web.Conversation.NHibernate3.nuspec
index 9d3839e8..e0e11b8d 100644
--- a/src/Spring/Spring.Web.Conversation.NHibernate3/Spring.Web.Conversation.NHibernate3.nuspec
+++ b/src/Spring/Spring.Web.Conversation.NHibernate3/Spring.Web.Conversation.NHibernate3.nuspec
@@ -13,7 +13,7 @@
en-US
-
+
diff --git a/src/Spring/Spring.Web.Extensions/Spring.Web.Extensions.nuspec b/src/Spring/Spring.Web.Extensions/Spring.Web.Extensions.nuspec
index ed851405..27976968 100644
--- a/src/Spring/Spring.Web.Extensions/Spring.Web.Extensions.nuspec
+++ b/src/Spring/Spring.Web.Extensions/Spring.Web.Extensions.nuspec
@@ -13,8 +13,8 @@
Interfaces and classes that provide ASP.NET AJAX 1.0 support in Spring.Net
en-US
-
-
+
+
diff --git a/src/Spring/Spring.Web.Mvc3/Spring.Web.Mvc3.nuspec b/src/Spring/Spring.Web.Mvc3/Spring.Web.Mvc3.nuspec
index aa17705a..e32b19de 100644
--- a/src/Spring/Spring.Web.Mvc3/Spring.Web.Mvc3.nuspec
+++ b/src/Spring/Spring.Web.Mvc3/Spring.Web.Mvc3.nuspec
@@ -13,8 +13,8 @@
en-US
-
-
+
+
diff --git a/src/Spring/Spring.Web.Mvc4/Spring.Web.Mvc4.nuspec b/src/Spring/Spring.Web.Mvc4/Spring.Web.Mvc4.nuspec
index 9c25340e..8d5b4ed0 100644
--- a/src/Spring/Spring.Web.Mvc4/Spring.Web.Mvc4.nuspec
+++ b/src/Spring/Spring.Web.Mvc4/Spring.Web.Mvc4.nuspec
@@ -13,8 +13,8 @@
en-US
-
-
+
+
diff --git a/src/Spring/Spring.Web.Mvc5/Spring.Web.Mvc5.nuspec b/src/Spring/Spring.Web.Mvc5/Spring.Web.Mvc5.nuspec
index b310a20f..56678030 100644
--- a/src/Spring/Spring.Web.Mvc5/Spring.Web.Mvc5.nuspec
+++ b/src/Spring/Spring.Web.Mvc5/Spring.Web.Mvc5.nuspec
@@ -13,8 +13,8 @@
en-US
-
-
+
+
diff --git a/src/Spring/Spring.Web/Spring.Web.nuspec b/src/Spring/Spring.Web/Spring.Web.nuspec
index e5daebcc..28f894b1 100644
--- a/src/Spring/Spring.Web/Spring.Web.nuspec
+++ b/src/Spring/Spring.Web/Spring.Web.nuspec
@@ -14,7 +14,7 @@
en-US
-
+
diff --git a/test/Spring/Spring.Data.Integration.Tests/Data/Spring.Data.Integration.Tests_Spring_database.sql b/test/Spring/Spring.Data.Integration.Tests/Data/Spring.Data.Integration.Tests_Spring_database.sql
index 50b2b976..c5464272 100644
Binary files a/test/Spring/Spring.Data.Integration.Tests/Data/Spring.Data.Integration.Tests_Spring_database.sql and b/test/Spring/Spring.Data.Integration.Tests/Data/Spring.Data.Integration.Tests_Spring_database.sql differ
diff --git a/test/Spring/Spring.Data.NHibernate4.Integration.Tests/AssemblyInfo.cs b/test/Spring/Spring.Data.NHibernate4.Integration.Tests/AssemblyInfo.cs
index 74c9ff94..f2e9bd31 100644
--- a/test/Spring/Spring.Data.NHibernate4.Integration.Tests/AssemblyInfo.cs
+++ b/test/Spring/Spring.Data.NHibernate4.Integration.Tests/AssemblyInfo.cs
@@ -1,4 +1,4 @@
using System.Reflection;
-[assembly: AssemblyTitle("Spring.Data.NHibernate3 Integration Tests")]
-[assembly: AssemblyDescription("Integration tests for Spring.Data.NHibernate3 assembly")]
+[assembly: AssemblyTitle("Spring.Data.NHibernate4 Integration Tests")]
+[assembly: AssemblyDescription("Integration tests for Spring.Data.NHibernate4 assembly")]
diff --git a/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/App.config b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/App.config
new file mode 100644
index 00000000..3feb6038
--- /dev/null
+++ b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/App.config
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Container.cs b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Container.cs
new file mode 100644
index 00000000..981767a2
--- /dev/null
+++ b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Container.cs
@@ -0,0 +1,10 @@
+using System;
+
+namespace Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests
+{
+ public class Container : IContainer
+ {
+ public Guid Id { get; set; }
+ public string Name { get; set; }
+ }
+}
diff --git a/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/HibernateTxScopeTransactionManagerNestedTransactionSuspensionTests.cs b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/HibernateTxScopeTransactionManagerNestedTransactionSuspensionTests.cs
new file mode 100644
index 00000000..55e05c9a
--- /dev/null
+++ b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/HibernateTxScopeTransactionManagerNestedTransactionSuspensionTests.cs
@@ -0,0 +1,49 @@
+using NUnit.Framework;
+
+using Spring.Testing.NUnit;
+
+namespace Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests
+{
+ [TestFixture]
+ public class HibernateTxScopeTransactionManagerNestedTransactionSuspensionTests : AbstractTransactionalSpringContextTests
+ {
+ #region DI
+
+ public IService1 Service1 { get; set; }
+ public IService2 Service2 { get; set; }
+
+ #endregion
+
+ protected override string[] ConfigLocations
+ {
+ get
+ {
+ return new[]
+ {
+ "config://spring/objects",
+ "assembly://Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.Configuration.xml",
+ "assembly://Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.NHibernate.xml",
+ "assembly://Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.HibernateTxScopeTransactionManager.xml"
+ };
+ }
+ }
+
+ [Test]
+ public void CanSuspendTransactionOnNotSupported()
+ {
+ Service1.ServiceMethodWithNotSupported1();
+ }
+
+ [Test]
+ public void CanSuspendTransactionOnNotSupportedWithNestedRequiresNew()
+ {
+ Service2.ServiceMethodWithNotSupported();
+ }
+
+ [Test]
+ public void CanSuspendTransactionOnNotSupportedWithNestedRequired()
+ {
+ Service1.ServiceMethodWithNotSupported3();
+ }
+ }
+}
diff --git a/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/IContainer.cs b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/IContainer.cs
new file mode 100644
index 00000000..82264794
--- /dev/null
+++ b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/IContainer.cs
@@ -0,0 +1,10 @@
+using System;
+
+namespace Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests
+{
+ public interface IContainer
+ {
+ Guid Id { get; set; }
+ string Name { get; set; }
+ }
+}
diff --git a/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/IService1.cs b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/IService1.cs
new file mode 100644
index 00000000..330273be
--- /dev/null
+++ b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/IService1.cs
@@ -0,0 +1,15 @@
+namespace Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests
+{
+ public interface IService1
+ {
+ void ServiceMethodWithNotSupported1();
+
+ void ServiceMethodWithNotSupported2();
+
+ void ServiceMethodWithNotSupported3();
+
+ void ServiceMethodWithNotSupported4();
+
+ void ServiceMethodWithRequired();
+ }
+}
diff --git a/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/IService2.cs b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/IService2.cs
new file mode 100644
index 00000000..c0499435
--- /dev/null
+++ b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/IService2.cs
@@ -0,0 +1,9 @@
+namespace Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests
+{
+ public interface IService2
+ {
+ void ServiceMethodWithNotSupported();
+
+ void ServiceMethodWithRequiresNew();
+ }
+}
diff --git a/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Mappings.hbm.xml b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Mappings.hbm.xml
new file mode 100644
index 00000000..f90a7070
--- /dev/null
+++ b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Mappings.hbm.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Properties/AssemblyInfo.cs b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..53078829
--- /dev/null
+++ b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Properties/AssemblyInfo.cs
@@ -0,0 +1,4 @@
+using System.Reflection;
+
+[assembly: AssemblyTitle("Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests")]
+[assembly: AssemblyDescription("Integration tests for HibernteTxScopeTransactionManager suspension of transactions")]
diff --git a/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Service1.cs b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Service1.cs
new file mode 100644
index 00000000..c0ff827d
--- /dev/null
+++ b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Service1.cs
@@ -0,0 +1,45 @@
+using Spring.Data.NHibernate.Generic;
+using Spring.Transaction;
+
+namespace Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests
+{
+ [Transaction.Interceptor.Transaction(TransactionPropagation.Supports, ReadOnly = true)]
+ public class Service1 : IService1
+ {
+ #region DI
+
+ public HibernateTemplate HibernateTemplate { get; set; }
+
+ #endregion
+
+ [Transaction.Interceptor.Transaction(TransactionPropagation.NotSupported)]
+ public virtual void ServiceMethodWithNotSupported1()
+ {
+ ServiceMethodWithNotSupported2();
+ }
+
+ [Transaction.Interceptor.Transaction(TransactionPropagation.NotSupported)]
+ public virtual void ServiceMethodWithNotSupported2()
+ {
+ // do some stuff
+ }
+
+ [Transaction.Interceptor.Transaction(TransactionPropagation.NotSupported)]
+ public virtual void ServiceMethodWithNotSupported3()
+ {
+ ServiceMethodWithNotSupported4();
+ }
+
+ [Transaction.Interceptor.Transaction(TransactionPropagation.NotSupported)]
+ public virtual void ServiceMethodWithNotSupported4()
+ {
+ ServiceMethodWithRequired();
+ }
+
+ [Transaction.Interceptor.Transaction(TransactionPropagation.Required)]
+ public virtual void ServiceMethodWithRequired()
+ {
+ // do some stuff
+ }
+ }
+}
diff --git a/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Service2.cs b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Service2.cs
new file mode 100644
index 00000000..968e92e2
--- /dev/null
+++ b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Service2.cs
@@ -0,0 +1,27 @@
+using Spring.Data.NHibernate.Generic;
+using Spring.Transaction;
+
+namespace Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests
+{
+ [Transaction.Interceptor.Transaction(TransactionPropagation.Supports, ReadOnly = true)]
+ public class Service2 : IService2
+ {
+ #region DI
+
+ public HibernateTemplate HibernateTemplate { get; set; }
+
+ #endregion
+
+ [Transaction.Interceptor.Transaction(TransactionPropagation.NotSupported)]
+ public virtual void ServiceMethodWithNotSupported()
+ {
+ ServiceMethodWithRequiresNew();
+ }
+
+ [Transaction.Interceptor.Transaction(TransactionPropagation.RequiresNew)]
+ public virtual void ServiceMethodWithRequiresNew()
+ {
+ // do stuff
+ }
+ }
+}
diff --git a/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.Configuration.xml b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.Configuration.xml
new file mode 100644
index 00000000..ae0bbe88
--- /dev/null
+++ b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.Configuration.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests.build b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests.build
new file mode 100644
index 00000000..5f18d163
--- /dev/null
+++ b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests.build
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests.csproj b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests.csproj
new file mode 100644
index 00000000..c329d390
--- /dev/null
+++ b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests.csproj
@@ -0,0 +1,108 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {DE276F7C-4564-49EC-AABC-B964EC3D1626}
+ Library
+ Properties
+ Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests
+ Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests
+ v4.5
+ 512
+
+
+ true
+ full
+ false
+ ..\..\..\build\VS.Net.2010\Spring.Data.NestedTxSuspension.Integration.Tests\Debug\
+ TRACE;DEBUG;NET_4_0
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ ..\..\..\build\VS.Net.2010\Spring.Data.NestedTxSuspension.Integration.Tests\Release\
+ TRACE;NET_4_0
+ prompt
+ 4
+
+
+
+ False
+ ..\..\..\packages\Common.Logging.3.0.0\lib\net40\Common.Logging.dll
+
+
+ False
+ ..\..\..\packages\Common.Logging.Core.3.0.0\lib\net40\Common.Logging.Core.dll
+
+
+ ..\..\..\packages\NHibernate.4.0.3.4000\lib\net40\NHibernate.dll
+
+
+ False
+ ..\..\..\packages\NUnit.2.6.3\lib\nunit.framework.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {3a3a4e65-45a6-4b20-b460-0bedc302c02c}
+ Spring.Aop.2010
+
+
+ {710961A3-0DF4-49E4-A26E-F5B9C044AC84}
+ Spring.Core.2010
+
+
+ {d9c45177-0d80-4133-ab46-58f142db92aa}
+ Spring.Data.NHibernate4.2010
+
+
+ {ae00e5ab-c39a-436f-86d2-33bfe33e2e40}
+ Spring.Data.2010
+
+
+ {ed204a7b-832f-44c7-bfe3-504aebe1bcc8}
+ Spring.Testing.NUnit.2010
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.HibernateTxScopeTransactionManager.xml b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.HibernateTxScopeTransactionManager.xml
new file mode 100644
index 00000000..d4d6fa3b
--- /dev/null
+++ b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.HibernateTxScopeTransactionManager.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
diff --git a/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.NHibernate.xml b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.NHibernate.xml
new file mode 100644
index 00000000..52829b7b
--- /dev/null
+++ b/test/Spring/Spring.Data.NHibernate4.NestedTxSuspension.Integration.Tests/Spring.NHibernate.xml
@@ -0,0 +1,41 @@
+
+
+ Dependency Injection for NHibernate Session
+
+
+
+
+
+
\ No newline at end of file
diff --git a/test/Spring/Spring.Data.Tests/Data/AdoPlatformTransactionManagerTests.cs b/test/Spring/Spring.Data.Tests/Data/AdoPlatformTransactionManagerTests.cs
index 3fd24f13..15748226 100644
--- a/test/Spring/Spring.Data.Tests/Data/AdoPlatformTransactionManagerTests.cs
+++ b/test/Spring/Spring.Data.Tests/Data/AdoPlatformTransactionManagerTests.cs
@@ -45,7 +45,7 @@ namespace Spring.Data
public class AdoPlatformTransactionManagerTests
{
private MockRepository mocks;
- private IsolationLevel _defaultIsolationLevel = IsolationLevel.Unspecified;
+ private const IsolationLevel DefaultIsolationLevel = IsolationLevel.ReadCommitted;
[SetUp]
public void Setup()
@@ -75,7 +75,7 @@ namespace Spring.Data
Expect.Call(dbProvider.CreateConnection()).Return(connection);
connection.Open();
LastCall.On(connection).Repeat.Once();
- Expect.Call(connection.BeginTransaction(_defaultIsolationLevel)).Return(transaction);
+ Expect.Call(connection.BeginTransaction(DefaultIsolationLevel)).Return(transaction);
//standard tx timeout.
transaction.Commit();
LastCall.On(transaction).Repeat.Once();
@@ -116,7 +116,7 @@ namespace Spring.Data
Expect.Call(dbProvider.CreateConnection()).Return(connection);
connection.Open();
LastCall.On(connection).Repeat.Once();
- Expect.Call(connection.BeginTransaction(_defaultIsolationLevel)).Return(transaction);
+ Expect.Call(connection.BeginTransaction(DefaultIsolationLevel)).Return(transaction);
//standard tx timeout.
transaction.Rollback();
LastCall.On(transaction).Repeat.Once();
@@ -166,7 +166,7 @@ namespace Spring.Data
Expect.Call(dbProvider.CreateConnection()).Return(connection);
connection.Open();
LastCall.On(connection).Repeat.Once();
- Expect.Call(connection.BeginTransaction(_defaultIsolationLevel)).Return(transaction);
+ Expect.Call(connection.BeginTransaction(DefaultIsolationLevel)).Return(transaction);
//standard tx timeout.
transaction.Rollback();
LastCall.On(transaction).Repeat.Once();
@@ -238,7 +238,7 @@ namespace Spring.Data
Expect.Call(dbProvider.CreateConnection()).Return(connection).Repeat.Twice();
connection.Open();
LastCall.On(connection).Repeat.Twice();
- Expect.Call(connection.BeginTransaction(_defaultIsolationLevel)).Return(transaction).Repeat.Twice();
+ Expect.Call(connection.BeginTransaction(DefaultIsolationLevel)).Return(transaction).Repeat.Twice();
//standard tx timeout.
transaction.Rollback();
LastCall.On(transaction).Repeat.Once();
@@ -280,7 +280,7 @@ namespace Spring.Data
Expect.Call(dbProvider.CreateConnection()).Return(connection);
connection.Open();
LastCall.On(connection).Repeat.Once();
- Expect.Call(connection.BeginTransaction(_defaultIsolationLevel)).Return(transaction);
+ Expect.Call(connection.BeginTransaction(DefaultIsolationLevel)).Return(transaction);
transaction.Commit();
LastCall.On(transaction).Repeat.Once();
connection.Dispose();
@@ -292,7 +292,7 @@ namespace Spring.Data
Expect.Call(dbProvider2.CreateConnection()).Return(connection2);
connection2.Open();
LastCall.On(connection2).Repeat.Once();
- Expect.Call(connection2.BeginTransaction(_defaultIsolationLevel)).Return(transaction2);
+ Expect.Call(connection2.BeginTransaction(DefaultIsolationLevel)).Return(transaction2);
transaction2.Rollback();
LastCall.On(transaction2).Repeat.Once();
connection2.Dispose();
@@ -335,7 +335,7 @@ namespace Spring.Data
Expect.Call(dbProvider.CreateConnection()).Return(connection);
connection.Open();
LastCall.On(connection).Repeat.Once();
- Expect.Call(connection.BeginTransaction(_defaultIsolationLevel)).Return(transaction);
+ Expect.Call(connection.BeginTransaction(DefaultIsolationLevel)).Return(transaction);
transaction.Rollback();
LastCall.On(transaction).Repeat.Once();
connection.Dispose();
@@ -395,7 +395,7 @@ namespace Spring.Data
Expect.Call(dbProvider.CreateConnection()).Return(connection);
connection.Open();
LastCall.On(connection).Repeat.Once();
- Expect.Call(connection.BeginTransaction(_defaultIsolationLevel)).Return(transaction);
+ Expect.Call(connection.BeginTransaction(DefaultIsolationLevel)).Return(transaction);
//standard tx timeout.
transaction.Commit();
LastCall.On(transaction).Repeat.Once();
@@ -431,7 +431,7 @@ namespace Spring.Data
Expect.Call(dbProvider.CreateConnection()).Return(connection);
connection.Open();
LastCall.On(connection).Repeat.Once();
- Expect.Call(connection.BeginTransaction(_defaultIsolationLevel)).Return(transaction);
+ Expect.Call(connection.BeginTransaction(DefaultIsolationLevel)).Return(transaction);
//standard tx timeout.
transaction.Rollback();
LastCall.On(transaction).Repeat.Once();
@@ -482,7 +482,7 @@ namespace Spring.Data
Expect.Call(dbProvider.CreateConnection()).Return(connection2);
connection2.Open();
LastCall.On(connection2).Repeat.Once();
- Expect.Call(connection2.BeginTransaction(_defaultIsolationLevel)).Return(transaction2);
+ Expect.Call(connection2.BeginTransaction(DefaultIsolationLevel)).Return(transaction2);
transaction2.Commit();
LastCall.On(transaction2).Repeat.Once();
connection2.Dispose();
@@ -573,7 +573,7 @@ namespace Spring.Data
connection.Open();
LastCall.On(connection).Repeat.Once();
- Expect.Call(connection.BeginTransaction(_defaultIsolationLevel)).Return(transaction);
+ Expect.Call(connection.BeginTransaction(DefaultIsolationLevel)).Return(transaction);
Expect.Call(connection.CreateCommand()).Return(command);
command.CommandText = "some SQL statement";
LastCall.On(command).Repeat.Once();
@@ -674,7 +674,7 @@ namespace Spring.Data
Expect.Call(dbProvider.CreateConnection()).Return(connection);
connection.Open();
LastCall.On(connection).Repeat.Once();
- Expect.Call(connection.BeginTransaction(_defaultIsolationLevel)).Return(transaction);
+ Expect.Call(connection.BeginTransaction(DefaultIsolationLevel)).Return(transaction);
//standard tx timeout.
transaction.Commit();
LastCall.On(transaction).Throw(new TestSqlException("Cannot commit", "314"));
@@ -717,7 +717,7 @@ namespace Spring.Data
Expect.Call(dbProvider.CreateConnection()).Return(connection);
connection.Open();
LastCall.On(connection).Repeat.Once();
- Expect.Call(connection.BeginTransaction(_defaultIsolationLevel)).Return(transaction);
+ Expect.Call(connection.BeginTransaction(DefaultIsolationLevel)).Return(transaction);
transaction.Commit();
LastCall.On(transaction).Throw(new TestSqlException("Cannot commit", "314"));
@@ -763,7 +763,7 @@ namespace Spring.Data
Expect.Call(dbProvider.CreateConnection()).Return(connection);
connection.Open();
LastCall.On(connection).Repeat.Once();
- Expect.Call(connection.BeginTransaction(_defaultIsolationLevel)).Return(transaction);
+ Expect.Call(connection.BeginTransaction(DefaultIsolationLevel)).Return(transaction);
//standard tx timeout.
transaction.Rollback();
LastCall.On(transaction).Throw(new TestSqlException("Cannot commit", "314"));
@@ -877,7 +877,7 @@ namespace Spring.Data
Expect.Call(dbProvider.CreateConnection()).Return(connection);
connection.Open();
LastCall.On(connection).Repeat.Once();
- Expect.Call(connection.BeginTransaction(_defaultIsolationLevel)).Return(transaction);
+ Expect.Call(connection.BeginTransaction(DefaultIsolationLevel)).Return(transaction);
transaction.Rollback();
LastCall.On(transaction).Repeat.Once();
@@ -923,7 +923,7 @@ namespace Spring.Data
Expect.Call(dbProvider.CreateConnection()).Return(connection);
connection.Open();
LastCall.On(connection).Repeat.Once();
- Expect.Call(connection.BeginTransaction(_defaultIsolationLevel)).Return(transaction);
+ Expect.Call(connection.BeginTransaction(DefaultIsolationLevel)).Return(transaction);
//standard tx timeout.
transaction.Commit();
LastCall.On(transaction).Repeat.Once();
@@ -971,7 +971,7 @@ namespace Spring.Data
Expect.Call(dbProvider.CreateConnection()).Return(connection);
connection.Open();
LastCall.On(connection).Repeat.Once();
- Expect.Call(connection.BeginTransaction(_defaultIsolationLevel)).Return(transaction);
+ Expect.Call(connection.BeginTransaction(DefaultIsolationLevel)).Return(transaction);
transaction.Rollback();
LastCall.On(transaction).Repeat.Once();
connection.Dispose();
diff --git a/test/Spring/Spring.Data.Tests/Data/Core/ServiceDomainTransactionManagerTests.cs b/test/Spring/Spring.Data.Tests/Data/Core/ServiceDomainTransactionManagerTests.cs
index 18e7b12f..6b436ecf 100644
--- a/test/Spring/Spring.Data.Tests/Data/Core/ServiceDomainTransactionManagerTests.cs
+++ b/test/Spring/Spring.Data.Tests/Data/Core/ServiceDomainTransactionManagerTests.cs
@@ -159,7 +159,7 @@ namespace Spring.Data.Core
// inner tx
ConfigureServiceConfig(serviceConfig, false);
serviceConfig.TransactionOption = TransactionOption.RequiresNew;
- serviceConfig.IsolationLevel = TransactionIsolationLevel.Any;
+ serviceConfig.IsolationLevel = TransactionIsolationLevel.ReadCommitted;
txAdapter.Enter(serviceConfig);
Expect.Call(txAdapter.IsInTransaction).Return(true);
txAdapter.SetAbort();
@@ -204,7 +204,7 @@ namespace Spring.Data.Core
if (standardIsolationAndProp)
{
serviceConfig.TransactionOption = TransactionOption.Required;
- serviceConfig.IsolationLevel = TransactionIsolationLevel.Any;
+ serviceConfig.IsolationLevel = TransactionIsolationLevel.ReadCommitted;
}
return serviceConfig;
diff --git a/test/Spring/Spring.Data.Tests/Data/Core/TxScopeTransactionManagerTests.cs b/test/Spring/Spring.Data.Tests/Data/Core/TxScopeTransactionManagerTests.cs
index c7fae522..c1151c9d 100644
--- a/test/Spring/Spring.Data.Tests/Data/Core/TxScopeTransactionManagerTests.cs
+++ b/test/Spring/Spring.Data.Tests/Data/Core/TxScopeTransactionManagerTests.cs
@@ -57,7 +57,7 @@ namespace Spring.Data.Core
{
Expect.Call(txAdapter.IsExistingTransaction).Return(false);
TransactionOptions txOptions = new TransactionOptions();
- txOptions.IsolationLevel = IsolationLevel.Unspecified;
+ txOptions.IsolationLevel = IsolationLevel.ReadCommitted;
txAdapter.CreateTransactionScope(TransactionScopeOption.Required, txOptions, EnterpriseServicesInteropOption.None);
Expect.Call(txAdapter.RollbackOnly).Return(false);
@@ -94,7 +94,7 @@ namespace Spring.Data.Core
{
Expect.Call(txAdapter.IsExistingTransaction).Return(false);
TransactionOptions txOptions = new TransactionOptions();
- txOptions.IsolationLevel = IsolationLevel.Unspecified;
+ txOptions.IsolationLevel = IsolationLevel.ReadCommitted;
txAdapter.CreateTransactionScope(TransactionScopeOption.Required, txOptions, EnterpriseServicesInteropOption.None);
txAdapter.Dispose();
}
@@ -141,7 +141,7 @@ namespace Spring.Data.Core
{
Expect.Call(txAdapter.IsExistingTransaction).Return(false);
TransactionOptions txOptions = new TransactionOptions();
- txOptions.IsolationLevel = IsolationLevel.Unspecified;
+ txOptions.IsolationLevel = IsolationLevel.ReadCommitted;
txAdapter.CreateTransactionScope(TransactionScopeOption.RequiresNew, txOptions, EnterpriseServicesInteropOption.None);
//inner tx actions
diff --git a/test/Spring/Spring.Data.Tests/Transaction/Interceptor/DefaultTransactionAttributeTests.cs b/test/Spring/Spring.Data.Tests/Transaction/Interceptor/DefaultTransactionAttributeTests.cs
index 6a154af5..e43e933d 100644
--- a/test/Spring/Spring.Data.Tests/Transaction/Interceptor/DefaultTransactionAttributeTests.cs
+++ b/test/Spring/Spring.Data.Tests/Transaction/Interceptor/DefaultTransactionAttributeTests.cs
@@ -18,7 +18,7 @@ namespace Spring.Transaction.Interceptor
public void ToStringTests()
{
DefaultTransactionAttribute dta = new DefaultTransactionAttribute();
- Assert.AreEqual( "PROPAGATION_Required,ISOLATION_Unspecified,-System.Exception", dta.ToString());
+ Assert.AreEqual( "PROPAGATION_Required,ISOLATION_ReadCommitted,-System.Exception", dta.ToString());
}
}
}
diff --git a/test/Spring/Spring.Data.Tests/Transaction/Interceptor/TransactionAttributeEditorTests.cs b/test/Spring/Spring.Data.Tests/Transaction/Interceptor/TransactionAttributeEditorTests.cs
index 441c0132..c5e87b5a 100644
--- a/test/Spring/Spring.Data.Tests/Transaction/Interceptor/TransactionAttributeEditorTests.cs
+++ b/test/Spring/Spring.Data.Tests/Transaction/Interceptor/TransactionAttributeEditorTests.cs
@@ -34,7 +34,7 @@ namespace Spring.Transaction.Interceptor
ITransactionAttribute ta = editor.Value;
Assert.IsTrue( ta != null );
Assert.IsTrue( ta.PropagationBehavior == TransactionPropagation.Required );
- Assert.IsTrue( ta.TransactionIsolationLevel == IsolationLevel.Unspecified );
+ Assert.IsTrue( ta.TransactionIsolationLevel == IsolationLevel.ReadCommitted );
Assert.IsFalse( ta.ReadOnly );
}
diff --git a/test/Spring/Spring.Data.Tests/Transaction/Interceptor/TransactionAttributeSourceEditorTests.cs b/test/Spring/Spring.Data.Tests/Transaction/Interceptor/TransactionAttributeSourceEditorTests.cs
index 9717d75b..8da00917 100644
--- a/test/Spring/Spring.Data.Tests/Transaction/Interceptor/TransactionAttributeSourceEditorTests.cs
+++ b/test/Spring/Spring.Data.Tests/Transaction/Interceptor/TransactionAttributeSourceEditorTests.cs
@@ -59,7 +59,7 @@ namespace Spring.Transaction.Interceptor
{
ITransactionAttribute ta = tas.ReturnTransactionAttribute( method, null );
Assert.IsTrue( ta != null );
- Assert.IsTrue( ta.TransactionIsolationLevel == IsolationLevel.Unspecified );
+ Assert.IsTrue( ta.TransactionIsolationLevel == IsolationLevel.ReadCommitted );
Assert.IsTrue( ta.PropagationBehavior == transactionPropagation);
}
}
diff --git a/test/Spring/Spring.Data.Tests/Transaction/Support/DefaultTransactionDefinitionTests.cs b/test/Spring/Spring.Data.Tests/Transaction/Support/DefaultTransactionDefinitionTests.cs
index 92624b4e..86c3ceb1 100644
--- a/test/Spring/Spring.Data.Tests/Transaction/Support/DefaultTransactionDefinitionTests.cs
+++ b/test/Spring/Spring.Data.Tests/Transaction/Support/DefaultTransactionDefinitionTests.cs
@@ -20,7 +20,7 @@ namespace Spring.Transaction.Support
Assert.IsTrue( 1000 == def.TransactionTimeout );
Assert.IsTrue( false == def.ReadOnly );
def.ReadOnly = true;
- Assert.IsTrue( true == def.ReadOnly );
+ Assert.IsTrue( def.ReadOnly );
}
[Test]
public void PropogationBehaviorDefault()
@@ -32,7 +32,7 @@ namespace Spring.Transaction.Support
public void IsolationLevelDefault()
{
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
- Assert.IsTrue(def.TransactionIsolationLevel == IsolationLevel.Unspecified);
+ Assert.IsTrue(def.TransactionIsolationLevel == IsolationLevel.ReadCommitted);
}
[Test]
[ExpectedException(typeof(ArgumentException))]
diff --git a/test/Spring/Spring.Template.Velocity.Castle.Tests/Spring.Template.Velocity.Castle.Tests.2010.csproj b/test/Spring/Spring.Template.Velocity.Castle.Tests/Spring.Template.Velocity.Castle.Tests.2010.csproj
index 0052eb8e..5f3087d8 100644
--- a/test/Spring/Spring.Template.Velocity.Castle.Tests/Spring.Template.Velocity.Castle.Tests.2010.csproj
+++ b/test/Spring/Spring.Template.Velocity.Castle.Tests/Spring.Template.Velocity.Castle.Tests.2010.csproj
@@ -112,11 +112,11 @@
-
\ No newline at end of file
diff --git a/test/Spring/Spring.Template.Velocity.Castle.Tests/Spring.Template.Velocity.Castle.Tests.build b/test/Spring/Spring.Template.Velocity.Castle.Tests/Spring.Template.Velocity.Castle.Tests.build
new file mode 100644
index 00000000..320b89a7
--- /dev/null
+++ b/test/Spring/Spring.Template.Velocity.Castle.Tests/Spring.Template.Velocity.Castle.Tests.build
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/Spring/Spring.Template.Velocity.Castle.Tests/Spring.Template.Velocity.Castle.Tests.csproj b/test/Spring/Spring.Template.Velocity.Castle.Tests/Spring.Template.Velocity.Castle.Tests.csproj
new file mode 100644
index 00000000..13761b7f
--- /dev/null
+++ b/test/Spring/Spring.Template.Velocity.Castle.Tests/Spring.Template.Velocity.Castle.Tests.csproj
@@ -0,0 +1,98 @@
+
+
+
+ Debug
+ AnyCPU
+ 9.0.30729
+ 2.0
+ {8D6ED392-8A1F-41C0-A765-22CF384EDEA1}
+ Library
+ Properties
+ Spring
+ Spring.Template.Velocity.Castle.Tests
+ v3.5
+ 512
+
+
+
+
+ true
+ full
+ false
+ ..\..\..\build\VS.NET.2008\Spring.Template.Velocity.Castle.Tests\Debug\
+ TRACE;DEBUG;NET_2_0
+ prompt
+ 4
+ true
+
+
+
+
+ pdbonly
+ true
+ ..\..\..\build\VS.NET.2008\Spring.Template.Velocity.Castle.Tests\Release\
+ TRACE;NET_2_0
+ prompt
+ 4
+ true
+
+
+
+ False
+ ..\..\..\lib\Net\2.0\nunit.framework.dll
+
+
+ False
+ ..\..\..\lib\Net\2.0\NVelocity.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {710961A3-0DF4-49E4-A26E-F5B9C044AC84}
+ Spring.Core.2008
+
+
+ {BF3AB954-8375-407C-9E98-4C51D8072784}
+ Spring.Template.Velocity.2008
+
+
+ {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}
+ Spring.Core.Tests.2008
+
+
+
+
+
+
+
+ Always
+
+
+
+
+ Always
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file