You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2014/03/12 16:14:19 UTC

svn commit: r1576780 [2/2] - in /cayenne/main/trunk/cayenne-server/src: main/java/org/apache/cayenne/access/ main/java/org/apache/cayenne/access/jdbc/ main/java/org/apache/cayenne/configuration/server/ main/java/org/apache/cayenne/dba/ main/java/org/ap...

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8SelectAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8SelectAction.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8SelectAction.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8SelectAction.java Wed Mar 12 15:14:17 2014
@@ -20,10 +20,8 @@ package org.apache.cayenne.dba.oracle;
 
 import java.sql.Connection;
 
-import org.apache.cayenne.access.jdbc.RowReaderFactory;
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.trans.SelectTranslator;
-import org.apache.cayenne.dba.JdbcAdapter;
-import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.SelectQuery;
 
 /**
@@ -31,19 +29,18 @@ import org.apache.cayenne.query.SelectQu
  */
 class Oracle8SelectAction extends OracleSelectAction {
 
-    <T> Oracle8SelectAction(SelectQuery<T> query, JdbcAdapter adapter, EntityResolver entityResolver,
-            RowReaderFactory rowReaderFactory) {
-        super(query, adapter, entityResolver, rowReaderFactory);
+    <T> Oracle8SelectAction(SelectQuery<T> query, DataNode dataNode) {
+        super(query, dataNode);
     }
 
     @Override
     protected SelectTranslator createTranslator(Connection connection) {
         SelectTranslator translator = new Oracle8SelectTranslator();
         translator.setQuery(query);
-        translator.setAdapter(adapter);
-        translator.setEntityResolver(getEntityResolver());
+        translator.setAdapter(dataNode.getAdapter());
+        translator.setEntityResolver(dataNode.getEntityResolver());
         translator.setConnection(connection);
-        translator.setJdbcEventLogger(adapter.getJdbcEventLogger());
+        translator.setJdbcEventLogger(dataNode.getJdbcEventLogger());
         return translator;
     }
 }

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleActionBuilder.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleActionBuilder.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleActionBuilder.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleActionBuilder.java Wed Mar 12 15:14:17 2014
@@ -19,10 +19,8 @@
 
 package org.apache.cayenne.dba.oracle;
 
-import org.apache.cayenne.access.jdbc.RowReaderFactory;
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.dba.JdbcActionBuilder;
-import org.apache.cayenne.dba.JdbcAdapter;
-import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.BatchQuery;
 import org.apache.cayenne.query.ProcedureQuery;
 import org.apache.cayenne.query.SQLAction;
@@ -34,13 +32,13 @@ import org.apache.cayenne.query.SelectQu
  */
 class OracleActionBuilder extends JdbcActionBuilder {
 
-    OracleActionBuilder(JdbcAdapter adapter, EntityResolver resolver, RowReaderFactory rowReaderFactory) {
-        super(adapter, resolver, rowReaderFactory);
+    OracleActionBuilder(DataNode dataNode) {
+        super(dataNode);
     }
 
     @Override
     public SQLAction sqlAction(SQLTemplate query) {
-        return new OracleSQLTemplateAction(query, adapter, getEntityResolver(), rowReaderFactory);
+        return new OracleSQLTemplateAction(query, dataNode);
     }
 
     @Override
@@ -48,15 +46,15 @@ class OracleActionBuilder extends JdbcAc
 
         // special handling for LOB updates
         if (OracleAdapter.isSupportsOracleLOB() && OracleAdapter.updatesLOBColumns(query)) {
-            return new OracleLOBBatchAction(query, getAdapter());
+            return new OracleLOBBatchAction(query, dataNode.getAdapter(), dataNode.getJdbcEventLogger());
         } else {
 
             // optimistic locking is not supported in batches due to JDBC driver
             // limitations
             boolean useOptimisticLock = query.isUsingOptimisticLocking();
-            boolean runningAsBatch = !useOptimisticLock && adapter.supportsBatchUpdates();
+            boolean runningAsBatch = !useOptimisticLock && dataNode.getAdapter().supportsBatchUpdates();
 
-            OracleBatchAction action = new OracleBatchAction(query, adapter, getEntityResolver(), rowReaderFactory);
+            OracleBatchAction action = new OracleBatchAction(query, dataNode);
             action.setBatch(runningAsBatch);
             return action;
         }
@@ -65,11 +63,11 @@ class OracleActionBuilder extends JdbcAc
 
     @Override
     public SQLAction procedureAction(ProcedureQuery query) {
-        return new OracleProcedureAction(query, getAdapter(), getEntityResolver(), rowReaderFactory);
+        return new OracleProcedureAction(query, dataNode);
     }
 
     @Override
     public <T> SQLAction objectSelectAction(SelectQuery<T> query) {
-        return new OracleSelectAction(query, getAdapter(), getEntityResolver(), rowReaderFactory);
+        return new OracleSelectAction(query, dataNode);
     }
 }

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleAdapter.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleAdapter.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleAdapter.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleAdapter.java Wed Mar 12 15:14:17 2014
@@ -313,8 +313,7 @@ public class OracleAdapter extends JdbcA
      */
     @Override
     public SQLAction getAction(Query query, DataNode node) {
-        return query
-                .createSQLAction(new OracleActionBuilder(this, node.getEntityResolver(), node.getRowReaderFactory()));
+        return query.createSQLAction(new OracleActionBuilder(node));
     }
 
     /**

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleBatchAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleBatchAction.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleBatchAction.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleBatchAction.java Wed Mar 12 15:14:17 2014
@@ -20,11 +20,9 @@
 package org.apache.cayenne.dba.oracle;
 
 import org.apache.cayenne.CayenneException;
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.jdbc.BatchAction;
-import org.apache.cayenne.access.jdbc.RowReaderFactory;
 import org.apache.cayenne.access.trans.BatchQueryBuilder;
-import org.apache.cayenne.dba.JdbcAdapter;
-import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.BatchQuery;
 
 /**
@@ -35,9 +33,8 @@ class OracleBatchAction extends BatchAct
     /**
      * @since 3.2
      */
-    OracleBatchAction(BatchQuery batchQuery, JdbcAdapter adapter, EntityResolver entityResolver,
-            RowReaderFactory rowReaderFactory) {
-        super(batchQuery, adapter, entityResolver, rowReaderFactory);
+    OracleBatchAction(BatchQuery batchQuery, DataNode dataNode) {
+        super(batchQuery, dataNode);
     }
 
     @Override

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleLOBBatchAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleLOBBatchAction.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleLOBBatchAction.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleLOBBatchAction.java Wed Mar 12 15:14:17 2014
@@ -39,7 +39,6 @@ import org.apache.cayenne.access.trans.L
 import org.apache.cayenne.access.trans.LOBInsertBatchQueryBuilder;
 import org.apache.cayenne.access.trans.LOBUpdateBatchQueryBuilder;
 import org.apache.cayenne.dba.DbAdapter;
-import org.apache.cayenne.dba.JdbcAdapter;
 import org.apache.cayenne.log.JdbcEventLogger;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.query.BatchQuery;
@@ -58,10 +57,10 @@ class OracleLOBBatchAction implements SQ
 
     protected JdbcEventLogger logger;
 
-    OracleLOBBatchAction(BatchQuery query, JdbcAdapter adapter) {
+    OracleLOBBatchAction(BatchQuery query, DbAdapter adapter, JdbcEventLogger logger) {
         this.adapter = adapter;
         this.query = query;
-        this.logger = adapter.getJdbcEventLogger();
+        this.logger = logger;
     }
 
     DbAdapter getAdapter() {

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleProcedureAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleProcedureAction.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleProcedureAction.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleProcedureAction.java Wed Mar 12 15:14:17 2014
@@ -26,14 +26,12 @@ import java.util.Collections;
 import java.util.List;
 
 import org.apache.cayenne.DataRow;
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.OperationObserver;
 import org.apache.cayenne.access.jdbc.ColumnDescriptor;
 import org.apache.cayenne.access.jdbc.ProcedureAction;
 import org.apache.cayenne.access.jdbc.RowDescriptor;
-import org.apache.cayenne.access.jdbc.RowReaderFactory;
 import org.apache.cayenne.access.types.ExtendedType;
-import org.apache.cayenne.dba.JdbcAdapter;
-import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.map.ProcedureParameter;
 import org.apache.cayenne.query.ProcedureQuery;
 
@@ -44,9 +42,8 @@ import org.apache.cayenne.query.Procedur
  */
 class OracleProcedureAction extends ProcedureAction {
 
-    OracleProcedureAction(ProcedureQuery query, JdbcAdapter adapter, EntityResolver entityResolver,
-            RowReaderFactory rowReaderFactory) {
-        super(query, adapter, entityResolver, rowReaderFactory);
+    OracleProcedureAction(ProcedureQuery query, DataNode dataNode) {
+        super(query, dataNode);
     }
 
     /**
@@ -94,7 +91,7 @@ class OracleProcedureAction extends Proc
                 }
 
                 ColumnDescriptor descriptor = new ColumnDescriptor(parameter);
-                ExtendedType type = getAdapter().getExtendedTypes().getRegisteredType(
+                ExtendedType type = dataNode.getAdapter().getExtendedTypes().getRegisteredType(
                         descriptor.getJavaClass());
                 Object val = type.materializeObject(statement, i + 1, descriptor
                         .getJdbcType());
@@ -105,7 +102,7 @@ class OracleProcedureAction extends Proc
 
         if (result != null && !result.isEmpty()) {
             // treat out parameters as a separate data row set
-            adapter.getJdbcEventLogger().logSelectCount(1, System.currentTimeMillis() - t1);
+            dataNode.getJdbcEventLogger().logSelectCount(1, System.currentTimeMillis() - t1);
             delegate.nextRows(query, Collections.singletonList(result));
         }
     }

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleSQLTemplateAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleSQLTemplateAction.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleSQLTemplateAction.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleSQLTemplateAction.java Wed Mar 12 15:14:17 2014
@@ -42,14 +42,12 @@ import java.sql.Types;
 import java.util.Calendar;
 import java.util.Map;
 
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.OperationObserver;
 import org.apache.cayenne.access.jdbc.RowDescriptorBuilder;
-import org.apache.cayenne.access.jdbc.RowReaderFactory;
 import org.apache.cayenne.access.jdbc.SQLStatement;
 import org.apache.cayenne.access.jdbc.SQLTemplateAction;
-import org.apache.cayenne.dba.JdbcAdapter;
 import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.SQLTemplate;
 
 /**
@@ -59,10 +57,9 @@ class OracleSQLTemplateAction extends SQ
 
     protected DbEntity dbEntity;
 
-    OracleSQLTemplateAction(SQLTemplate query, JdbcAdapter adapter, EntityResolver entityResolver,
-            RowReaderFactory rowReaderFactory) {
-        super(query, adapter, entityResolver, rowReaderFactory);
-        this.dbEntity = query.getMetaData(entityResolver).getDbEntity();
+    OracleSQLTemplateAction(SQLTemplate query, DataNode dataNode) {
+        super(query, dataNode);
+        this.dbEntity = query.getMetaData(dataNode.getEntityResolver()).getDbEntity();
     }
 
     @Override

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleSelectAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleSelectAction.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleSelectAction.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleSelectAction.java Wed Mar 12 15:14:17 2014
@@ -21,11 +21,9 @@ package org.apache.cayenne.dba.oracle;
 
 import java.sql.Connection;
 
-import org.apache.cayenne.access.jdbc.RowReaderFactory;
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.jdbc.SelectAction;
 import org.apache.cayenne.access.trans.SelectTranslator;
-import org.apache.cayenne.dba.JdbcAdapter;
-import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.SelectQuery;
 
 /**
@@ -33,19 +31,18 @@ import org.apache.cayenne.query.SelectQu
  */
 class OracleSelectAction extends SelectAction {
 
-    public <T> OracleSelectAction(SelectQuery<T> query, JdbcAdapter adapter, EntityResolver entityResolver,
-            RowReaderFactory rowReaderFactory) {
-        super(query, adapter, entityResolver, rowReaderFactory);
+    public <T> OracleSelectAction(SelectQuery<T> query, DataNode dataNode) {
+        super(query, dataNode);
     }
 
     @Override
     protected SelectTranslator createTranslator(Connection connection) {
         SelectTranslator translator = new OracleSelectTranslator();
         translator.setQuery(query);
-        translator.setAdapter(adapter);
-        translator.setEntityResolver(getEntityResolver());
+        translator.setAdapter(dataNode.getAdapter());
+        translator.setEntityResolver(dataNode.getEntityResolver());
         translator.setConnection(connection);
-        translator.setJdbcEventLogger(adapter.getJdbcEventLogger());
+        translator.setJdbcEventLogger(dataNode.getJdbcEventLogger());
         return translator;
     }
 

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresActionBuilder.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresActionBuilder.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresActionBuilder.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresActionBuilder.java Wed Mar 12 15:14:17 2014
@@ -19,10 +19,8 @@
 
 package org.apache.cayenne.dba.postgres;
 
-import org.apache.cayenne.access.jdbc.RowReaderFactory;
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.dba.JdbcActionBuilder;
-import org.apache.cayenne.dba.JdbcAdapter;
-import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.ProcedureQuery;
 import org.apache.cayenne.query.SQLAction;
 import org.apache.cayenne.query.SelectQuery;
@@ -32,17 +30,17 @@ import org.apache.cayenne.query.SelectQu
  */
 class PostgresActionBuilder extends JdbcActionBuilder {
 
-    public PostgresActionBuilder(JdbcAdapter adapter, EntityResolver resolver, RowReaderFactory rowReaderFactory) {
-        super(adapter, resolver, rowReaderFactory);
+    public PostgresActionBuilder(DataNode dataNode) {
+        super(dataNode);
     }
 
     @Override
     public SQLAction procedureAction(ProcedureQuery query) {
-        return new PostgresProcedureAction(query, getAdapter(), getEntityResolver(), rowReaderFactory);
+        return new PostgresProcedureAction(query, dataNode);
     }
 
     @Override
     public <T> SQLAction objectSelectAction(SelectQuery<T> query) {
-        return new PostgresSelectAction(query, adapter, entityResolver, rowReaderFactory);
+        return new PostgresSelectAction(query, dataNode);
     }
 }

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java Wed Mar 12 15:14:17 2014
@@ -77,7 +77,7 @@ public class PostgresAdapter extends Jdb
      */
     @Override
     public SQLAction getAction(Query query, DataNode node) {
-        return query.createSQLAction(new PostgresActionBuilder(this, node.getEntityResolver(), node.getRowReaderFactory()));
+        return query.createSQLAction(new PostgresActionBuilder(node));
     }
 
     /**

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresProcedureAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresProcedureAction.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresProcedureAction.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresProcedureAction.java Wed Mar 12 15:14:17 2014
@@ -21,11 +21,9 @@ package org.apache.cayenne.dba.postgres;
 
 import java.sql.Connection;
 
-import org.apache.cayenne.access.jdbc.RowReaderFactory;
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.trans.ProcedureTranslator;
-import org.apache.cayenne.dba.JdbcAdapter;
 import org.apache.cayenne.dba.sqlserver.SQLServerProcedureAction;
-import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.ProcedureQuery;
 
 /**
@@ -38,9 +36,8 @@ import org.apache.cayenne.query.Procedur
  */
 class PostgresProcedureAction extends SQLServerProcedureAction {
 
-    PostgresProcedureAction(ProcedureQuery query, JdbcAdapter adapter, EntityResolver entityResolver,
-            RowReaderFactory rowReaderFactory) {
-        super(query, adapter, entityResolver, rowReaderFactory);
+    PostgresProcedureAction(ProcedureQuery query, DataNode dataNode) {
+        super(query, dataNode);
     }
 
     /**
@@ -50,11 +47,11 @@ class PostgresProcedureAction extends SQ
     @Override
     protected ProcedureTranslator createTranslator(Connection connection) {
         ProcedureTranslator translator = new PostgresProcedureTranslator();
-        translator.setAdapter(getAdapter());
+        translator.setAdapter(dataNode.getAdapter());
         translator.setQuery(query);
-        translator.setEntityResolver(getEntityResolver());
+        translator.setEntityResolver(dataNode.getEntityResolver());
         translator.setConnection(connection);
-        translator.setJdbcEventLogger(adapter.getJdbcEventLogger());
+        translator.setJdbcEventLogger(dataNode.getJdbcEventLogger());
         return translator;
     }
 

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresSelectAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresSelectAction.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresSelectAction.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresSelectAction.java Wed Mar 12 15:14:17 2014
@@ -20,11 +20,9 @@ package org.apache.cayenne.dba.postgres;
 
 import java.sql.Connection;
 
-import org.apache.cayenne.access.jdbc.RowReaderFactory;
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.jdbc.SelectAction;
 import org.apache.cayenne.access.trans.SelectTranslator;
-import org.apache.cayenne.dba.JdbcAdapter;
-import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.SelectQuery;
 
 /**
@@ -32,9 +30,8 @@ import org.apache.cayenne.query.SelectQu
  */
 class PostgresSelectAction extends SelectAction {
 
-    <T> PostgresSelectAction(SelectQuery<T> query, JdbcAdapter adapter, EntityResolver entityResolver,
-            RowReaderFactory rowReaderFactory) {
-        super(query, adapter, entityResolver, rowReaderFactory);
+    <T> PostgresSelectAction(SelectQuery<T> query, DataNode dataNode) {
+        super(query, dataNode);
     }
 
     @Override
@@ -46,10 +43,10 @@ class PostgresSelectAction extends Selec
     protected SelectTranslator createTranslator(Connection connection) {
         SelectTranslator translator = new PostgresSelectTranslator();
         translator.setQuery(query);
-        translator.setAdapter(adapter);
-        translator.setEntityResolver(getEntityResolver());
+        translator.setAdapter(dataNode.getAdapter());
+        translator.setEntityResolver(dataNode.getEntityResolver());
         translator.setConnection(connection);
-        translator.setJdbcEventLogger(adapter.getJdbcEventLogger());
+        translator.setJdbcEventLogger(dataNode.getJdbcEventLogger());
         return translator;
     }
 }

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlite/SQLiteActionBuilder.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlite/SQLiteActionBuilder.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlite/SQLiteActionBuilder.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlite/SQLiteActionBuilder.java Wed Mar 12 15:14:17 2014
@@ -18,10 +18,8 @@
  ****************************************************************/
 package org.apache.cayenne.dba.sqlite;
 
-import org.apache.cayenne.access.jdbc.RowReaderFactory;
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.dba.JdbcActionBuilder;
-import org.apache.cayenne.dba.JdbcAdapter;
-import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.SQLAction;
 import org.apache.cayenne.query.SQLTemplate;
 
@@ -30,12 +28,12 @@ import org.apache.cayenne.query.SQLTempl
  */
 class SQLiteActionBuilder extends JdbcActionBuilder {
 
-    SQLiteActionBuilder(JdbcAdapter adapter, EntityResolver resolver, RowReaderFactory rowReaderFactory) {
-        super(adapter, resolver, rowReaderFactory);
+    SQLiteActionBuilder(DataNode dataNode) {
+        super(dataNode);
     }
 
     @Override
     public SQLAction sqlAction(SQLTemplate query) {
-        return new SQLiteSQLTemplateAction(query, adapter, getEntityResolver(), rowReaderFactory);
+        return new SQLiteSQLTemplateAction(query, dataNode);
     }
 }

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlite/SQLiteAdapter.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlite/SQLiteAdapter.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlite/SQLiteAdapter.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlite/SQLiteAdapter.java Wed Mar 12 15:14:17 2014
@@ -95,8 +95,7 @@ public class SQLiteAdapter extends JdbcA
 
     @Override
     public SQLAction getAction(Query query, DataNode node) {
-        return query
-                .createSQLAction(new SQLiteActionBuilder(this, node.getEntityResolver(), node.getRowReaderFactory()));
+        return query.createSQLAction(new SQLiteActionBuilder(node));
     }
 
     /**

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlite/SQLiteSQLTemplateAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlite/SQLiteSQLTemplateAction.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlite/SQLiteSQLTemplateAction.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlite/SQLiteSQLTemplateAction.java Wed Mar 12 15:14:17 2014
@@ -24,12 +24,10 @@ import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.Collection;
 
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.OperationObserver;
-import org.apache.cayenne.access.jdbc.RowReaderFactory;
 import org.apache.cayenne.access.jdbc.SQLStatement;
 import org.apache.cayenne.access.jdbc.SQLTemplateAction;
-import org.apache.cayenne.dba.JdbcAdapter;
-import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.SQLTemplate;
 
 /**
@@ -37,9 +35,8 @@ import org.apache.cayenne.query.SQLTempl
  */
 class SQLiteSQLTemplateAction extends SQLTemplateAction {
 
-    public SQLiteSQLTemplateAction(SQLTemplate query, JdbcAdapter adapter, EntityResolver resolver,
-            RowReaderFactory rowReaderFactory) {
-        super(query, adapter, resolver, rowReaderFactory);
+    public SQLiteSQLTemplateAction(SQLTemplate query, DataNode dataNode) {
+        super(query, dataNode);
     }
 
     /**
@@ -86,7 +83,7 @@ class SQLiteSQLTemplateAction extends SQ
             else {
                 int updateCount = statement.executeUpdate();
                 updateCounts.add(Integer.valueOf(updateCount));
-                adapter.getJdbcEventLogger().logUpdateCount(updateCount);
+                dataNode.getJdbcEventLogger().logUpdateCount(updateCount);
             }
 
             // end - code different from super

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerActionBuilder.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerActionBuilder.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerActionBuilder.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerActionBuilder.java Wed Mar 12 15:14:17 2014
@@ -19,15 +19,13 @@
 
 package org.apache.cayenne.dba.sqlserver;
 
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.jdbc.BatchAction;
-import org.apache.cayenne.access.jdbc.RowReaderFactory;
 import org.apache.cayenne.dba.JdbcActionBuilder;
-import org.apache.cayenne.dba.JdbcAdapter;
-import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.BatchQuery;
 import org.apache.cayenne.query.ProcedureQuery;
-import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.query.SQLAction;
+import org.apache.cayenne.query.SelectQuery;
 
 
 /**
@@ -38,8 +36,8 @@ public class SQLServerActionBuilder exte
     /**
      * @since 3.2
      */
-    public SQLServerActionBuilder(JdbcAdapter adapter, EntityResolver resolver, RowReaderFactory rowReaderFactory) {
-        super(adapter, resolver, rowReaderFactory);
+    public SQLServerActionBuilder(DataNode dataNode) {
+        super(dataNode);
     }
     
     @Override
@@ -49,19 +47,19 @@ public class SQLServerActionBuilder exte
         // optimistic locking is not supported in batches due to JDBC driver limitations
         boolean useOptimisticLock = query.isUsingOptimisticLocking();
 
-        boolean runningAsBatch = !useOptimisticLock && adapter.supportsBatchUpdates();
-        BatchAction action = new SQLServerBatchAction(query, adapter, entityResolver, rowReaderFactory);
+        boolean runningAsBatch = !useOptimisticLock && dataNode.getAdapter().supportsBatchUpdates();
+        BatchAction action = new SQLServerBatchAction(query, dataNode);
         action.setBatch(runningAsBatch);
         return action;
     }
 
     @Override
     public <T> SQLAction objectSelectAction(SelectQuery<T> query) {
-        return new SQLServerSelectAction(query, adapter, entityResolver, rowReaderFactory);
+        return new SQLServerSelectAction(query, dataNode);
     }    
     
     @Override
     public SQLAction procedureAction(ProcedureQuery query) {
-        return new SQLServerProcedureAction(query, getAdapter(), getEntityResolver(), rowReaderFactory);
+        return new SQLServerProcedureAction(query, dataNode);
     }
 }

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapter.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapter.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapter.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapter.java Wed Mar 12 15:14:17 2014
@@ -99,8 +99,7 @@ public class SQLServerAdapter extends Sy
      */
     @Override
     public SQLAction getAction(Query query, DataNode node) {
-        return query.createSQLAction(new SQLServerActionBuilder(this, node.getEntityResolver(), node
-                .getRowReaderFactory()));
+        return query.createSQLAction(new SQLServerActionBuilder(node));
     }
 
     /**

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerBatchAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerBatchAction.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerBatchAction.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerBatchAction.java Wed Mar 12 15:14:17 2014
@@ -24,12 +24,10 @@ import java.sql.SQLException;
 import java.sql.Statement;
 import java.util.Collections;
 
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.OperationObserver;
 import org.apache.cayenne.access.jdbc.BatchAction;
-import org.apache.cayenne.access.jdbc.RowReaderFactory;
-import org.apache.cayenne.dba.JdbcAdapter;
 import org.apache.cayenne.map.DbAttribute;
-import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.BatchQuery;
 import org.apache.cayenne.query.InsertBatchQuery;
 
@@ -38,9 +36,8 @@ import org.apache.cayenne.query.InsertBa
  */
 public class SQLServerBatchAction extends BatchAction {
 
-    public SQLServerBatchAction(BatchQuery batchQuery, JdbcAdapter adapter, EntityResolver entityResolver,
-            RowReaderFactory rowReaderFactory) {
-        super(batchQuery, adapter, entityResolver, rowReaderFactory);
+    public SQLServerBatchAction(BatchQuery batchQuery, DataNode dataNode) {
+        super(batchQuery, dataNode);
     }
 
     @Override
@@ -77,7 +74,7 @@ public class SQLServerBatchAction extend
                 + query.getDbEntity().getFullyQualifiedName()
                 + flag;
 
-        adapter.getJdbcEventLogger().logQuery(configSQL, Collections.EMPTY_LIST);
+        dataNode.getJdbcEventLogger().logQuery(configSQL, Collections.EMPTY_LIST);
 
         Statement statement = connection.createStatement();
         try {
@@ -97,7 +94,7 @@ public class SQLServerBatchAction extend
      */
     protected boolean expectsToOverrideIdentityColumns() {
         // jTDS driver supports identity columns, no need for tricks...
-        if (getAdapter().supportsGeneratedKeys()) {
+        if (dataNode.getAdapter().supportsGeneratedKeys()) {
             return false;
         }
 

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerProcedureAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerProcedureAction.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerProcedureAction.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerProcedureAction.java Wed Mar 12 15:14:17 2014
@@ -27,13 +27,11 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.cayenne.ResultIterator;
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.OperationObserver;
 import org.apache.cayenne.access.jdbc.ProcedureAction;
 import org.apache.cayenne.access.jdbc.RowDescriptor;
-import org.apache.cayenne.access.jdbc.RowReaderFactory;
 import org.apache.cayenne.access.trans.ProcedureTranslator;
-import org.apache.cayenne.dba.JdbcAdapter;
-import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.ProcedureQuery;
 import org.apache.cayenne.query.Query;
 
@@ -52,9 +50,8 @@ public class SQLServerProcedureAction ex
     /**
      * @since 3.2
      */
-    public SQLServerProcedureAction(ProcedureQuery query, JdbcAdapter adapter, EntityResolver entityResolver,
-            RowReaderFactory rowReaderFactory) {
-        super(query, adapter, entityResolver, rowReaderFactory);
+    public SQLServerProcedureAction(ProcedureQuery query, DataNode dataNode) {
+        super(query, dataNode);
     }
 
     @Override
@@ -99,7 +96,7 @@ public class SQLServerProcedureAction ex
                     if (updateCount == -1) {
                         break;
                     }
-                    adapter.getJdbcEventLogger().logUpdateCount(updateCount);
+                    dataNode.getJdbcEventLogger().logUpdateCount(updateCount);
                     localObserver.nextCount(query, updateCount);
                 }
 

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerSelectAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerSelectAction.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerSelectAction.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerSelectAction.java Wed Mar 12 15:14:17 2014
@@ -20,28 +20,25 @@ package org.apache.cayenne.dba.sqlserver
 
 import java.sql.Connection;
 
-import org.apache.cayenne.access.jdbc.RowReaderFactory;
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.jdbc.SelectAction;
 import org.apache.cayenne.access.trans.SelectTranslator;
-import org.apache.cayenne.dba.JdbcAdapter;
-import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.SelectQuery;
 
 public class SQLServerSelectAction extends SelectAction {
 
-    public <T> SQLServerSelectAction(SelectQuery<T> query, JdbcAdapter adapter, EntityResolver entityResolver,
-            RowReaderFactory rowReaderFactory) {
-        super(query, adapter, entityResolver, rowReaderFactory);
+    public <T> SQLServerSelectAction(SelectQuery<T> query, DataNode dataNode) {
+        super(query, dataNode);
     }
 
     @Override
     protected SelectTranslator createTranslator(Connection connection) {
         SelectTranslator translator = new SQLServerSelectTranslator();
         translator.setQuery(query);
-        translator.setAdapter(adapter);
-        translator.setEntityResolver(getEntityResolver());
+        translator.setAdapter(dataNode.getAdapter());
+        translator.setEntityResolver(dataNode.getEntityResolver());
         translator.setConnection(connection);
-        translator.setJdbcEventLogger(adapter.getJdbcEventLogger());
+        translator.setJdbcEventLogger(dataNode.getJdbcEventLogger());
         return translator;
     }
 

Modified: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyTest.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyTest.java (original)
+++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyTest.java Wed Mar 12 15:14:17 2014
@@ -270,6 +270,7 @@ public class SchemaUpdateStrategyTest ex
         dataNode.setDataSourceFactory(node.getDataSourceFactory());
         dataNode.setSchemaUpdateStrategyName(node.getSchemaUpdateStrategyName());
         dataNode.setRowReaderFactory(node.getRowReaderFactory());
+        dataNode.setBatchQueryBuilderFactory(node.getBatchQueryBuilderFactory());
         dataNode.setEntityResolver(new EntityResolver(colection));
         return dataNode;
     }

Modified: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingTest.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingTest.java (original)
+++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingTest.java Wed Mar 12 15:14:17 2014
@@ -28,6 +28,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.MockOperationObserver;
 import org.apache.cayenne.access.OptimisticLockException;
 import org.apache.cayenne.access.trans.DeleteBatchQueryBuilder;
@@ -90,7 +91,11 @@ public class BatchActionLockingTest exte
 
         boolean generatesKeys = false;
 
-        BatchAction action = new BatchAction(batchQuery, adapter, resolver, mock(RowReaderFactory.class));
+        DataNode node = new DataNode();
+        node.setAdapter(adapter);
+        node.setEntityResolver(resolver);
+        node.setRowReaderFactory(mock(RowReaderFactory.class));
+        BatchAction action = new BatchAction(batchQuery, node);
         action.runAsIndividualQueries(mockConnection, batchQueryBuilder, new MockOperationObserver(), generatesKeys);
         assertEquals(0, mockConnection.getNumberCommits());
         assertEquals(0, mockConnection.getNumberRollbacks());
@@ -126,7 +131,11 @@ public class BatchActionLockingTest exte
         preparedStatementResultSetHandler.prepareUpdateCount("DELETE", 0);
 
         boolean generatesKeys = false;
-        BatchAction action = new BatchAction(batchQuery, adapter, resolver, mock(RowReaderFactory.class));
+        DataNode node = new DataNode();
+        node.setAdapter(adapter);
+        node.setEntityResolver(resolver);
+        node.setRowReaderFactory(mock(RowReaderFactory.class));
+        BatchAction action = new BatchAction(batchQuery, node);
         try {
             action.runAsIndividualQueries(mockConnection, batchQueryBuilder, new MockOperationObserver(), generatesKeys);
             fail("No OptimisticLockingFailureException thrown.");

Modified: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionTest.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionTest.java (original)
+++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionTest.java Wed Mar 12 15:14:17 2014
@@ -21,6 +21,7 @@ package org.apache.cayenne.access.jdbc;
 
 import static org.mockito.Mockito.mock;
 
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.dba.JdbcAdapter;
 import org.apache.cayenne.di.AdhocObjectFactory;
@@ -49,10 +50,15 @@ public class BatchActionTest extends Ser
 
         InsertBatchQuery batch1 = new InsertBatchQuery(resolver.getObjEntity(GeneratedColumnTestEntity.class)
                 .getDbEntity(), 5);
-        assertTrue(new BatchAction(batch1, adapter, resolver, mock(RowReaderFactory.class)).hasGeneratedKeys());
+        DataNode node = new DataNode();
+        node.setAdapter(adapter);
+        node.setEntityResolver(resolver);
+        node.setRowReaderFactory(mock(RowReaderFactory.class));
+        
+        assertTrue(new BatchAction(batch1, node).hasGeneratedKeys());
 
         InsertBatchQuery batch2 = new InsertBatchQuery(resolver.getObjEntity(Artist.class).getDbEntity(), 5);
-        assertFalse(new BatchAction(batch2, adapter, resolver, mock(RowReaderFactory.class)).hasGeneratedKeys());
+        assertFalse(new BatchAction(batch2, node).hasGeneratedKeys());
     }
 
     public void testHasGeneratedKeys2() throws Exception {
@@ -63,10 +69,16 @@ public class BatchActionTest extends Ser
 
         InsertBatchQuery batch1 = new InsertBatchQuery(resolver.getObjEntity(GeneratedColumnTestEntity.class)
                 .getDbEntity(), 5);
-        assertFalse(new BatchAction(batch1, adapter, resolver, mock(RowReaderFactory.class)).hasGeneratedKeys());
+        
+        DataNode node = new DataNode();
+        node.setAdapter(adapter);
+        node.setEntityResolver(resolver);
+        node.setRowReaderFactory(mock(RowReaderFactory.class));
+        
+        assertFalse(new BatchAction(batch1, node).hasGeneratedKeys());
 
         InsertBatchQuery batch2 = new InsertBatchQuery(resolver.getObjEntity(Artist.class).getDbEntity(), 5);
-        assertFalse(new BatchAction(batch2, adapter, resolver, mock(RowReaderFactory.class)).hasGeneratedKeys());
+        assertFalse(new BatchAction(batch2, node).hasGeneratedKeys());
     }
 
     JdbcAdapter buildAdapter(boolean supportGeneratedKeys) {

Modified: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BindDirectiveTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BindDirectiveTest.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BindDirectiveTest.java (original)
+++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BindDirectiveTest.java Wed Mar 12 15:14:17 2014
@@ -33,6 +33,7 @@ import java.util.Set;
 
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.MockOperationObserver;
 import org.apache.cayenne.dba.JdbcAdapter;
 import org.apache.cayenne.dba.oracle.OracleAdapter;
@@ -235,10 +236,11 @@ public class BindDirectiveTest extends S
 
         template.setParameters(parameters);
 
-        SQLTemplateAction action = new SQLTemplateAction(
-                template,
-                adapter,
-                context.getEntityResolver(), mock(RowReaderFactory.class));
+        DataNode node = new DataNode();
+        node.setEntityResolver(context.getEntityResolver());
+        node.setRowReaderFactory(mock(RowReaderFactory.class));
+        node.setAdapter(adapter);
+        SQLTemplateAction action = new SQLTemplateAction(template, node);
 
         Connection c = dataSourceFactory.getSharedDataSource().getConnection();
         try {

Modified: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/ResultDirectiveTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/ResultDirectiveTest.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/ResultDirectiveTest.java (original)
+++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/ResultDirectiveTest.java Wed Mar 12 15:14:17 2014
@@ -27,6 +27,7 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.cayenne.DataRow;
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.MockOperationObserver;
 import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.dba.JdbcAdapter;
@@ -144,11 +145,12 @@ public class ResultDirectiveTest extends
 
         template.setParameters(parameters);
 
-        SQLTemplateAction action = new SQLTemplateAction(template, dbAdapter, runtime
-                .getDataDomain()
-                .getEntityResolver(), mock(RowReaderFactory.class));
-
-        assertSame(dbAdapter, action.getAdapter());
+        DataNode node = new DataNode();
+        node.setEntityResolver(runtime.getDataDomain().getEntityResolver());
+        node.setRowReaderFactory(mock(RowReaderFactory.class));
+        node.setAdapter(dbAdapter);
+        
+        SQLTemplateAction action = new SQLTemplateAction(template, node);
 
         Connection c = runtime
                 .getDataDomain()

Modified: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionTest.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionTest.java (original)
+++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionTest.java Wed Mar 12 15:14:17 2014
@@ -19,8 +19,6 @@
 
 package org.apache.cayenne.access.jdbc;
 
-import static org.mockito.Mockito.mock;
-
 import java.sql.Connection;
 import java.sql.Date;
 import java.util.Collections;
@@ -93,11 +91,11 @@ public class SQLTemplateActionTest exten
     }
 
     public void testProperties() throws Exception {
-        SQLTemplate template = new SQLTemplate(Object.class, "AAAAA");
-        SQLTemplateAction action = new SQLTemplateAction(template, adapter, objectContext.getEntityResolver(),
-                mock(RowReaderFactory.class));
-        assertSame(adapter, action.getAdapter());
+        SQLTemplate template = new SQLTemplate(Object.class, "AAAAA");      
+  
+        SQLTemplateAction action = new SQLTemplateAction(template, node);
         assertSame(template, action.getQuery());
+        assertSame(node, action.dataNode);
     }
 
     public void testExecuteSelect() throws Exception {
@@ -319,7 +317,7 @@ public class SQLTemplateActionTest exten
         assertTrue(genericAction instanceof SQLTemplateAction);
         SQLTemplateAction action = (SQLTemplateAction) genericAction;
 
-        assertSame(adapter, action.getAdapter());
+        assertSame(node, action.dataNode);
         assertSame(template, action.getQuery());
 
         Connection c = dataSourceFactory.getSharedDataSource().getConnection();
@@ -359,8 +357,7 @@ public class SQLTemplateActionTest exten
 
     public void testExtractTemplateString() throws Exception {
         SQLTemplate template = new SQLTemplate(Artist.class, "A\nBC");
-        SQLTemplateAction action = new SQLTemplateAction(template, adapter, objectContext.getEntityResolver(),
-                mock(RowReaderFactory.class));
+        SQLTemplateAction action = new SQLTemplateAction(template, node);
 
         assertEquals("A BC", action.extractTemplateString());
     }

Modified: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SoftDeleteBatchQueryBuilderTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SoftDeleteBatchQueryBuilderTest.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SoftDeleteBatchQueryBuilderTest.java (original)
+++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SoftDeleteBatchQueryBuilderTest.java Wed Mar 12 15:14:17 2014
@@ -25,6 +25,7 @@ import java.util.List;
 
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.PersistenceState;
+import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.trans.DeleteBatchQueryBuilder;
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.dba.JdbcAdapter;
@@ -50,6 +51,9 @@ public class SoftDeleteBatchQueryBuilder
 
     @Inject
     protected DbAdapter adapter;
+    
+    @Inject
+    private DataNode dataNode;
 
     @Inject
     private UnitDbAdapter unitAdapter;
@@ -124,9 +128,9 @@ public class SoftDeleteBatchQueryBuilder
         final DbEntity entity = context.getEntityResolver().getObjEntity(SoftTest.class).getDbEntity();
 
         JdbcAdapter adapter = (JdbcAdapter) this.adapter;
-        BatchQueryBuilderFactory oldFactory = adapter.getBatchQueryBuilderFactory();
+        BatchQueryBuilderFactory oldFactory = dataNode.getBatchQueryBuilderFactory();
         try {
-            adapter.setBatchQueryBuilderFactory(new SoftDeleteQueryBuilderFactory());
+            dataNode.setBatchQueryBuilderFactory(new SoftDeleteQueryBuilderFactory());
 
             final SoftTest test = context.newObject(SoftTest.class);
             test.setName("SoftDeleteBatchQueryBuilderTest");
@@ -164,7 +168,7 @@ public class SoftDeleteBatchQueryBuilder
             }.runTest(200);
         } finally {
             context.performQuery(new SQLTemplate(entity, "DELETE FROM SOFT_TEST"));
-            adapter.setBatchQueryBuilderFactory(oldFactory);
+            dataNode.setBatchQueryBuilderFactory(oldFactory);
         }
     }
 

Modified: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/dba/AutoAdapterTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/dba/AutoAdapterTest.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/dba/AutoAdapterTest.java (original)
+++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/dba/AutoAdapterTest.java Wed Mar 12 15:14:17 2014
@@ -42,9 +42,7 @@ public class AutoAdapterTest extends Ser
         Provider<DbAdapter> adapterProvider = mock(Provider.class);
         when(adapterProvider.get()).thenReturn(dataNode.getAdapter());
 
-        AutoAdapter adapter = new AutoAdapter(
-                adapterProvider,
-                NoopJdbcEventLogger.getInstance());
+        AutoAdapter adapter = new AutoAdapter(adapterProvider, NoopJdbcEventLogger.getInstance());
         DbAdapter detected = adapter.getAdapter();
         assertSame(dataNode.getAdapter(), detected);
     }
@@ -54,14 +52,13 @@ public class AutoAdapterTest extends Ser
         Provider<DbAdapter> adapterProvider = mock(Provider.class);
         when(adapterProvider.get()).thenReturn(dataNode.getAdapter());
 
-        AutoAdapter adapter = new AutoAdapter(
-                adapterProvider,
-                NoopJdbcEventLogger.getInstance());
-        SQLTemplateAction action = (SQLTemplateAction) adapter.getAction(new SQLTemplate(
-                Artist.class,
+        AutoAdapter autoAdapter = new AutoAdapter(adapterProvider, NoopJdbcEventLogger.getInstance());
+
+        SQLTemplateAction action = (SQLTemplateAction) autoAdapter.getAction(new SQLTemplate(Artist.class,
                 "select * from artist"), dataNode);
 
-        // it is important for SQLTemplateAction to be used with unwrapped adapter, as the
+        // it is important for SQLTemplateAction to be used with unwrapped
+        // adapter, as the
         // adapter class name is used as a key to the correct SQL template.
         assertNotNull(action.getAdapter());
         assertFalse(action.getAdapter() instanceof AutoAdapter);

Modified: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java (original)
+++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java Wed Mar 12 15:14:17 2014
@@ -36,6 +36,7 @@ import org.apache.cayenne.access.DataDom
 import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.DbGenerator;
 import org.apache.cayenne.access.dbsync.SkipSchemaUpdateStrategy;
+import org.apache.cayenne.access.jdbc.DefaultBatchQueryBuilderFactory;
 import org.apache.cayenne.access.jdbc.DefaultRowReaderFactory;
 import org.apache.cayenne.ashwood.AshwoodEntitySorter;
 import org.apache.cayenne.cache.MapQueryCache;
@@ -153,6 +154,7 @@ public class SchemaBuilder {
 
         node.setSchemaUpdateStrategy(new SkipSchemaUpdateStrategy());
         node.setRowReaderFactory(new DefaultRowReaderFactory());
+        node.setBatchQueryBuilderFactory(new DefaultBatchQueryBuilderFactory());
         domain.addNode(node);
     }
 

Modified: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataDomainProvider.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataDomainProvider.java?rev=1576780&r1=1576779&r2=1576780&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataDomainProvider.java (original)
+++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseDataDomainProvider.java Wed Mar 12 15:14:17 2014
@@ -22,6 +22,7 @@ import org.apache.cayenne.access.DataDom
 import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.UnitTestDomain;
 import org.apache.cayenne.access.dbsync.SkipSchemaUpdateStrategy;
+import org.apache.cayenne.access.jdbc.BatchQueryBuilderFactory;
 import org.apache.cayenne.access.jdbc.RowReaderFactory;
 import org.apache.cayenne.configuration.server.DataDomainProvider;
 import org.apache.cayenne.dba.DbAdapter;
@@ -47,6 +48,9 @@ class ServerCaseDataDomainProvider exten
     
     @Inject
     protected RowReaderFactory rowReaderFactory;
+    
+    @Inject
+    protected BatchQueryBuilderFactory batchQueryBuilderFactory;
 
     @Override
     protected DataDomain createDataDomain(String name) {
@@ -65,6 +69,7 @@ class ServerCaseDataDomainProvider exten
             node = new DataNode(dataMap.getName());
             node.setJdbcEventLogger(jdbcEventLogger);
             node.setRowReaderFactory(rowReaderFactory);
+            node.setBatchQueryBuilderFactory(batchQueryBuilderFactory);
 
             // shared or dedicated DataSources can be mapped per DataMap
             node.setDataSource(dataSourceFactory.getDataSource(dataMap.getName()));