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 2011/05/31 22:46:04 UTC
svn commit: r1129909 - in
/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src:
main/java/org/apache/cayenne/access/
main/java/org/apache/cayenne/access/dbsync/ main/java/org/apache/cayenne/log/
test/java/org/apache/cayenne/unit/di/server/
Author: aadamchik
Date: Tue May 31 20:46:03 2011
New Revision: 1129909
URL: http://svn.apache.org/viewvc?rev=1129909&view=rev
Log:
CAY-1573 QueryLogger to DI JdbcEventLogger migration
patch by Dzmitry Kazimirchyk (partial) with edits by aadamchik
Added:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ConnectionLogger.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomain.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainFlushAction.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainFlushObserver.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataNode.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbGenerator.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ExternalTransaction.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/InternalTransaction.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/Transaction.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/CreateIfNoSchemaStrategy.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategy.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ConnectionLogger.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ConnectionLogger.java?rev=1129909&r1=1129908&r2=1129909&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ConnectionLogger.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ConnectionLogger.java Tue May 31 20:46:03 2011
@@ -28,6 +28,7 @@ import org.apache.cayenne.conn.DataSourc
* connection pools.
*
* @since 1.2
+ * @deprecated since 3.1
*/
public class ConnectionLogger implements ConnectionEventLoggingDelegate {
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomain.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomain.java?rev=1129909&r1=1129908&r2=1129909&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomain.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomain.java Tue May 31 20:46:03 2011
@@ -579,9 +579,18 @@ public class DataDomain implements Query
* @since 1.1
*/
public Transaction createTransaction() {
- return (isUsingExternalTransactions()) ? Transaction
- .externalTransaction(getTransactionDelegate()) : Transaction
- .internalTransaction(getTransactionDelegate());
+ if (isUsingExternalTransactions()) {
+ Transaction transaction = Transaction
+ .externalTransaction(getTransactionDelegate());
+ transaction.setJdbcEventLogger(jdbcEventLogger);
+ return transaction;
+ }
+ else {
+ Transaction transaction = Transaction
+ .internalTransaction(getTransactionDelegate());
+ transaction.setJdbcEventLogger(jdbcEventLogger);
+ return transaction;
+ }
}
/**
@@ -885,6 +894,13 @@ public class DataDomain implements Query
return queryBuilderFactory;
}
+ /**
+ * @since 3.1
+ */
+ JdbcEventLogger getJdbcEventLogger() {
+ return jdbcEventLogger;
+ }
+
void refreshEntitySorter() {
if (entitySorter != null) {
entitySorter.setEntityResolver(getEntityResolver());
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainFlushAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainFlushAction.java?rev=1129909&r1=1129908&r2=1129909&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainFlushAction.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainFlushAction.java Tue May 31 20:46:03 2011
@@ -17,7 +17,6 @@
* under the License.
****************************************************************/
-
package org.apache.cayenne.access;
import java.util.ArrayList;
@@ -74,7 +73,7 @@ class DataDomainFlushAction {
DataDomain getDomain() {
return domain;
}
-
+
DataContext getContext() {
return context;
}
@@ -120,7 +119,7 @@ class DataDomainFlushAction {
}
this.context = context;
-
+
// ObjectStoreGraphDiff contains changes already categorized by objectId...
this.changesByObjectId = ((ObjectStoreGraphDiff) changes).getChangesByObjectId();
this.insertBucket = new DataDomainInsertBucket(this);
@@ -187,7 +186,8 @@ class DataDomainFlushAction {
}
private void runQueries() {
- DataDomainFlushObserver observer = new DataDomainFlushObserver();
+ DataDomainFlushObserver observer = new DataDomainFlushObserver(domain
+ .getJdbcEventLogger());
// split query list by spanned nodes and run each single node range individually.
// Since connections are reused per node within an open transaction, there should
@@ -253,7 +253,7 @@ class DataDomainFlushAction {
Collections.EMPTY_LIST,
resultIndirectlyModifiedIds);
}
-
+
context.getObjectStore().postprocessAfterCommit(resultDiff);
}
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainFlushObserver.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainFlushObserver.java?rev=1129909&r1=1129908&r2=1129909&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainFlushObserver.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomainFlushObserver.java Tue May 31 20:46:03 2011
@@ -25,6 +25,7 @@ import org.apache.cayenne.CayenneExcepti
import org.apache.cayenne.CayenneRuntimeException;
import org.apache.cayenne.DataRow;
import org.apache.cayenne.ObjectId;
+import org.apache.cayenne.log.JdbcEventLogger;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.query.BatchQuery;
import org.apache.cayenne.query.InsertBatchQuery;
@@ -38,6 +39,15 @@ import org.apache.cayenne.util.Util;
*/
class DataDomainFlushObserver implements OperationObserver {
+ /**
+ * @since 3.1
+ */
+ private JdbcEventLogger logger;
+
+ DataDomainFlushObserver(JdbcEventLogger logger) {
+ this.logger = logger;
+ }
+
public void nextQueryException(Query query, Exception ex) {
throw new CayenneRuntimeException("Raising from query exception.", Util
.unwindException(ex));
@@ -123,7 +133,7 @@ class DataDomainFlushObserver implements
Object value = key.values().iterator().next();
// Log the generated PK
- QueryLogger.logGeneratedKey(attribute, value);
+ logger.logGeneratedKey(attribute, value);
// I guess we should override any existing value,
// as generated key is the latest thing that exists in the DB.
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataNode.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataNode.java?rev=1129909&r1=1129908&r2=1129909&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataNode.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataNode.java Tue May 31 20:46:03 2011
@@ -33,6 +33,8 @@ import org.apache.cayenne.CayenneRuntime
import org.apache.cayenne.access.dbsync.SchemaUpdateStrategy;
import org.apache.cayenne.access.dbsync.SkipSchemaUpdateStrategy;
import org.apache.cayenne.dba.DbAdapter;
+import org.apache.cayenne.log.JdbcEventLogger;
+import org.apache.cayenne.log.NoopJdbcEventLogger;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.EntityResolver;
import org.apache.cayenne.query.Query;
@@ -53,9 +55,31 @@ public class DataNode implements QueryEn
protected SchemaUpdateStrategy schemaUpdateStrategy;
protected Map<String, DataMap> dataMaps;
+ private JdbcEventLogger jdbcEventLogger;
+
TransactionDataSource readThroughDataSource;
/**
+ * Creates a new unnamed DataNode.
+ */
+ public DataNode() {
+ this(null);
+ }
+
+ /**
+ * Creates a new DataNode, assigning it a name.
+ */
+ public DataNode(String name) {
+
+ this.name = name;
+ this.dataMaps = new HashMap<String, DataMap>();
+ this.readThroughDataSource = new TransactionDataSource();
+
+ // make sure logger is not null
+ this.jdbcEventLogger = NoopJdbcEventLogger.getInstance();
+ }
+
+ /**
* @since 3.0
*/
public String getSchemaUpdateStrategyName() {
@@ -87,19 +111,17 @@ public class DataNode implements QueryEn
}
/**
- * Creates a new unnamed DataNode.
+ * @since 3.1
*/
- public DataNode() {
- this(null);
+ public JdbcEventLogger getJdbcEventLogger() {
+ return jdbcEventLogger;
}
/**
- * Creates a new DataNode, assigning it a name.
+ * @since 3.1
*/
- public DataNode(String name) {
- this.name = name;
- this.dataMaps = new HashMap<String, DataMap>();
- this.readThroughDataSource = new TransactionDataSource();
+ public void setJdbcEventLogger(JdbcEventLogger logger) {
+ this.jdbcEventLogger = logger;
}
/**
@@ -235,7 +257,7 @@ public class DataNode implements QueryEn
connection = this.getDataSource().getConnection();
}
catch (Exception globalEx) {
- QueryLogger.logQueryError(globalEx);
+ jdbcEventLogger.logQueryError(globalEx);
Transaction transaction = Transaction.getThreadTransaction();
if (transaction != null) {
@@ -256,7 +278,7 @@ public class DataNode implements QueryEn
queryRunner.runQuery(connection, nextQuery);
}
catch (Exception queryEx) {
- QueryLogger.logQueryError(queryEx);
+ jdbcEventLogger.logQueryError(queryEx);
// notify consumer of the exception,
// stop running further queries
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbGenerator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbGenerator.java?rev=1129909&r1=1129908&r2=1129909&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbGenerator.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbGenerator.java Tue May 31 20:46:03 2011
@@ -40,6 +40,8 @@ import org.apache.cayenne.conn.DriverDat
import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.dba.PkGenerator;
import org.apache.cayenne.dba.TypesMapping;
+import org.apache.cayenne.log.JdbcEventLogger;
+import org.apache.cayenne.log.NoopJdbcEventLogger;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -66,6 +68,8 @@ public class DbGenerator {
// optional DataDomain needed for correct FK generation in cross-db situations
protected DataDomain domain;
+ protected JdbcEventLogger jdbcEventLogger;
+
// stores generated SQL statements
protected Map<String, Collection<String>> dropTables;
protected Map<String, String> createTables;
@@ -90,7 +94,10 @@ public class DbGenerator {
/**
* Creates and initializes new DbGenerator.
+ *
+ * @deprecated since 3.1 use {@link #DbGenerator(DbAdapter, DataMap, JdbcEventLogger)}
*/
+ @Deprecated
public DbGenerator(DbAdapter adapter, DataMap map) {
this(adapter, map, Collections.<DbEntity> emptyList());
}
@@ -101,10 +108,28 @@ public class DbGenerator {
* @param adapter DbAdapter corresponding to the database
* @param map DataMap whose entities will be used in schema generation
* @param excludedEntities entities that should be ignored during schema generation
+ * @deprecated since 3.1 use
+ * {@link #DbGenerator(DbAdapter, DataMap, Collection, DataDomain, JdbcEventLogger)}
*/
+ @Deprecated
public DbGenerator(DbAdapter adapter, DataMap map,
Collection<DbEntity> excludedEntities) {
- this(adapter, map, excludedEntities, null);
+ this(adapter, map, excludedEntities, null, NoopJdbcEventLogger.getInstance());
+ }
+
+ /**
+ * @since 3.1
+ */
+ public DbGenerator(DbAdapter adapter, DataMap map, JdbcEventLogger logger) {
+ this(adapter, map, logger, Collections.<DbEntity> emptyList());
+ }
+
+ /**
+ * @since 3.1
+ */
+ public DbGenerator(DbAdapter adapter, DataMap map, JdbcEventLogger logger,
+ Collection<DbEntity> excludedEntities) {
+ this(adapter, map, excludedEntities, null, logger);
}
/**
@@ -114,10 +139,11 @@ public class DbGenerator {
* @param map DataMap whose entities will be used in schema generation
* @param excludedEntities entities that should be ignored during schema generation
* @param domain optional DataDomain used to detect cross-database relationships.
- * @since 1.2
+ * @since 3.1
*/
public DbGenerator(DbAdapter adapter, DataMap map,
- Collection<DbEntity> excludedEntities, DataDomain domain) {
+ Collection<DbEntity> excludedEntities, DataDomain domain,
+ JdbcEventLogger logger) {
// sanity check
if (adapter == null) {
throw new IllegalArgumentException("Adapter must not be null.");
@@ -130,6 +156,7 @@ public class DbGenerator {
this.domain = domain;
this.map = map;
this.adapter = adapter;
+ this.jdbcEventLogger = logger;
prepareDbEntities(excludedEntities);
resetToDefaults();
@@ -346,7 +373,7 @@ public class DbGenerator {
Statement statement = connection.createStatement();
try {
- QueryLogger.logQuery(sql, null);
+ jdbcEventLogger.logQuery(sql, null);
statement.execute(sql);
return true;
}
@@ -356,7 +383,7 @@ public class DbGenerator {
}
failures.addFailure(new SimpleValidationFailure(sql, ex.getMessage()));
- QueryLogger.logQueryError(ex);
+ jdbcEventLogger.logQueryError(ex);
return false;
}
finally {
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ExternalTransaction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ExternalTransaction.java?rev=1129909&r1=1129908&r2=1129909&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ExternalTransaction.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/ExternalTransaction.java Tue May 31 20:46:03 2011
@@ -144,13 +144,11 @@ class ExternalTransaction extends Transa
}
void processCommit() throws SQLException, CayenneException {
- QueryLogger
- .logCommitTransaction("no commit - transaction controlled externally.");
+ jdbcEventLogger.logCommitTransaction("no commit - transaction controlled externally.");
}
void processRollback() throws SQLException, CayenneException {
- QueryLogger
- .logRollbackTransaction("no rollback - transaction controlled externally.");
+ jdbcEventLogger.logRollbackTransaction("no rollback - transaction controlled externally.");
}
/**
@@ -161,7 +159,7 @@ class ExternalTransaction extends Transa
return;
}
- Iterator it = connections.values().iterator();
+ Iterator<?> it = connections.values().iterator();
while (it.hasNext()) {
try {
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java?rev=1129909&r1=1129908&r2=1129909&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/IncrementalFaultList.java Tue May 31 20:46:03 2011
@@ -160,10 +160,6 @@ public class IncrementalFaultList<E> imp
while (it.hasNextRow()) {
elementsList.add(it.nextRow());
}
-
- QueryLogger.logSelectCount(elementsList.size(), System
- .currentTimeMillis()
- - t1);
}
finally {
it.close();
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/InternalTransaction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/InternalTransaction.java?rev=1129909&r1=1129908&r2=1129909&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/InternalTransaction.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/InternalTransaction.java Tue May 31 20:46:03 2011
@@ -39,7 +39,7 @@ class InternalTransaction extends Extern
@Override
public void begin() {
super.begin();
- QueryLogger.logBeginTransaction("transaction started.");
+ jdbcEventLogger.logBeginTransaction("transaction started.");
}
@Override
@@ -64,7 +64,7 @@ class InternalTransaction extends Extern
if (connections != null && connections.size() > 0) {
Throwable deferredException = null;
- Iterator it = connections.values().iterator();
+ Iterator<?> it = connections.values().iterator();
while (it.hasNext()) {
Connection connection = (Connection) it.next();
try {
@@ -93,7 +93,7 @@ class InternalTransaction extends Extern
}
if (deferredException != null) {
- QueryLogger.logRollbackTransaction("transaction rolledback.");
+ jdbcEventLogger.logRollbackTransaction("transaction rolledback.");
if (deferredException instanceof SQLException) {
throw (SQLException) deferredException;
}
@@ -102,7 +102,7 @@ class InternalTransaction extends Extern
}
}
else {
- QueryLogger.logCommitTransaction("transaction committed.");
+ jdbcEventLogger.logCommitTransaction("transaction committed.");
}
}
}
@@ -114,7 +114,7 @@ class InternalTransaction extends Extern
if (connections != null && connections.size() > 0) {
Throwable deferredException = null;
- Iterator it = connections.values().iterator();
+ Iterator<?> it = connections.values().iterator();
while (it.hasNext()) {
Connection connection = (Connection) it.next();
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/Transaction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/Transaction.java?rev=1129909&r1=1129908&r2=1129909&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/Transaction.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/Transaction.java Tue May 31 20:46:03 2011
@@ -25,6 +25,8 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.cayenne.CayenneException;
+import org.apache.cayenne.log.JdbcEventLogger;
+import org.apache.cayenne.log.NoopJdbcEventLogger;
/**
* A Cayenne transaction. Currently supports managing JDBC connections.
@@ -69,6 +71,8 @@ public abstract class Transaction {
protected Map<String, Connection> connections;
protected int status;
protected TransactionDelegate delegate;
+
+ protected JdbcEventLogger jdbcEventLogger;
static String decodeStatus(int status) {
switch (status) {
@@ -142,6 +146,7 @@ public abstract class Transaction {
*/
protected Transaction() {
status = STATUS_NO_TRANSACTION;
+ jdbcEventLogger = NoopJdbcEventLogger.getInstance();
}
public TransactionDelegate getDelegate() {
@@ -155,6 +160,20 @@ public abstract class Transaction {
public int getStatus() {
return status;
}
+
+ /**
+ * @since 3.1
+ */
+ public void setJdbcEventLogger(JdbcEventLogger jdbcEventLogger) {
+ this.jdbcEventLogger = jdbcEventLogger;
+ }
+
+ /**
+ * @since 3.1
+ */
+ public JdbcEventLogger getJdbcEventLogger() {
+ return this.jdbcEventLogger;
+ }
public synchronized void setRollbackOnly() {
setStatus(STATUS_MARKED_ROLLEDBACK);
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/CreateIfNoSchemaStrategy.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/CreateIfNoSchemaStrategy.java?rev=1129909&r1=1129908&r2=1129909&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/CreateIfNoSchemaStrategy.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/CreateIfNoSchemaStrategy.java Tue May 31 20:46:03 2011
@@ -68,7 +68,8 @@ public class CreateIfNoSchemaStrategy ex
Collection<DataMap> map = dataNode.getDataMaps();
Iterator<DataMap> iterator = map.iterator();
while (iterator.hasNext()) {
- DbGenerator gen = new DbGenerator(dataNode.getAdapter(), iterator.next());
+ DbGenerator gen = new DbGenerator(dataNode.getAdapter(), iterator.next(),
+ dataNode.getJdbcEventLogger());
gen.setShouldCreateTables(true);
gen.setShouldDropTables(false);
gen.setShouldCreateFKConstraints(true);
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategy.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategy.java?rev=1129909&r1=1129908&r2=1129909&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategy.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategy.java Tue May 31 20:46:03 2011
@@ -76,7 +76,8 @@ public class ThrowOnPartialOrCreateSchem
Collection<DataMap> map = dataNode.getDataMaps();
Iterator<DataMap> iterator = map.iterator();
while (iterator.hasNext()) {
- DbGenerator gen = new DbGenerator(dataNode.getAdapter(), iterator.next());
+ DbGenerator gen = new DbGenerator(dataNode.getAdapter(), iterator.next(),
+ dataNode.getJdbcEventLogger());
gen.setShouldCreateTables(true);
gen.setShouldDropTables(false);
gen.setShouldCreateFKConstraints(false);
Added: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java?rev=1129909&view=auto
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java (added)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java Tue May 31 20:46:03 2011
@@ -0,0 +1,96 @@
+/*****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ ****************************************************************/
+package org.apache.cayenne.log;
+
+import java.util.List;
+
+import org.apache.cayenne.conn.DataSourceInfo;
+import org.apache.cayenne.map.DbAttribute;
+
+/**
+ * @since 3.1
+ */
+public class NoopJdbcEventLogger implements JdbcEventLogger {
+
+ private static final NoopJdbcEventLogger instance = new NoopJdbcEventLogger();
+
+ public static NoopJdbcEventLogger getInstance() {
+ return instance;
+ }
+
+ private NoopJdbcEventLogger() {
+
+ }
+
+ public void log(String message) {
+ }
+
+ public void logConnect(String dataSource) {
+ }
+
+ public void logConnect(String url, String userName, String password) {
+ }
+
+ public void logPoolCreated(DataSourceInfo dsi) {
+ }
+
+ public void logConnectSuccess() {
+ }
+
+ public void logConnectFailure(Throwable th) {
+ }
+
+ public void logGeneratedKey(DbAttribute attribute, Object value) {
+ }
+
+ public void logQuery(String sql, List<?> params) {
+ }
+
+ public void logQuery(String sql, List<DbAttribute> attrs, List<?> params, long time) {
+ }
+
+ public void logQueryParameters(
+ String label,
+ List<DbAttribute> attrs,
+ List<Object> parameters,
+ boolean isInserting) {
+ }
+
+ public void logSelectCount(int count, long time) {
+ }
+
+ public void logUpdateCount(int count) {
+ }
+
+ public void logBeginTransaction(String transactionLabel) {
+ }
+
+ public void logCommitTransaction(String transactionLabel) {
+ }
+
+ public void logRollbackTransaction(String transactionLabel) {
+ }
+
+ public void logQueryError(Throwable th) {
+ }
+
+ public boolean isLoggable() {
+ return false;
+ }
+}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java?rev=1129909&r1=1129908&r2=1129909&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java Tue May 31 20:46:03 2011
@@ -43,6 +43,7 @@ import org.apache.cayenne.cache.MapQuery
import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.di.Inject;
import org.apache.cayenne.event.DefaultEventManager;
+import org.apache.cayenne.log.JdbcEventLogger;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -83,14 +84,16 @@ public class SchemaBuilder {
private DataSource dataSource;
private UnitDbAdapter unitDbAdapter;
private DbAdapter dbAdapter;
-
private DataDomain domain;
+ private JdbcEventLogger jdbcEventLogger;
public SchemaBuilder(@Inject DataSource dataSource,
- @Inject UnitDbAdapter unitDbAdapter, @Inject DbAdapter dbAdapter) {
+ @Inject UnitDbAdapter unitDbAdapter, @Inject DbAdapter dbAdapter,
+ @Inject JdbcEventLogger jdbcEventLogger) {
this.dataSource = dataSource;
this.unitDbAdapter = unitDbAdapter;
this.dbAdapter = dbAdapter;
+ this.jdbcEventLogger = jdbcEventLogger;
}
/**
@@ -345,7 +348,7 @@ public class SchemaBuilder {
private Collection<String> tableCreateQueries(DataNode node, DataMap map)
throws Exception {
DbAdapter adapter = node.getAdapter();
- DbGenerator gen = new DbGenerator(adapter, map, null, domain);
+ DbGenerator gen = new DbGenerator(adapter, map, null, domain, jdbcEventLogger);
List<DbEntity> orderedEnts = dbEntitiesInInsertOrder(node, map);
List<String> queries = new ArrayList<String>();