Author: gbayon
Date: Tue Mar  6 14:23:03 2007
New Revision: 515322

URL: http://svn.apache.org/viewvc?view=rev&rev=515322
Log:
Fixed IBATISNET-214 Conflict on session access with multiple DAO contexts as 
reported by Shane Boyer 

Modified:
    
ibatis/trunk/cs/mapper/IBatisNet.DataAccess.Test/NUnit/DaoTests/BaseDaoTest.cs
    
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/Configuration/DomDaoManagerBuilder.cs
    ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoManager.cs
    
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/SessionStore/SessionStoreFactory .cs

Modified: 
ibatis/trunk/cs/mapper/IBatisNet.DataAccess.Test/NUnit/DaoTests/BaseDaoTest.cs
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/cs/mapper/IBatisNet.DataAccess.Test/NUnit/DaoTests/BaseDaoTest.cs?view=diff&rev=515322&r1=515321&r2=515322
==============================================================================
--- 
ibatis/trunk/cs/mapper/IBatisNet.DataAccess.Test/NUnit/DaoTests/BaseDaoTest.cs 
(original)
+++ 
ibatis/trunk/cs/mapper/IBatisNet.DataAccess.Test/NUnit/DaoTests/BaseDaoTest.cs 
Tue Mar  6 14:23:03 2007
@@ -67,6 +67,12 @@
                        Assert.IsNotNull(daoManager2);
                        
Assert.IsTrue(daoManager2.LocalDataSource.ConnectionString != 
daoManager1.LocalDataSource.ConnectionString);
                        
Assert.IsTrue(daoManager2.LocalDataSource.DbProvider.Name != 
daoManager1.LocalDataSource.DbProvider.Name);
+
+            daoManager1.OpenConnection();
+            daoManager2.OpenConnection();   
+
+            daoManager1.CloseConnection();
+            daoManager2.CloseConnection();
                }
 
                #region Dao statement tests

Modified: 
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/Configuration/DomDaoManagerBuilder.cs
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/Configuration/DomDaoManagerBuilder.cs?view=diff&rev=515322&r1=515321&r2=515322
==============================================================================
--- 
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/Configuration/DomDaoManagerBuilder.cs
 (original)
+++ 
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/Configuration/DomDaoManagerBuilder.cs
 Tue Mar  6 14:23:03 2007
@@ -478,11 +478,8 @@
 
                                #region Configure a new DaoManager
 
-                               daoManager = DaoManager.NewInstance();
-
-                               // name
                                attribute = contextNode.Attributes["id"];
-                daoManager.Id = attribute.Value;
+                daoManager = DaoManager.NewInstance(attribute.Value);
 
                 configurationScope.ErrorContext.Activity += daoManager.Id;
 

Modified: ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoManager.cs
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoManager.cs?view=diff&rev=515322&r1=515321&r2=515322
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoManager.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataAccess/DaoManager.cs Tue Mar  6 
14:23:03 2007
@@ -227,9 +227,10 @@
                /// Make the default constructor private to prevent
                /// instances from being created.
                /// </summary>
-               private DaoManager() 
+        private DaoManager(string id) 
                {
-            _sessionStore = SessionStoreFactory.GetSessionStore(this.Id);
+                   Id = id;
+            _sessionStore = SessionStoreFactory.GetSessionStore(id);
                }
                #endregion
 
@@ -321,9 +322,9 @@
                /// Create anew instance of a DaoManager
                /// </summary>
                /// <returns>A DaoManager.</returns>
-               internal static DaoManager NewInstance() 
+               internal static DaoManager NewInstance(string id) 
                {
-                       return new DaoManager();
+                       return new DaoManager(id);
                }
 
                /// <summary>

Modified: 
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/SessionStore/SessionStoreFactory .cs
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/cs/mapper/IBatisNet.DataAccess/SessionStore/SessionStoreFactory%20.cs?view=diff&rev=515322&r1=515321&r2=515322
==============================================================================
--- 
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/SessionStore/SessionStoreFactory 
.cs (original)
+++ 
ibatis/trunk/cs/mapper/IBatisNet.DataAccess/SessionStore/SessionStoreFactory 
.cs Tue Mar  6 14:23:03 2007
@@ -24,9 +24,6 @@
 #endregion
 
 
-using System;
-using System.Web;
-
 namespace IBatisNet.DataAccess.SessionStore
 {
        /// <summary>
@@ -36,7 +33,7 @@
        /// When running in the context of a windows application the session 
object is 
        /// stored via CallContext.
        /// </summary>
-       public class SessionStoreFactory
+       public sealed class SessionStoreFactory
        {
 
                /// <summary>


Reply via email to