Author: gbayon
Date: Sat Jun  7 01:14:33 2008
New Revision: 664296

URL: http://svn.apache.org/viewvc?rev=664296&view=rev
Log:
Allow cache model, reflection optimizer, namespace statement setting via code 
(Xml setting will override code configuration), see class ConfigurationSetting 
+ cosmetic change

Added:
    
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Domain/NVelocityDynamicEngine.cs
      - copied, changed from r663710, 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Domain/NVelocitySqlSource.cs
Removed:
    
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Domain/NVelocitySqlSource.cs
Modified:
    
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Apache.Ibatis.DataMapper.SqlClient.Test.2005.csproj
    
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Fixtures/Mapping/VelocityTest.cs
    
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Fixtures/Modules/AliasModule.cs
    
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/Configuration/ConfigurationSetting.cs
    
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/Configuration/DefaultModelBuilder.cs
    
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/MappedStatements/MappedStatement.cs
    
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/Model/Cache/Memory/MemoryCacheControler.cs
    ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/Model/IModelStore.cs

Modified: 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Apache.Ibatis.DataMapper.SqlClient.Test.2005.csproj
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Apache.Ibatis.DataMapper.SqlClient.Test.2005.csproj?rev=664296&r1=664295&r2=664296&view=diff
==============================================================================
--- 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Apache.Ibatis.DataMapper.SqlClient.Test.2005.csproj
 (original)
+++ 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Apache.Ibatis.DataMapper.SqlClient.Test.2005.csproj
 Sat Jun  7 01:14:33 2008
@@ -45,7 +45,7 @@
   </ItemGroup>
   <ItemGroup>
     <Compile Include="Domain\JsonInterpreter.cs" />
-    <Compile Include="Domain\NVelocitySqlSource.cs" />
+    <Compile Include="Domain\NVelocityDynamicEngine.cs" />
     <Compile Include="Domain\SimpleSqlSource.cs" />
     <Compile Include="Domain\SqlSourceWithInlineParameter.cs" />
     <Compile Include="Domain\SqlSourceWithParameter.cs" />

Copied: 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Domain/NVelocityDynamicEngine.cs
 (from r663710, 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Domain/NVelocitySqlSource.cs)
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Domain/NVelocityDynamicEngine.cs?p2=ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Domain/NVelocityDynamicEngine.cs&p1=ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Domain/NVelocitySqlSource.cs&r1=663710&r2=664296&rev=664296&view=diff
==============================================================================
--- 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Domain/NVelocitySqlSource.cs
 (original)
+++ 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Domain/NVelocityDynamicEngine.cs
 Sat Jun  7 01:14:33 2008
@@ -14,21 +14,21 @@
 {
     /// <summary>
     /// NVelocity implemantation of <see cref="ISqlSource"/>
-    /// which parse sql string
+    /// which parse sql string using Velocity language
     /// </summary>
     /// <remarks>
     /// See http://www.castleproject.org/others/nvelocity/index.html
     /// </remarks>
-    public class NVelocitySqlSource : ISqlSource
+    public class NVelocityDynamicEngine : ISqlSource
     {
         private readonly VelocityEngine velocityEngine = null;
         private const string VELOCITY_DIRECTIVE = "$";
         private static readonly ILog logger = 
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
 
         /// <summary>
-        /// Initializes a new instance of the <see cref="NVelocitySqlSource"/> 
class.
+        /// Initializes a new instance of the <see 
cref="NVelocityDynamicEngine"/> class.
         /// </summary>
-        public NVelocitySqlSource()
+        public NVelocityDynamicEngine()
         {
             velocityEngine = new VelocityEngine();
             velocityEngine.Init();

Modified: 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Fixtures/Mapping/VelocityTest.cs
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Fixtures/Mapping/VelocityTest.cs?rev=664296&r1=664295&r2=664296&view=diff
==============================================================================
--- 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Fixtures/Mapping/VelocityTest.cs
 (original)
+++ 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Fixtures/Mapping/VelocityTest.cs
 Sat Jun  7 01:14:33 2008
@@ -28,7 +28,7 @@
             IResource resource = ResourceLoaderRegistry.GetResource(uri);
 
             ConfigurationSetting setting = new ConfigurationSetting();
-            setting.DynamicSqlEngine = new NVelocitySqlSource();
+            setting.DynamicSqlEngine = new NVelocityDynamicEngine();
 
             IConfigurationEngine engine = new 
DefaultConfigurationEngine(setting);
             engine.RegisterInterpreter(new 
XmlConfigurationInterpreter(resource));

Modified: 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Fixtures/Modules/AliasModule.cs
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Fixtures/Modules/AliasModule.cs?rev=664296&r1=664295&r2=664296&view=diff
==============================================================================
--- 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Fixtures/Modules/AliasModule.cs
 (original)
+++ 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper.SqlClient.Test.2005/Fixtures/Modules/AliasModule.cs
 Sat Jun  7 01:14:33 2008
@@ -14,7 +14,7 @@
             RegisterAlias<SimpleSqlSource>();
             RegisterAlias<SqlSourceWithParameter>();
             RegisterAlias<SqlSourceWithInlineParameter>();
-            RegisterAlias<NVelocitySqlSource>();
+            RegisterAlias<NVelocityDynamicEngine>();
 
         }
     }

Modified: 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/Configuration/ConfigurationSetting.cs
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/Configuration/ConfigurationSetting.cs?rev=664296&r1=664295&r2=664296&view=diff
==============================================================================
--- 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/Configuration/ConfigurationSetting.cs
 (original)
+++ 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/Configuration/ConfigurationSetting.cs
 Sat Jun  7 01:14:33 2008
@@ -48,6 +48,10 @@
         private bool validateMapperConfigFile = false;
         private ISqlSource dynamicSqlEngine = null;
 
+        private bool useStatementNamespaces = false;
+        private bool isCacheModelsEnabled = false;
+        private bool useReflectionOptimizer = true;
+
         /// <summary>
         /// Gets or sets the dynamic SQL engine.
         /// </summary>
@@ -138,5 +142,41 @@
         {
             get { return properties; }
         }
+
+        /// <summary>
+        /// Gets or sets a value indicating whether the DataMapper use 
statement namespaces.
+        /// </summary>
+        /// <value>
+        ///    <c>true</c> if [use statement namespaces]; otherwise, 
<c>false</c>.
+        /// </value>
+        public bool UseStatementNamespaces
+        {
+            get { return useStatementNamespaces; }
+            set { useStatementNamespaces = value; }
+        }
+
+        /// <summary>
+        /// Gets or sets a value indicating whether cache model use is enabled.
+        /// </summary>
+        /// <value>
+        ///    <c>true</c> if cache model use is enabled; otherwise, 
<c>false</c>.
+        /// </value>
+        public bool IsCacheModelsEnabled
+        {
+            get { return isCacheModelsEnabled; }
+            set { isCacheModelsEnabled = value; }
+        }
+
+        /// <summary>
+        /// Gets or sets a value indicating whether the DataMapper use 
reflection optimizer.
+        /// </summary>
+        /// <value>
+        ///    <c>true</c> if the DataMapper use reflection optimizer; 
otherwise, <c>false</c>.
+        /// </value>
+        public bool UseReflectionOptimizer
+        {
+            get { return useReflectionOptimizer; }
+            set { useReflectionOptimizer = value; }
+        }
     }
 }

Modified: 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/Configuration/DefaultModelBuilder.cs
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/Configuration/DefaultModelBuilder.cs?rev=664296&r1=664295&r2=664296&view=diff
==============================================================================
--- 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/Configuration/DefaultModelBuilder.cs
 (original)
+++ 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/Configuration/DefaultModelBuilder.cs
 Sat Jun  7 01:14:33 2008
@@ -110,9 +110,7 @@
             ISetAccessorFactory setAccessorFactory = null;
             ISessionFactory sessionFactory = null;
             ISessionStore sessionStore = null;
-
-            LoadSetting(store);
-
+            
             if (configurationSetting != null)
             {
                 objectFactory = configurationSetting.ObjectFactory;
@@ -122,7 +120,13 @@
                 sessionFactory = configurationSetting.SessionFactory;
                 sessionStore = configurationSetting.SessionStore;
                 dynamicSqlEngine = configurationSetting.DynamicSqlEngine;
+                isCacheModelsEnabled = 
configurationSetting.IsCacheModelsEnabled;
+                useStatementNamespaces = 
configurationSetting.UseStatementNamespaces;
+                useReflectionOptimizer = 
configurationSetting.UseReflectionOptimizer;
             }
+            
+            // Xml setting override code setting
+            LoadSetting(store);
 
             if (objectFactory == null)
             {

Modified: 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/MappedStatements/MappedStatement.cs
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/MappedStatements/MappedStatement.cs?rev=664296&r1=664295&r2=664296&view=diff
==============================================================================
--- 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/MappedStatements/MappedStatement.cs
 (original)
+++ 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/MappedStatements/MappedStatement.cs
 Sat Jun  7 01:14:33 2008
@@ -117,7 +117,7 @@
         {
             this.modelStore = modelStore;
             this.statement = statement;
-            preparedCommand = PreparedCommandFactory.GetPreparedCommand(false);
+            preparedCommand = new DefaultPreparedCommand();
             resultStrategy = ResultStrategyFactory.Get(this.statement);
         }
         #endregion

Modified: 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/Model/Cache/Memory/MemoryCacheControler.cs
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/Model/Cache/Memory/MemoryCacheControler.cs?rev=664296&r1=664295&r2=664296&view=diff
==============================================================================
--- 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/Model/Cache/Memory/MemoryCacheControler.cs
 (original)
+++ 
ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/Model/Cache/Memory/MemoryCacheControler.cs
 Sat Jun  7 01:14:33 2008
@@ -94,8 +94,8 @@
                                        if (reference is StrongReference) 
                                        {
                                                value = ((StrongReference) 
reference).Target;
-                                       } 
-                                       else if (reference is WeakReference) 
+                                       }
+                    else if (reference is WeakReference && 
((WeakReference)reference).IsAlive) 
                                        {
                                                value = ((WeakReference) 
reference).Target;
                                        }

Modified: ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/Model/IModelStore.cs
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/Model/IModelStore.cs?rev=664296&r1=664295&r2=664296&view=diff
==============================================================================
--- ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/Model/IModelStore.cs 
(original)
+++ ibatis/trunk/cs/V3/src/Apache.Ibatis.DataMapper/Model/IModelStore.cs Sat 
Jun  7 01:14:33 2008
@@ -24,17 +24,12 @@
  
********************************************************************************/
 #endregion
 
-using System.Collections.Generic;
-using Apache.Ibatis.Common.Data;
-using Apache.Ibatis.DataMapper.Configuration;
-using Apache.Ibatis.DataMapper.Model.ResultMapping;
-using Apache.Ibatis.DataMapper.TypeHandlers;
-using Apache.Ibatis.DataMapper.Model.ParameterMapping;
-using Apache.Ibatis.DataMapper.Model.Cache;
+using Apache.Ibatis.DataMapper.Data;
 using Apache.Ibatis.DataMapper.DataExchange;
 using Apache.Ibatis.DataMapper.MappedStatements;
-using Apache.Ibatis.Common.Utilities;
-using Apache.Ibatis.DataMapper.Data;
+using Apache.Ibatis.DataMapper.Model.Cache;
+using Apache.Ibatis.DataMapper.Model.ParameterMapping;
+using Apache.Ibatis.DataMapper.Model.ResultMapping;
 using Apache.Ibatis.DataMapper.Session;
 
 namespace Apache.Ibatis.DataMapper.Model


Reply via email to