Author: gbayon
Date: Tue Sep 13 10:14:55 2005
New Revision: 280595
URL: http://svn.apache.org/viewcvs?rev=280595&view=rev
Log:
- Fixed IBATISNET-112
Modified:
ibatis/trunk/cs/mapper/IBatisNet.Common/IDalSession.cs
ibatis/trunk/cs/mapper/IBatisNet.DataAccess.Test/NUnit/DaoTests/BaseDaoTest.cs
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoManager.cs
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSession.cs
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSessionHandlers/SimpleDaoSession.cs
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSessionHandlers/SqlMapDaoSession.cs
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/StatementTest.cs
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/SqlMapSession.cs
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/SqlMapper.cs
Modified: ibatis/trunk/cs/mapper/IBatisNet.Common/IDalSession.cs
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.Common/IDalSession.cs?rev=280595&r1=280594&r2=280595&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.Common/IDalSession.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.Common/IDalSession.cs Tue Sep 13 10:14:55
2005
@@ -73,6 +73,12 @@
void OpenConnection();
/// <summary>
+ /// Open a connection, on the specified connection string.
+ /// </summary>
+ /// <param name="connectionString">The connection string</param>
+ void OpenConnection(string connectionString);
+
+ /// <summary>
/// close a connection
/// </summary>
void CloseConnection();
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataAccess.Test/NUnit/DaoTests/BaseDaoTest.cs
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataAccess.Test/NUnit/DaoTests/BaseDaoTest.cs?rev=280595&r1=280594&r2=280595&view=diff
==============================================================================
---
ibatis/trunk/cs/mapper/IBatisNet.DataAccess.Test/NUnit/DaoTests/BaseDaoTest.cs
(original)
+++
ibatis/trunk/cs/mapper/IBatisNet.DataAccess.Test/NUnit/DaoTests/BaseDaoTest.cs
Tue Sep 13 10:14:55 2005
@@ -51,6 +51,8 @@
#region Dao statement tests
+
+
/// <summary>
/// Verify that DaoManager.GetDao("Account")
/// return an object that implemetent the interface IAccountDao.
@@ -66,6 +68,37 @@
Assert.IsTrue(type.IsInstanceOfType(accountDao));
}
+ /// <summary>
+ /// Test Open connection with a connection string
+ /// </summary>
+ [Test]
+ public void TestOpenConnection()
+ {
+ IAccountDao accountDao = (IAccountDao)
daoManager[typeof (IAccountDao)];
+
+
+ Account account = NewAccount();
+
+ try
+ {
+
daoManager.OpenConnection(daoManager.LocalDataSource.ConnectionString);
+ accountDao.Create(account);
+
+ account = accountDao.GetAccountById(1001);
+ }
+ catch (Exception e)
+ {
+ // Ignore
+ Console.WriteLine("TestCreateAccount, error
cause : " + e.Message);
+ }
+ finally
+ {
+ daoManager.CloseConnection();
+ }
+
+ Assert.IsNotNull(account);
+ Assert.AreEqual("[EMAIL PROTECTED]",
account.EmailAddress);
+ }
/// <summary>
/// Test CreateAccount
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoManager.cs
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoManager.cs?rev=280595&r1=280594&r2=280595&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoManager.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoManager.cs Tue Sep 13
10:14:55 2005
@@ -412,6 +412,27 @@
}
/// <summary>
+ /// Open a connection, on the specified connection string.
+ /// </summary>
+ /// <param name="connectionString">The connection string</param>
+ public IDalSession OpenConnection(string connectionString)
+ {
+ if (_daoSessionHandler== null)
+ {
+ throw new DataAccessException("DaoManager could
not get DaoSession. DaoSessionPool was null (possibly not configured).");
+ }
+ if (_sessionHolder.LocalSession != null)
+ {
+ throw new DataAccessException("DaoManager could
not invoke OpenConnection(). A connection is already started. Call
CloseConnection first.");
+ }
+ IDalSession session =
_daoSessionHandler.GetDaoSession(this);
+ _sessionHolder.Store(session);
+ session.OpenConnection(connectionString);
+ return session;
+
+ }
+
+ /// <summary>
/// Close a connection
/// </summary>
public void CloseConnection()
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSession.cs
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSession.cs?rev=280595&r1=280594&r2=280595&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSession.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSession.cs Tue Sep 13
10:14:55 2005
@@ -99,6 +99,12 @@
public abstract void OpenConnection();
/// <summary>
+ /// Open a connection, on the specified connection string.
+ /// </summary>
+ /// <param name="connectionString">The connection string</param>
+ public abstract void OpenConnection(string connectionString);
+
+ /// <summary>
/// Closes the connection
/// </summary>
public abstract void CloseConnection();
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSessionHandlers/SimpleDaoSession.cs
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSessionHandlers/SimpleDaoSession.cs?rev=280595&r1=280594&r2=280595&view=diff
==============================================================================
---
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSessionHandlers/SimpleDaoSession.cs
(original)
+++
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSessionHandlers/SimpleDaoSession.cs
Tue Sep 13 10:14:55 2005
@@ -127,10 +127,19 @@
/// </summary>
public override void OpenConnection()
{
+ this.OpenConnection(_dataSource.ConnectionString);
+ }
+
+ /// <summary>
+ /// Open a connection, on the specified connection string.
+ /// </summary>
+ /// <param name="connectionString">The connection string</param>
+ public override void OpenConnection(string connectionString)
+ {
if (_connection == null)
{
_connection =
_dataSource.Provider.GetConnection();
- _connection.ConnectionString =
_dataSource.ConnectionString;
+ _connection.ConnectionString = connectionString;
try
{
_connection.Open();
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSessionHandlers/SqlMapDaoSession.cs
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSessionHandlers/SqlMapDaoSession.cs?rev=280595&r1=280594&r2=280595&view=diff
==============================================================================
---
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSessionHandlers/SqlMapDaoSession.cs
(original)
+++
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoSessionHandlers/SqlMapDaoSession.cs
Tue Sep 13 10:14:55 2005
@@ -114,12 +114,22 @@
}
/// <summary>
+ /// Open a connection, on the specified connection string.
+ /// </summary>
+ /// <param name="connectionString">The connection string</param>
+ public override void OpenConnection(string connectionString)
+ {
+ _sqlMap.OpenConnection(connectionString);
+ }
+
+ /// <summary>
/// Closes the connection
/// </summary>
public override void CloseConnection()
{
_sqlMap.CloseConnection();
}
+
/// <summary>
/// Begins a transaction.
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/StatementTest.cs
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/StatementTest.cs?rev=280595&r1=280594&r2=280595&view=diff
==============================================================================
---
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/StatementTest.cs
(original)
+++
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/StatementTest.cs
Tue Sep 13 10:14:55 2005
@@ -44,6 +44,19 @@
#region Object Query tests
/// <summary>
+ /// Test Open connection with a connection string
+ /// </summary>
+ [Test]
+ public void TestOpenConnection()
+ {
+
sqlMap.OpenConnection(sqlMap.DataSource.ConnectionString);
+ Account account =
sqlMap.QueryForObject("SelectWithProperty", null) as Account;
+ sqlMap.CloseConnection();
+
+ AssertAccount1(account);
+ }
+
+ /// <summary>
/// Test use a statement with property subtitution
/// (JIRA 22)
/// </summary>
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/SqlMapSession.cs
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/SqlMapSession.cs?rev=280595&r1=280594&r2=280595&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/SqlMapSession.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/SqlMapSession.cs Tue Sep 13
10:14:55 2005
@@ -145,10 +145,19 @@
/// </summary>
public void OpenConnection()
{
+ this.OpenConnection(_dataSource.ConnectionString);
+ }
+
+ /// <summary>
+ /// Open a connection, on the specified connection string.
+ /// </summary>
+ /// <param name="connectionString">The connection string</param>
+ public void OpenConnection(string connectionString)
+ {
if (_connection == null)
{
_connection =
_dataSource.Provider.GetConnection();
- _connection.ConnectionString =
_dataSource.ConnectionString;
+ _connection.ConnectionString = connectionString;
try
{
_connection.Open();
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/SqlMapper.cs
URL:
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/SqlMapper.cs?rev=280595&r1=280594&r2=280595&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/SqlMapper.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/SqlMapper.cs Tue Sep 13
10:14:55 2005
@@ -277,7 +277,7 @@
#region Manage Connection, Transaction
/// <summary>
- ///
+ /// Open a connection
/// </summary>
/// <returns></returns>
public IDalSession OpenConnection()
@@ -289,6 +289,22 @@
SqlMapSession session = new SqlMapSession(this);
_sessionHolder.Store(session);
session.OpenConnection();
+ return session;
+ }
+
+ /// <summary>
+ /// Open a connection, on the specified connection string.
+ /// </summary>
+ /// <param name="connectionString">The connection string</param>
+ public IDalSession OpenConnection(string connectionString)
+ {
+ if (_sessionHolder.LocalSession != null)
+ {
+ throw new DataMapperException("SqlMap could not
invoke OpenConnection(). A connection is already started. Call CloseConnection
first.");
+ }
+ SqlMapSession session = new SqlMapSession(this);
+ _sessionHolder.Store(session);
+ session.OpenConnection(connectionString);
return session;
}