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) {