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/14 10:59:58 UTC

svn commit: r1577470 - in /cayenne/main/trunk/cayenne-server/src: main/java/org/apache/cayenne/access/jdbc/ main/java/org/apache/cayenne/dba/ main/java/org/apache/cayenne/dba/oracle/ main/java/org/apache/cayenne/dba/sqlserver/ test/java/org/apache/caye...

Author: aadamchik
Date: Fri Mar 14 09:59:57 2014
New Revision: 1577470

URL: http://svn.apache.org/r1577470
Log:
refactoring, cleanup of BatchAction

Modified:
    cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/BatchAction.java
    cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcActionBuilder.java
    cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8ActionBuilder.java
    cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleActionBuilder.java
    cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleBatchAction.java
    cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerActionBuilder.java
    cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/sqlserver/SQLServerBatchAction.java
    cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingTest.java
    cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionTest.java

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/BatchAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/BatchAction.java?rev=1577470&r1=1577469&r2=1577470&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/BatchAction.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/BatchAction.java Fri Mar 14 09:59:57 2014
@@ -49,16 +49,17 @@ import org.apache.cayenne.query.UpdateBa
  */
 public class BatchAction extends BaseSQLAction {
 
-    protected boolean batch;
+    protected boolean runningAsBatch;
     protected BatchQuery query;
     protected RowDescriptor keyRowDescriptor;
 
     /**
      * @since 3.2
      */
-    public BatchAction(BatchQuery batchQuery, DataNode dataNode) {
+    public BatchAction(BatchQuery query, DataNode dataNode, boolean runningAsBatch) {
         super(dataNode);
-        this.query = batchQuery;
+        this.query = query;
+        this.runningAsBatch = runningAsBatch;
     }
 
     /**
@@ -68,21 +69,13 @@ public class BatchAction extends BaseSQL
         return query;
     }
 
-    public boolean isBatch() {
-        return batch;
-    }
-
-    public void setBatch(boolean runningAsBatch) {
-        this.batch = runningAsBatch;
-    }
-
     @Override
     public void performAction(Connection connection, OperationObserver observer) throws SQLException, Exception {
 
         BatchQueryBuilder queryBuilder = createBuilder();
         boolean generatesKeys = hasGeneratedKeys();
 
-        if (batch && !generatesKeys) {
+        if (runningAsBatch && !generatesKeys) {
             runAsBatch(connection, queryBuilder, observer);
         } else {
             runAsIndividualQueries(connection, queryBuilder, observer, generatesKeys);
@@ -286,8 +279,7 @@ public class BatchAction extends BaseSQL
             this.keyRowDescriptor = builder.getDescriptor(dataNode.getAdapter().getExtendedTypes());
         }
 
-        RowReader<?> rowReader = dataNode.rowReader(keyRowDescriptor,
-                query.getMetaData(dataNode.getEntityResolver()),
+        RowReader<?> rowReader = dataNode.rowReader(keyRowDescriptor, query.getMetaData(dataNode.getEntityResolver()),
                 Collections.<ObjAttribute, ColumnDescriptor> emptyMap());
         ResultIterator iterator = new JDBCResultIterator(null, keysRS, rowReader);
 

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcActionBuilder.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcActionBuilder.java?rev=1577470&r1=1577469&r2=1577470&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcActionBuilder.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcActionBuilder.java Fri Mar 14 09:59:57 2014
@@ -58,9 +58,7 @@ public class JdbcActionBuilder implement
         boolean useOptimisticLock = query.isUsingOptimisticLocking();
 
         boolean runningAsBatch = !useOptimisticLock && dataNode.getAdapter().supportsBatchUpdates();
-        BatchAction action = new BatchAction(query, dataNode);
-        action.setBatch(runningAsBatch);
-        return action;
+        return new BatchAction(query, dataNode, runningAsBatch);
     }
 
     @Override

Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8ActionBuilder.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8ActionBuilder.java?rev=1577470&r1=1577469&r2=1577470&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8ActionBuilder.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8ActionBuilder.java Fri Mar 14 09:59:57 2014
@@ -58,9 +58,7 @@ class Oracle8ActionBuilder extends Oracl
             boolean useOptimisticLock = query.isUsingOptimisticLocking();
             boolean runningAsBatch = !useOptimisticLock && dataNode.getAdapter().supportsBatchUpdates();
 
-            OracleBatchAction action = new OracleBatchAction(query, dataNode);
-            action.setBatch(runningAsBatch);
-            return action;
+            return new OracleBatchAction(query, dataNode, runningAsBatch);
         }
     }
 }

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=1577470&r1=1577469&r2=1577470&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 Fri Mar 14 09:59:57 2014
@@ -54,9 +54,7 @@ class OracleActionBuilder extends JdbcAc
             boolean useOptimisticLock = query.isUsingOptimisticLocking();
             boolean runningAsBatch = !useOptimisticLock && dataNode.getAdapter().supportsBatchUpdates();
 
-            OracleBatchAction action = new OracleBatchAction(query, dataNode);
-            action.setBatch(runningAsBatch);
-            return action;
+            return new OracleBatchAction(query, dataNode, runningAsBatch);
         }
 
     }

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=1577470&r1=1577469&r2=1577470&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 Fri Mar 14 09:59:57 2014
@@ -33,8 +33,8 @@ class OracleBatchAction extends BatchAct
     /**
      * @since 3.2
      */
-    OracleBatchAction(BatchQuery batchQuery, DataNode dataNode) {
-        super(batchQuery, dataNode);
+    OracleBatchAction(BatchQuery batchQuery, DataNode dataNode, boolean runningAsBatch) {
+        super(batchQuery, dataNode, runningAsBatch);
     }
 
     @Override

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=1577470&r1=1577469&r2=1577470&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 Fri Mar 14 09:59:57 2014
@@ -20,7 +20,6 @@
 package org.apache.cayenne.dba.sqlserver;
 
 import org.apache.cayenne.access.DataNode;
-import org.apache.cayenne.access.jdbc.BatchAction;
 import org.apache.cayenne.dba.JdbcActionBuilder;
 import org.apache.cayenne.query.BatchQuery;
 import org.apache.cayenne.query.ProcedureQuery;
@@ -48,9 +47,7 @@ public class SQLServerActionBuilder exte
         boolean useOptimisticLock = query.isUsingOptimisticLocking();
 
         boolean runningAsBatch = !useOptimisticLock && dataNode.getAdapter().supportsBatchUpdates();
-        BatchAction action = new SQLServerBatchAction(query, dataNode);
-        action.setBatch(runningAsBatch);
-        return action;
+        return new SQLServerBatchAction(query, dataNode, runningAsBatch);
     }
 
     @Override

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=1577470&r1=1577469&r2=1577470&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 Fri Mar 14 09:59:57 2014
@@ -36,8 +36,8 @@ import org.apache.cayenne.query.InsertBa
  */
 public class SQLServerBatchAction extends BatchAction {
 
-    public SQLServerBatchAction(BatchQuery batchQuery, DataNode dataNode) {
-        super(batchQuery, dataNode);
+    public SQLServerBatchAction(BatchQuery batchQuery, DataNode dataNode, boolean runningAsBatch) {
+        super(batchQuery, dataNode, runningAsBatch);
     }
 
     @Override

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=1577470&r1=1577469&r2=1577470&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 Fri Mar 14 09:59:57 2014
@@ -96,7 +96,7 @@ public class BatchActionLockingTest exte
         node.setAdapter(adapter);
         node.setEntityResolver(resolver);
         node.setRowReaderFactory(mock(RowReaderFactory.class));
-        BatchAction action = new BatchAction(batchQuery, node);
+        BatchAction action = new BatchAction(batchQuery, node, false);
         action.runAsIndividualQueries(mockConnection, batchQueryBuilder, new MockOperationObserver(), generatesKeys);
         assertEquals(0, mockConnection.getNumberCommits());
         assertEquals(0, mockConnection.getNumberRollbacks());
@@ -136,7 +136,7 @@ public class BatchActionLockingTest exte
         node.setAdapter(adapter);
         node.setEntityResolver(resolver);
         node.setRowReaderFactory(mock(RowReaderFactory.class));
-        BatchAction action = new BatchAction(batchQuery, node);
+        BatchAction action = new BatchAction(batchQuery, node, false);
         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=1577470&r1=1577469&r2=1577470&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 Fri Mar 14 09:59:57 2014
@@ -55,11 +55,11 @@ public class BatchActionTest extends Ser
         node.setAdapter(adapter);
         node.setEntityResolver(resolver);
         node.setRowReaderFactory(mock(RowReaderFactory.class));
-        
-        assertTrue(new BatchAction(batch1, node).hasGeneratedKeys());
+
+        assertTrue(new BatchAction(batch1, node, false).hasGeneratedKeys());
 
         InsertBatchQuery batch2 = new InsertBatchQuery(resolver.getObjEntity(Artist.class).getDbEntity(), 5);
-        assertFalse(new BatchAction(batch2, node).hasGeneratedKeys());
+        assertFalse(new BatchAction(batch2, node, false).hasGeneratedKeys());
     }
 
     public void testHasGeneratedKeys2() throws Exception {
@@ -70,16 +70,16 @@ public class BatchActionTest extends Ser
 
         InsertBatchQuery batch1 = new InsertBatchQuery(resolver.getObjEntity(GeneratedColumnTestEntity.class)
                 .getDbEntity(), 5);
-        
+
         DataNode node = new DataNode();
         node.setAdapter(adapter);
         node.setEntityResolver(resolver);
         node.setRowReaderFactory(mock(RowReaderFactory.class));
-        
-        assertFalse(new BatchAction(batch1, node).hasGeneratedKeys());
+
+        assertFalse(new BatchAction(batch1, node, false).hasGeneratedKeys());
 
         InsertBatchQuery batch2 = new InsertBatchQuery(resolver.getObjEntity(Artist.class).getDbEntity(), 5);
-        assertFalse(new BatchAction(batch2, node).hasGeneratedKeys());
+        assertFalse(new BatchAction(batch2, node, false).hasGeneratedKeys());
     }
 
     JdbcAdapter buildAdapter(boolean supportGeneratedKeys) {