Author: gbayon
Date: Thu Jul 28 13:11:14 2005
New Revision: 225865

URL: http://svn.apache.org/viewcvs?rev=225865&view=rev
Log:
- Added external Caching support

Removed:
    
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/SqlClient/XMLFile1.xml
Modified:
    ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Domain/LineItem.cs
    
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/IBatisNet.DataMapper.Test.csproj
    
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheTest.cs
    
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/CacheModel.cs
    
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/Fifo/FifoCacheController.cs
    
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/ICacheController.cs
    
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/Lru/LruCacheController.cs
    
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/Memory/MemoryCacheControler.cs
    
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/DomSqlMapBuilder.cs
    
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/MappedStatement.cs

Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Domain/LineItem.cs
URL: 
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Domain/LineItem.cs?rev=225865&r1=225864&r2=225865&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Domain/LineItem.cs 
(original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Domain/LineItem.cs Thu Jul 
28 13:11:14 2005
@@ -14,7 +14,7 @@
                private Order _order;
                private string _code;
                private int _quantity;
-               private decimal _price;
+               private decimal _price = decimal.MinValue;
                private byte[] _pictureData = null;
 
                public int Id

Modified: 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/IBatisNet.DataMapper.Test.csproj
URL: 
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/IBatisNet.DataMapper.Test.csproj?rev=225865&r1=225864&r2=225865&view=diff
==============================================================================
--- 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/IBatisNet.DataMapper.Test.csproj
 (original)
+++ 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/IBatisNet.DataMapper.Test.csproj
 Thu Jul 28 13:11:14 2005
@@ -456,10 +456,6 @@
                     BuildAction = "Content"
                 />
                 <File
-                    RelPath = "Maps\MSSQL\SqlClient\XMLFile1.xml"
-                    BuildAction = "Content"
-                />
-                <File
                     RelPath = "Maps\MySql\ByteFx\Account.xml"
                     BuildAction = "Content"
                 />

Modified: 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheTest.cs
URL: 
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheTest.cs?rev=225865&r1=225864&r2=225865&view=diff
==============================================================================
--- 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheTest.cs 
(original)
+++ 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/CacheTest.cs 
Thu Jul 28 13:11:14 2005
@@ -220,7 +220,7 @@
                        CacheModel cache = new CacheModel();
                        cache.FlushInterval = new FlushInterval();
                        cache.FlushInterval.Minutes = 5;
-                       cache.Implementation = "LRU";
+                       cache.Implementation = 
"IBatisNet.DataMapper.Configuration.Cache.Lru.LruCacheController, 
IBatisNet.DataMapper";
                        cache.Initialize();
 
                        return cache;

Modified: 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/CacheModel.cs
URL: 
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/CacheModel.cs?rev=225865&r1=225864&r2=225865&view=diff
==============================================================================
--- 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/CacheModel.cs 
(original)
+++ 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/CacheModel.cs 
Thu Jul 28 13:11:14 2005
@@ -36,6 +36,7 @@
 using IBatisNet.Common.Utilities;
 using IBatisNet.DataMapper.Exceptions;
 using IBatisNet.DataMapper.MappedStatements;
+using IBatisNet.DataMapper.Scope;
 
 #endregion
 
@@ -84,8 +85,6 @@
                private HybridDictionary _properties = new HybridDictionary();
                [NonSerialized]
                private string _implementation = string.Empty;
-               [NonSerialized]
-               static private Hashtable _cacheControllerAliases = new 
Hashtable();
 
                #endregion
 
@@ -128,28 +127,13 @@
                [XmlElement("flushInterval",typeof(FlushInterval))]
                public FlushInterval FlushInterval
                {
-                       get 
-                       {
-                               return _flushInterval;
-                       }
-                       set 
-                       {
-                               _flushInterval = value;
-                       }
+                       get { return _flushInterval; }
+                       set { _flushInterval = value; }
                }
                #endregion
 
                #region Constructor (s) / Destructor
 
-               /// <summary>
-               /// Constructor
-               /// </summary>
-               static CacheModel()
-               {
-                       
_cacheControllerAliases.Add("MEMORY","IBatisNet.DataMapper.Configuration.Cache.Memory.MemoryCacheControler,
 IBatisNet.DataMapper");
-                       
_cacheControllerAliases.Add("LRU","IBatisNet.DataMapper.Configuration.Cache.Lru.LruCacheController,
 IBatisNet.DataMapper");
-                       
_cacheControllerAliases.Add("FIFO","IBatisNet.DataMapper.Configuration.Cache.Fifo.FifoCacheController,
 IBatisNet.DataMapper");
-               }
 
                /// <summary>
                /// Constructor
@@ -161,6 +145,7 @@
                #endregion
 
                #region Methods
+
                /// <summary>
                /// 
                /// </summary>
@@ -168,9 +153,6 @@
                {
                        // Initialize FlushInterval
                        _flushInterval.Initialize();
-
-                       // Initialize controller
-                       _implementation = 
_cacheControllerAliases[_implementation.ToUpper()] as string;
 
                        try 
                        {

Modified: 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/Fifo/FifoCacheController.cs
URL: 
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/Fifo/FifoCacheController.cs?rev=225865&r1=225864&r2=225865&view=diff
==============================================================================
--- 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/Fifo/FifoCacheController.cs
 (original)
+++ 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/Fifo/FifoCacheController.cs
 Thu Jul 28 13:11:14 2005
@@ -106,7 +106,7 @@
                /// <summary>
                /// Configures the cache
                /// </summary>
-               public void Configure(HybridDictionary properties)
+               public void Configure(IDictionary properties)
                {
                        string size = (string)properties["CacheSize"];;
                        if (size != null) 

Modified: 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/ICacheController.cs
URL: 
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/ICacheController.cs?rev=225865&r1=225864&r2=225865&view=diff
==============================================================================
--- 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/ICacheController.cs
 (original)
+++ 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/ICacheController.cs
 Thu Jul 28 13:11:14 2005
@@ -60,7 +60,7 @@
                /// Configures the CacheController
                /// </summary>
                /// <param name="properties"></param>
-               void Configure(HybridDictionary properties);
+               void Configure(IDictionary properties);
                #endregion
 
        }

Modified: 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/Lru/LruCacheController.cs
URL: 
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/Lru/LruCacheController.cs?rev=225865&r1=225864&r2=225865&view=diff
==============================================================================
--- 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/Lru/LruCacheController.cs
 (original)
+++ 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/Lru/LruCacheController.cs
 Thu Jul 28 13:11:14 2005
@@ -108,7 +108,7 @@
                /// <summary>
                /// Configures the cache
                /// </summary>
-               public void Configure(HybridDictionary properties)
+               public void Configure(IDictionary properties)
                {
                        string size = (string)properties["CacheSize"];;
                        if (size != null) 

Modified: 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/Memory/MemoryCacheControler.cs
URL: 
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/Memory/MemoryCacheControler.cs?rev=225865&r1=225864&r2=225865&view=diff
==============================================================================
--- 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/Memory/MemoryCacheControler.cs
 (original)
+++ 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/Cache/Memory/MemoryCacheControler.cs
 Thu Jul 28 13:11:14 2005
@@ -117,7 +117,7 @@
                /// <summary>
                /// Configures the cache
                /// </summary>
-               public void Configure(HybridDictionary properties)
+               public void Configure(IDictionary properties)
                {
                        string referenceType = (string)properties["Type"];;
                        if (referenceType != null) 

Modified: 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/DomSqlMapBuilder.cs
URL: 
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/DomSqlMapBuilder.cs?rev=225865&r1=225864&r2=225865&view=diff
==============================================================================
--- 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/DomSqlMapBuilder.cs 
(original)
+++ 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/Configuration/DomSqlMapBuilder.cs 
Thu Jul 28 13:11:14 2005
@@ -625,6 +625,20 @@
                        
                        _configScope.SqlMapper = new SqlMapper( new 
TypeHandlerFactory() );
 
+                       #region Cache Alias
+
+                       TypeAlias cacheAlias = new 
TypeAlias(typeof(IBatisNet.DataMapper.Configuration.Cache.Memory.MemoryCacheControler));
+                       cacheAlias.Name = "MEMORY";
+                       _configScope.SqlMapper.AddTypeAlias(cacheAlias.Name, 
cacheAlias);
+                       cacheAlias = new 
TypeAlias(typeof(IBatisNet.DataMapper.Configuration.Cache.Lru.LruCacheController));
+                       cacheAlias.Name = "LRU";
+                       _configScope.SqlMapper.AddTypeAlias(cacheAlias.Name, 
cacheAlias);
+                       cacheAlias = new 
TypeAlias(typeof(IBatisNet.DataMapper.Configuration.Cache.Fifo.FifoCacheController));
+                       cacheAlias.Name = "FIFO";
+                       _configScope.SqlMapper.AddTypeAlias(cacheAlias.Name, 
cacheAlias);
+
+                       #endregion 
+
                        #region Load Global Properties
                        if (_configScope.IsCallFromDao == false)
                        {
@@ -1300,6 +1314,7 @@
                                {
                                        cacheModel = (CacheModel) 
serializer.Deserialize(new XmlNodeReader(xmlNode));
                                        cacheModel.Id = ApplyNamespace( 
cacheModel.Id );
+                                       cacheModel.Implementation = 
_configScope.SqlMapper.GetTypeAlias(cacheModel.Implementation).Class.AssemblyQualifiedName;
 
                                        // Attach ExecuteEventHandler
                                        foreach(XmlNode flushOn in 
xmlNode.SelectNodes( ApplyMappingNamespacePrefix(XML_FLUSH_ON_EXECUTE), 
_configScope.XmlNamespaceManager  ))

Modified: 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/MappedStatement.cs
URL: 
http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/MappedStatement.cs?rev=225865&r1=225864&r2=225865&view=diff
==============================================================================
--- 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/MappedStatement.cs 
(original)
+++ 
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/MappedStatement.cs 
Thu Jul 28 13:11:14 2005
@@ -430,6 +430,8 @@
                                RetrieveOutputParameters(request, session, 
command, parameterObject);
                        }
 
+                       RaiseExecuteEvent();
+
                        return result;
                }
 


Reply via email to