Author: cbegin
Date: Wed Jan 20 03:56:10 2010
New Revision: 901050
URL: http://svn.apache.org/viewvc?rev=901050&view=rev
Log:
Added configuration property for autoMappingBehavior
Added:
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/AutoMappingBehavior.java
Modified:
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/Ibatis2Configuration.java
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/test/java/com/ibatis/sqlmap/MultiResultSetTest.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/XMLConfigBuilder.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/FastResultSetHandler.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/NestedResultSetHandler.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/Configuration.java
Modified:
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/Ibatis2Configuration.java
URL:
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/Ibatis2Configuration.java?rev=901050&r1=901049&r2=901050&view=diff
==============================================================================
---
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/Ibatis2Configuration.java
(original)
+++
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/builder/Ibatis2Configuration.java
Wed Jan 20 03:56:10 2010
@@ -11,6 +11,7 @@
import org.apache.ibatis.cache.decorators.LruCache;
import org.apache.ibatis.cache.decorators.SoftCache;
import org.apache.ibatis.session.Configuration;
+import org.apache.ibatis.session.AutoMappingBehavior;
import javax.sql.DataSource;
import java.util.HashMap;
@@ -28,6 +29,7 @@
private Map<String, Boolean> postSelectKeyMap;
public Ibatis2Configuration() {
+ setAutoMappingBehavior(AutoMappingBehavior.FULL);
setUseGeneratedKeys(false);
this.flushCachePlugin = new FlushCacheInterceptor();
this.addInterceptor(flushCachePlugin);
Modified:
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/test/java/com/ibatis/sqlmap/MultiResultSetTest.java
URL:
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/test/java/com/ibatis/sqlmap/MultiResultSetTest.java?rev=901050&r1=901049&r2=901050&view=diff
==============================================================================
---
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/test/java/com/ibatis/sqlmap/MultiResultSetTest.java
(original)
+++
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/test/java/com/ibatis/sqlmap/MultiResultSetTest.java
Wed Jan 20 03:56:10 2010
@@ -17,7 +17,6 @@
initSqlMap("com/ibatis/sqlmap/maps/DerbySqlMapConfig.xml",
Resources.getResourceAsProperties("com/ibatis/sqlmap/maps/DerbySqlMapConfig.properties"));
initScript("scripts/account-init.sql");
initScript("scripts/derby-proc-init.sql");
-
}
public void testShouldRetrieveTwoSetsOfTwoAccountsFromMultipleResultMaps()
throws Exception {
Modified:
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/XMLConfigBuilder.java
URL:
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/XMLConfigBuilder.java?rev=901050&r1=901049&r2=901050&view=diff
==============================================================================
---
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/XMLConfigBuilder.java
(original)
+++
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/XMLConfigBuilder.java
Wed Jan 20 03:56:10 2010
@@ -14,6 +14,7 @@
import org.apache.ibatis.reflection.wrapper.ObjectWrapperFactory;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.ExecutorType;
+import org.apache.ibatis.session.AutoMappingBehavior;
import org.apache.ibatis.transaction.TransactionFactory;
import org.apache.ibatis.type.TypeHandler;
@@ -153,6 +154,7 @@
throw new BuilderException("The setting " + entry.getKey() + " is
not known. Make sure you spelled it correctly (case sensitive).");
}
}
+
configuration.setAutoMappingBehavior(AutoMappingBehavior.valueOf(stringValueOf(props.getProperty("autoMappingBehavior"),
"PARTIAL")));
configuration.setCacheEnabled(booleanValueOf(props.getProperty("cacheEnabled"),
true));
configuration.setLazyLoadingEnabled(booleanValueOf(props.getProperty("lazyLoadingEnabled"),
false));
configuration.setMultipleResultSetsEnabled(booleanValueOf(props.getProperty("multipleResultSetsEnabled"),
true));
Modified:
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/FastResultSetHandler.java
URL:
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/FastResultSetHandler.java?rev=901050&r1=901049&r2=901050&view=diff
==============================================================================
---
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/FastResultSetHandler.java
(original)
+++
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/FastResultSetHandler.java
Wed Jan 20 03:56:10 2010
@@ -15,6 +15,7 @@
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.ResultHandler;
import org.apache.ibatis.session.RowBounds;
+import org.apache.ibatis.session.AutoMappingBehavior;
import org.apache.ibatis.type.TypeHandler;
import org.apache.ibatis.type.TypeHandlerRegistry;
@@ -174,7 +175,9 @@
final MetaObject metaObject = configuration.newMetaObject(resultObject);
loadMappedAndUnmappedColumnNames(rs, resultMap, mappedColumnNames,
unmappedColumnNames);
boolean foundValues = resultMap.getConstructorResultMappings().size() >
0;
- foundValues = applyAutomaticMappings(rs, unmappedColumnNames,
metaObject) || foundValues;
+ if
(!AutoMappingBehavior.NONE.equals(configuration.getAutoMappingBehavior())) {
+ foundValues = applyAutomaticMappings(rs, unmappedColumnNames,
metaObject) || foundValues;
+ }
foundValues = applyPropertyMappings(rs, resultMap, mappedColumnNames,
metaObject, lazyLoader) || foundValues;
resultObject = foundValues ? resultObject : null;
return resultObject;
Modified:
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/NestedResultSetHandler.java
URL:
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/NestedResultSetHandler.java?rev=901050&r1=901049&r2=901050&view=diff
==============================================================================
---
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/NestedResultSetHandler.java
(original)
+++
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/resultset/NestedResultSetHandler.java
Wed Jan 20 03:56:10 2010
@@ -14,6 +14,7 @@
import org.apache.ibatis.reflection.MetaObject;
import org.apache.ibatis.session.ResultHandler;
import org.apache.ibatis.session.RowBounds;
+import org.apache.ibatis.session.AutoMappingBehavior;
import org.apache.ibatis.type.TypeHandler;
import java.sql.ResultSet;
@@ -99,7 +100,9 @@
final MetaObject metaObject =
configuration.newMetaObject(resultObject);
loadMappedAndUnmappedColumnNames(rs, resultMap, mappedColumnNames,
unmappedColumnNames);
boolean foundValues = resultMap.getConstructorResultMappings().size()
> 0;
- foundValues = applyAutomaticMappings(rs, unmappedColumnNames,
metaObject) || foundValues;
+ if
(AutoMappingBehavior.FULL.equals(configuration.getAutoMappingBehavior())) {
+ foundValues = applyAutomaticMappings(rs, unmappedColumnNames,
metaObject) || foundValues;
+ }
foundValues = applyPropertyMappings(rs, resultMap, mappedColumnNames,
metaObject, lazyLoader) || foundValues;
foundValues = applyNestedResultMappings(rs, resultMap, metaObject) ||
foundValues;
resultObject = foundValues ? resultObject : null;
Added:
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/AutoMappingBehavior.java
URL:
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/AutoMappingBehavior.java?rev=901050&view=auto
==============================================================================
---
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/AutoMappingBehavior.java
(added)
+++
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/AutoMappingBehavior.java
Wed Jan 20 03:56:10 2010
@@ -0,0 +1,5 @@
+package org.apache.ibatis.session;
+
+public enum AutoMappingBehavior {
+ NONE,PARTIAL,FULL
+}
Modified:
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/Configuration.java
URL:
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/Configuration.java?rev=901050&r1=901049&r2=901050&view=diff
==============================================================================
---
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/Configuration.java
(original)
+++
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/Configuration.java
Wed Jan 20 03:56:10 2010
@@ -46,6 +46,7 @@
private boolean cacheEnabled = true;
private Integer defaultStatementTimeout;
private ExecutorType defaultExecutorType = ExecutorType.SIMPLE;
+ private AutoMappingBehavior autoMappingBehavior =
AutoMappingBehavior.PARTIAL;
private Properties variables = new Properties();
private ObjectFactory objectFactory = new DefaultObjectFactory();
@@ -98,6 +99,14 @@
this.environment = environment;
}
+ public AutoMappingBehavior getAutoMappingBehavior() {
+ return autoMappingBehavior;
+ }
+
+ public void setAutoMappingBehavior(AutoMappingBehavior autoMappingBehavior) {
+ this.autoMappingBehavior = autoMappingBehavior;
+ }
+
public boolean isLazyLoadingEnabled() {
return lazyLoadingEnabled;
}