This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a commit to branch past-M2
in repository https://gitbox.apache.org/repos/asf/cayenne.git
The following commit(s) were added to refs/heads/past-M2 by this push:
new 6a686e24c Rethinking QuotingStrategy to remove dependency on the ORM
model...
6a686e24c is described below
commit 6a686e24ce4945c0eec236c6e14349c56534c5fa
Author: Andrus Adamchik <[email protected]>
AuthorDate: Wed Jun 17 11:44:30 2026 -0400
Rethinking QuotingStrategy to remove dependency on the ORM model...
moving quoting strategy picker to DbAdapter out of the call sites
---
.../merge/factory/DerbyMergerTokenFactory.java | 9 ++-------
.../merge/factory/FirebirdMergerTokenFactory.java | 13 +++----------
.../merge/factory/HSQLMergerTokenFactory.java | 5 +----
.../merge/factory/IngresMergerTokenFactory.java | 21 +++++----------------
.../merge/factory/MySQLMergerTokenFactory.java | 13 +++----------
.../merge/factory/OracleMergerTokenFactory.java | 9 ++-------
.../merge/factory/SQLServerMergerTokenFactory.java | 9 ++-------
.../merge/factory/SybaseMergerTokenFactory.java | 13 +++----------
.../dbsync/merge/token/db/AddColumnToDb.java | 5 +----
.../dbsync/merge/token/db/DropColumnToDb.java | 5 +----
.../dbsync/merge/token/db/DropRelationshipToDb.java | 5 +----
.../dbsync/merge/token/db/SetAllowNullToDb.java | 5 +----
.../dbsync/merge/token/db/SetColumnTypeToDb.java | 5 +----
.../dbsync/merge/token/db/SetGeneratedFlagToDb.java | 5 +----
.../dbsync/merge/token/db/SetNotNullToDb.java | 5 +----
.../dbsync/merge/token/db/SetPrimaryKeyToDb.java | 5 +----
.../org/apache/cayenne/access/jdbc/EJBQLAction.java | 6 +-----
.../access/sqlbuilder/DefaultSQLAppendable.java | 12 +++---------
.../java/org/apache/cayenne/dba/AutoAdapter.java | 9 +++++++++
.../main/java/org/apache/cayenne/dba/DbAdapter.java | 14 ++++++++++++++
.../java/org/apache/cayenne/dba/JdbcAdapter.java | 10 ----------
.../cayenne/dba/oracle/OraclePkGenerator.java | 6 +-----
.../java/org/apache/cayenne/dba/AutoAdapterIT.java | 6 ++++--
.../org/apache/cayenne/unit/CayenneTestsEnv.java | 6 +++---
.../org/apache/cayenne/unit/dba/TestDbAdapter.java | 8 ++------
25 files changed, 66 insertions(+), 143 deletions(-)
diff --git
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/DerbyMergerTokenFactory.java
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/DerbyMergerTokenFactory.java
index 0c1afe2cc..7ef273631 100644
---
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/DerbyMergerTokenFactory.java
+++
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/DerbyMergerTokenFactory.java
@@ -25,7 +25,6 @@ import
org.apache.cayenne.dbsync.merge.token.db.SetAllowNullToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetColumnTypeToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetGeneratedFlagToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetNotNullToDb;
-import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -62,9 +61,7 @@ public class DerbyMergerTokenFactory extends
DefaultMergerTokenFactory {
@Override
public List<String> createSql(DbAdapter adapter) {
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes =
adapter.getQuotingStrategy(getEntity());
StringBuilder sql = new StringBuilder("ALTER TABLE ");
quotes.appendFQN(sql, getEntity().getCatalog(),
getEntity().getSchema(), getEntity().getName());
sql.append(" ALTER COLUMN ");
@@ -85,9 +82,7 @@ public class DerbyMergerTokenFactory extends
DefaultMergerTokenFactory {
@Override
public List<String> createSql(DbAdapter adapter) {
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes =
adapter.getQuotingStrategy(getEntity());
StringBuilder sql = new StringBuilder("ALTER TABLE ");
quotes.appendFQN(sql, getEntity().getCatalog(),
getEntity().getSchema(), getEntity().getName());
sql.append(" ALTER COLUMN ");
diff --git
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/FirebirdMergerTokenFactory.java
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/FirebirdMergerTokenFactory.java
index 7792b1a78..34a4adf58 100644
---
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/FirebirdMergerTokenFactory.java
+++
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/FirebirdMergerTokenFactory.java
@@ -26,7 +26,6 @@ import org.apache.cayenne.dbsync.merge.token.db.AddColumnToDb;
import org.apache.cayenne.dbsync.merge.token.db.DropColumnToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetAllowNullToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetNotNullToDb;
-import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -39,9 +38,7 @@ public class FirebirdMergerTokenFactory extends
DefaultMergerTokenFactory {
public MergerToken createDropColumnToDb(DbEntity entity, DbAttribute
column) {
return new DropColumnToDb(entity, column) {
public List<String> createSql(DbAdapter adapter) {
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes =
adapter.getQuotingStrategy(getEntity());
StringBuilder sql = new StringBuilder("ALTER TABLE ");
quotes.appendFQN(sql, getEntity().getCatalog(),
getEntity().getSchema(), getEntity().getName());
sql.append(" DROP ");
@@ -57,9 +54,7 @@ public class FirebirdMergerTokenFactory extends
DefaultMergerTokenFactory {
public MergerToken createSetNotNullToDb(DbEntity entity, DbAttribute
column) {
return new SetNotNullToDb(entity, column) {
public List<String> createSql(DbAdapter adapter) {
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes =
adapter.getQuotingStrategy(getEntity());
String entityName = quotes.quotedFQN(getEntity().getCatalog(),
getEntity().getSchema(),
getEntity().getName());
String columnName = quotes.quoted(getColumn().getName());
@@ -75,9 +70,7 @@ public class FirebirdMergerTokenFactory extends
DefaultMergerTokenFactory {
public MergerToken createSetAllowNullToDb(DbEntity entity, DbAttribute
column) {
return new SetAllowNullToDb(entity, column) {
public List<String> createSql(DbAdapter adapter) {
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes =
adapter.getQuotingStrategy(getEntity());
String entityName = quotes.quotedFQN(getEntity().getCatalog(),
getEntity().getSchema(),
getEntity().getName());
String columnName = quotes.quoted(getColumn().getName());
diff --git
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/HSQLMergerTokenFactory.java
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/HSQLMergerTokenFactory.java
index f7ba35035..7dc64181d 100644
---
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/HSQLMergerTokenFactory.java
+++
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/HSQLMergerTokenFactory.java
@@ -25,7 +25,6 @@ import
org.apache.cayenne.dbsync.merge.token.db.SetAllowNullToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetColumnTypeToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetGeneratedFlagToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetPrimaryKeyToDb;
-import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -60,9 +59,7 @@ public class HSQLMergerTokenFactory extends
DefaultMergerTokenFactory {
@Override
public List<String> createSql(DbAdapter adapter) {
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes =
adapter.getQuotingStrategy(getEntity());
StringBuilder sql = new StringBuilder("ALTER TABLE ");
quotes.appendFQN(sql, getEntity().getCatalog(),
getEntity().getSchema(), getEntity().getName());
sql.append(" ALTER COLUMN ");
diff --git
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/IngresMergerTokenFactory.java
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/IngresMergerTokenFactory.java
index 44b06ac10..0f2e1800c 100644
---
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/IngresMergerTokenFactory.java
+++
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/IngresMergerTokenFactory.java
@@ -28,7 +28,6 @@ import
org.apache.cayenne.dbsync.merge.token.db.SetAllowNullToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetColumnTypeToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetGeneratedFlagToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetNotNullToDb;
-import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.DbJoin;
@@ -65,9 +64,7 @@ public class IngresMergerTokenFactory extends
DefaultMergerTokenFactory {
@Override
public List<String> createSql(DbAdapter adapter) {
StringBuilder buf = new StringBuilder();
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes =
adapter.getQuotingStrategy(getEntity());
buf.append("ALTER TABLE ");
quotes.appendFQN(buf, getEntity().getCatalog(),
getEntity().getSchema(), getEntity().getName());
buf.append(" DROP COLUMN ");
@@ -90,9 +87,7 @@ public class IngresMergerTokenFactory extends
DefaultMergerTokenFactory {
if (!rel.isToMany() && rel.isToPK() && !rel.isToDependentPK())
{
DbEntity source = (DbEntity) rel.getSourceEntity();
- DataMap dataMap = source.getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() :
QuotingStrategy.NONE;
+ QuotingStrategy quotes =
adapter.getQuotingStrategy(source);
StringBuilder buf = new StringBuilder();
StringBuilder refBuf = new StringBuilder();
@@ -159,9 +154,7 @@ public class IngresMergerTokenFactory extends
DefaultMergerTokenFactory {
StringBuilder sqlBuffer = new StringBuilder();
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes =
adapter.getQuotingStrategy(getEntity());
sqlBuffer.append("ALTER TABLE ");
sqlBuffer.append(getEntity().getFullyQualifiedName());
@@ -193,9 +186,7 @@ public class IngresMergerTokenFactory extends
DefaultMergerTokenFactory {
@Override
public List<String> createSql(DbAdapter adapter) {
StringBuilder sqlBuffer = new StringBuilder();
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes =
adapter.getQuotingStrategy(getEntity());
sqlBuffer.append("ALTER TABLE ");
quotes.appendFQN(sqlBuffer, getEntity().getCatalog(),
getEntity().getSchema(), getEntity().getName());
sqlBuffer.append(" ALTER COLUMN ");
@@ -232,9 +223,7 @@ public class IngresMergerTokenFactory extends
DefaultMergerTokenFactory {
return Collections.emptyList();
}
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes =
adapter.getQuotingStrategy(getEntity());
StringBuilder buf = new StringBuilder();
buf.append("ALTER TABLE ");
quotes.appendFQN(buf, getEntity().getCatalog(),
getEntity().getSchema(), getEntity().getName());
diff --git
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/MySQLMergerTokenFactory.java
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/MySQLMergerTokenFactory.java
index f5c5936ee..daa6cb188 100644
---
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/MySQLMergerTokenFactory.java
+++
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/MySQLMergerTokenFactory.java
@@ -27,7 +27,6 @@ import
org.apache.cayenne.dbsync.merge.token.db.SetColumnTypeToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetGeneratedFlagToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetNotNullToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetPrimaryKeyToDb;
-import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.DbRelationship;
@@ -49,9 +48,7 @@ public class MySQLMergerTokenFactory extends
DefaultMergerTokenFactory {
public List<String> createSql(DbAdapter adapter) {
StringBuffer sqlBuffer = new StringBuffer();
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes =
adapter.getQuotingStrategy(getEntity());
sqlBuffer.append("ALTER TABLE ");
quotes.appendFQN(sqlBuffer, getEntity().getCatalog(),
getEntity().getSchema(), getEntity().getName());
@@ -78,9 +75,7 @@ public class MySQLMergerTokenFactory extends
DefaultMergerTokenFactory {
public List<String> createSql(DbAdapter adapter) {
StringBuffer sqlBuffer = new StringBuffer();
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes =
adapter.getQuotingStrategy(getEntity());
sqlBuffer.append("ALTER TABLE ");
quotes.appendFQN(sqlBuffer, getEntity().getCatalog(),
getEntity().getSchema(), getEntity().getName());
@@ -134,9 +129,7 @@ public class MySQLMergerTokenFactory extends
DefaultMergerTokenFactory {
if (fkName == null) {
return Collections.emptyList();
}
- DataMap dataMap = entity.getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes = adapter.getQuotingStrategy(entity);
//
http://dev.mysql.com/tech-resources/articles/mysql-cluster-50.html
StringBuilder sql = new StringBuilder("ALTER TABLE ");
diff --git
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/OracleMergerTokenFactory.java
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/OracleMergerTokenFactory.java
index 9da84ac9f..9ea97ceaf 100644
---
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/OracleMergerTokenFactory.java
+++
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/OracleMergerTokenFactory.java
@@ -25,7 +25,6 @@ import org.apache.cayenne.dbsync.merge.token.db.AddColumnToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetAllowNullToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetColumnTypeToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetNotNullToDb;
-import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -81,9 +80,7 @@ public class OracleMergerTokenFactory extends
DefaultMergerTokenFactory {
public List<String> createSql(DbAdapter adapter) {
StringBuffer sqlBuffer = new StringBuffer();
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes =
adapter.getQuotingStrategy(getEntity());
sqlBuffer.append("ALTER TABLE ");
quotes.appendFQN(sqlBuffer, getEntity().getCatalog(),
getEntity().getSchema(), getEntity().getName());
sqlBuffer.append(" MODIFY ");
@@ -105,9 +102,7 @@ public class OracleMergerTokenFactory extends
DefaultMergerTokenFactory {
public List<String> createSql(DbAdapter adapter) {
StringBuffer sqlBuffer = new StringBuffer();
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes =
adapter.getQuotingStrategy(getEntity());
sqlBuffer.append("ALTER TABLE ");
quotes.appendFQN(sqlBuffer, getEntity().getCatalog(),
getEntity().getSchema(), getEntity().getName());
sqlBuffer.append(" MODIFY ");
diff --git
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/SQLServerMergerTokenFactory.java
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/SQLServerMergerTokenFactory.java
index a0cf06b71..9b24320a4 100644
---
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/SQLServerMergerTokenFactory.java
+++
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/SQLServerMergerTokenFactory.java
@@ -26,7 +26,6 @@ import
org.apache.cayenne.dbsync.merge.token.db.SetAllowNullToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetColumnTypeToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetGeneratedFlagToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetNotNullToDb;
-import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -83,9 +82,7 @@ public class SQLServerMergerTokenFactory extends
DefaultMergerTokenFactory {
public List<String> createSql(DbAdapter adapter) {
StringBuffer sqlBuffer = new StringBuffer();
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes =
adapter.getQuotingStrategy(getEntity());
sqlBuffer.append("ALTER TABLE ");
quotes.appendFQN(sqlBuffer, getEntity().getCatalog(),
getEntity().getSchema(), getEntity().getName());
sqlBuffer.append(" ALTER COLUMN ");
@@ -107,9 +104,7 @@ public class SQLServerMergerTokenFactory extends
DefaultMergerTokenFactory {
public List<String> createSql(DbAdapter adapter) {
StringBuffer sqlBuffer = new StringBuffer();
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes =
adapter.getQuotingStrategy(getEntity());
sqlBuffer.append("ALTER TABLE ");
quotes.appendFQN(sqlBuffer, getEntity().getCatalog(),
getEntity().getSchema(), getEntity().getName());
sqlBuffer.append(" ALTER COLUMN ");
diff --git
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/SybaseMergerTokenFactory.java
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/SybaseMergerTokenFactory.java
index e3994b654..a4941357c 100644
---
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/SybaseMergerTokenFactory.java
+++
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/factory/SybaseMergerTokenFactory.java
@@ -26,7 +26,6 @@ import
org.apache.cayenne.dbsync.merge.token.db.DropColumnToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetAllowNullToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetColumnTypeToDb;
import org.apache.cayenne.dbsync.merge.token.db.SetNotNullToDb;
-import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -49,9 +48,7 @@ public class SybaseMergerTokenFactory extends
DefaultMergerTokenFactory {
public List<String> createSql(DbAdapter adapter) {
StringBuffer sqlBuffer = new StringBuffer();
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes =
adapter.getQuotingStrategy(getEntity());
sqlBuffer.append("ALTER TABLE ");
quotes.appendFQN(sqlBuffer, getEntity().getCatalog(),
getEntity().getSchema(), getEntity().getName());
sqlBuffer.append(" ADD ");
@@ -77,9 +74,7 @@ public class SybaseMergerTokenFactory extends
DefaultMergerTokenFactory {
@Override
public List<String> createSql(DbAdapter adapter) {
StringBuilder sqlBuffer = new StringBuilder();
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes =
adapter.getQuotingStrategy(getEntity());
sqlBuffer.append("ALTER TABLE ");
quotes.appendFQN(sqlBuffer, getEntity().getCatalog(),
getEntity().getSchema(), getEntity().getName());
sqlBuffer.append(" DROP ");
@@ -163,9 +158,7 @@ public class SybaseMergerTokenFactory extends
DefaultMergerTokenFactory {
DbEntity entity,
DbAttribute column) {
StringBuffer sqlBuffer = new StringBuffer();
- DataMap dataMap = entity.getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes = adapter.getQuotingStrategy(entity);
sqlBuffer.append("ALTER TABLE ");
quotes.appendFQN(sqlBuffer, entity.getCatalog(), entity.getSchema(),
entity.getName());
sqlBuffer.append(" MODIFY ");
diff --git
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/AddColumnToDb.java
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/AddColumnToDb.java
index 344bbe16c..516d0f381 100644
---
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/AddColumnToDb.java
+++
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/AddColumnToDb.java
@@ -24,7 +24,6 @@ import org.apache.cayenne.dba.QuotingStrategy;
import org.apache.cayenne.dba.JdbcAdapter;
import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
import org.apache.cayenne.dbsync.merge.token.MergerToken;
-import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -54,9 +53,7 @@ public class AddColumnToDb extends
AbstractToDbToken.EntityAndColumn {
@Override
public List<String> createSql(DbAdapter adapter) {
StringBuffer sqlBuffer = new StringBuffer();
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes = adapter.getQuotingStrategy(getEntity());
appendPrefix(sqlBuffer, quotes);
sqlBuffer.append(adapter.preferredNativeColumnType(getColumn()).nativeType());
diff --git
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/DropColumnToDb.java
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/DropColumnToDb.java
index b0380e1f4..d10b007c1 100644
---
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/DropColumnToDb.java
+++
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/DropColumnToDb.java
@@ -26,7 +26,6 @@ import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.dba.QuotingStrategy;
import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
import org.apache.cayenne.dbsync.merge.token.MergerToken;
-import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -39,9 +38,7 @@ public class DropColumnToDb extends
AbstractToDbToken.EntityAndColumn {
@Override
public List<String> createSql(DbAdapter adapter) {
StringBuilder sqlBuffer = new StringBuilder();
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes = adapter.getQuotingStrategy(getEntity());
sqlBuffer.append("ALTER TABLE ");
quotes.appendFQN(sqlBuffer, getEntity().getCatalog(),
getEntity().getSchema(), getEntity().getName());
sqlBuffer.append(" DROP COLUMN ");
diff --git
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/DropRelationshipToDb.java
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/DropRelationshipToDb.java
index 04b09b7b5..2aea684ae 100644
---
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/DropRelationshipToDb.java
+++
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/DropRelationshipToDb.java
@@ -23,7 +23,6 @@ import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.dba.QuotingStrategy;
import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
import org.apache.cayenne.dbsync.merge.token.MergerToken;
-import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.DbRelationship;
import org.apache.cayenne.dbsync.reverse.dbload.DbRelationshipDetected;
@@ -53,9 +52,7 @@ public class DropRelationshipToDb extends
AbstractToDbToken.Entity {
return Collections.emptyList();
}
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes = adapter.getQuotingStrategy(getEntity());
StringBuilder sql = new StringBuilder("ALTER TABLE ");
quotes.appendFQN(sql, getEntity().getCatalog(),
getEntity().getSchema(), getEntity().getName());
sql.append(" DROP CONSTRAINT ").append(getFkName());
diff --git
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetAllowNullToDb.java
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetAllowNullToDb.java
index 112d64e1d..04006b1b6 100644
---
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetAllowNullToDb.java
+++
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetAllowNullToDb.java
@@ -23,7 +23,6 @@ import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.dba.QuotingStrategy;
import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
import org.apache.cayenne.dbsync.merge.token.MergerToken;
-import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -43,9 +42,7 @@ public class SetAllowNullToDb extends
AbstractToDbToken.EntityAndColumn {
@Override
public List<String> createSql(DbAdapter adapter) {
StringBuilder sqlBuffer = new StringBuilder();
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes = adapter.getQuotingStrategy(getEntity());
sqlBuffer.append("ALTER TABLE ");
quotes.appendFQN(sqlBuffer, getEntity().getCatalog(),
getEntity().getSchema(), getEntity().getName());
sqlBuffer.append(" ALTER COLUMN ");
diff --git
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetColumnTypeToDb.java
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetColumnTypeToDb.java
index 22a75ac5b..95deadc20 100644
---
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetColumnTypeToDb.java
+++
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetColumnTypeToDb.java
@@ -25,7 +25,6 @@ import org.apache.cayenne.dba.JdbcAdapter;
import org.apache.cayenne.dba.TypesMapping;
import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
import org.apache.cayenne.dbsync.merge.token.MergerToken;
-import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -63,9 +62,7 @@ public class SetColumnTypeToDb extends
AbstractToDbToken.Entity {
@Override
public List<String> createSql(DbAdapter adapter) {
StringBuffer sqlBuffer = new StringBuffer();
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes = adapter.getQuotingStrategy(getEntity());
appendPrefix(sqlBuffer, quotes);
sqlBuffer.append(adapter.preferredNativeColumnType(columnNew).nativeType());
diff --git
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetGeneratedFlagToDb.java
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetGeneratedFlagToDb.java
index 473203f91..66d289e43 100644
---
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetGeneratedFlagToDb.java
+++
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetGeneratedFlagToDb.java
@@ -26,7 +26,6 @@ import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.dba.QuotingStrategy;
import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
import org.apache.cayenne.dbsync.merge.token.MergerToken;
-import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -71,9 +70,7 @@ public class SetGeneratedFlagToDb extends
AbstractToDbToken.EntityAndColumn {
}
private QuotingStrategy resolveQuotes(DbAdapter adapter) {
- DataMap dataMap = getEntity().getDataMap();
- return dataMap != null && dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ return adapter.getQuotingStrategy(getEntity());
}
@SuppressWarnings("unchecked")
diff --git
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetNotNullToDb.java
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetNotNullToDb.java
index ce84fdff5..78afa5fb3 100644
---
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetNotNullToDb.java
+++
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetNotNullToDb.java
@@ -23,7 +23,6 @@ import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.dba.QuotingStrategy;
import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
import org.apache.cayenne.dbsync.merge.token.MergerToken;
-import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -41,9 +40,7 @@ public class SetNotNullToDb extends
AbstractToDbToken.EntityAndColumn {
@Override
public List<String> createSql(DbAdapter adapter) {
- DataMap dataMap = getEntity().getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes = adapter.getQuotingStrategy(getEntity());
StringBuilder sql = new StringBuilder("ALTER TABLE ");
quotes.appendFQN(sql, getEntity().getCatalog(),
getEntity().getSchema(), getEntity().getName());
sql.append(" ALTER COLUMN ");
diff --git
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetPrimaryKeyToDb.java
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetPrimaryKeyToDb.java
index 9f6456515..b4dbab3ad 100644
---
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetPrimaryKeyToDb.java
+++
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/SetPrimaryKeyToDb.java
@@ -23,7 +23,6 @@ import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.dba.QuotingStrategy;
import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
import org.apache.cayenne.dbsync.merge.token.MergerToken;
-import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
@@ -58,9 +57,7 @@ public class SetPrimaryKeyToDb extends
AbstractToDbToken.Entity {
}
protected QuotingStrategy resolveQuotes(DbAdapter adapter) {
- DataMap dataMap = getEntity().getDataMap();
- return dataMap != null && dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ return adapter.getQuotingStrategy(getEntity());
}
protected void appendDropOriginalPrimaryKeySQL(DbAdapter adapter,
List<String> sqls) {
diff --git
a/cayenne/src/main/java/org/apache/cayenne/access/jdbc/EJBQLAction.java
b/cayenne/src/main/java/org/apache/cayenne/access/jdbc/EJBQLAction.java
index 049637e8e..79434f9ed 100644
--- a/cayenne/src/main/java/org/apache/cayenne/access/jdbc/EJBQLAction.java
+++ b/cayenne/src/main/java/org/apache/cayenne/access/jdbc/EJBQLAction.java
@@ -25,7 +25,6 @@ import
org.apache.cayenne.access.translator.ejbql.EJBQLTranslator;
import org.apache.cayenne.dba.QuotingStrategy;
import org.apache.cayenne.ejbql.EJBQLBaseVisitor;
import org.apache.cayenne.ejbql.EJBQLCompiledExpression;
-import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.ejbql.EJBQLExpression;
import org.apache.cayenne.ejbql.EJBQLExpressionVisitor;
@@ -59,10 +58,7 @@ public class EJBQLAction extends BaseSQLAction {
EJBQLTranslator translator = dataNode.getEjbqlTranslator();
DbEntity rootDbEntity =
compiledExpression.getRootDescriptor().getEntity().getDbEntity();
- DataMap dataMap = rootDbEntity != null ? rootDbEntity.getDataMap() :
null;
- QuotingStrategy quotingStrategy = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? dataNode.getAdapter().getQuotingStrategy()
- : QuotingStrategy.NONE;
+ QuotingStrategy quotingStrategy =
dataNode.getAdapter().getQuotingStrategy(rootDbEntity);
EJBQLTranslationContext context = new EJBQLTranslationContext(
dataNode.getEntityResolver(),
diff --git
a/cayenne/src/main/java/org/apache/cayenne/access/sqlbuilder/DefaultSQLAppendable.java
b/cayenne/src/main/java/org/apache/cayenne/access/sqlbuilder/DefaultSQLAppendable.java
index 6059d3711..c6f86a8e5 100644
---
a/cayenne/src/main/java/org/apache/cayenne/access/sqlbuilder/DefaultSQLAppendable.java
+++
b/cayenne/src/main/java/org/apache/cayenne/access/sqlbuilder/DefaultSQLAppendable.java
@@ -20,7 +20,6 @@
package org.apache.cayenne.access.sqlbuilder;
import org.apache.cayenne.dba.QuotingStrategy;
-import org.apache.cayenne.map.DbEntity;
/**
* @since 4.2
@@ -38,14 +37,9 @@ public class DefaultSQLAppendable implements SQLAppendable {
}
private static QuotingStrategy resolveQuotes(SQLGenerationContext context)
{
- if (context == null) {
- return QuotingStrategy.NONE;
- }
- DbEntity rootDbEntity = context.getRootDbEntity();
- boolean quoting = rootDbEntity != null
- && rootDbEntity.getDataMap() != null
- && rootDbEntity.getDataMap().isQuotingSQLIdentifiers();
- return quoting ? context.getAdapter().getQuotingStrategy() :
QuotingStrategy.NONE;
+ return context == null
+ ? QuotingStrategy.NONE
+ :
context.getAdapter().getQuotingStrategy(context.getRootDbEntity());
}
@Override
diff --git a/cayenne/src/main/java/org/apache/cayenne/dba/AutoAdapter.java
b/cayenne/src/main/java/org/apache/cayenne/dba/AutoAdapter.java
index 6ec2c1247..632b494fd 100644
--- a/cayenne/src/main/java/org/apache/cayenne/dba/AutoAdapter.java
+++ b/cayenne/src/main/java/org/apache/cayenne/dba/AutoAdapter.java
@@ -266,11 +266,20 @@ public class AutoAdapter implements DbAdapter {
getAdapter().createTableAppendColumn(sqlBuffer, column);
}
+ @Deprecated
@Override
public QuotingStrategy getQuotingStrategy() {
return getAdapter().getQuotingStrategy();
}
+ /**
+ * @since 5.0
+ */
+ @Override
+ public QuotingStrategy getQuotingStrategy(DbEntity entity) {
+ return getAdapter().getQuotingStrategy(entity);
+ }
+
/**
* @since 4.0
*/
diff --git a/cayenne/src/main/java/org/apache/cayenne/dba/DbAdapter.java
b/cayenne/src/main/java/org/apache/cayenne/dba/DbAdapter.java
index 374677edf..e37d792e9 100644
--- a/cayenne/src/main/java/org/apache/cayenne/dba/DbAdapter.java
+++ b/cayenne/src/main/java/org/apache/cayenne/dba/DbAdapter.java
@@ -26,6 +26,7 @@ import
org.apache.cayenne.access.translator.ejbql.EJBQLTranslator;
import org.apache.cayenne.access.translator.procedure.ProcedureTranslator;
import org.apache.cayenne.access.translator.select.SelectTranslator;
import org.apache.cayenne.access.types.ExtendedTypeMap;
+import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.DbRelationship;
@@ -292,9 +293,22 @@ public interface DbAdapter {
* and {@link QuotingStrategy#NONE} otherwise.
*
* @since 4.0
+ * @deprecated in favor of {@link #getQuotingStrategy(DbEntity)}
*/
+ @Deprecated(since = "5.0", forRemoval = true)
QuotingStrategy getQuotingStrategy();
+ /**
+ * Resolves the {@link QuotingStrategy} to use for the given entity: this
adapter's strategy when the
+ * entity's DataMap enables SQL identifier quoting, and {@link
QuotingStrategy#NONE} otherwise.
+ *
+ * @since 5.0
+ */
+ default QuotingStrategy getQuotingStrategy(DbEntity entity) {
+ DataMap dataMap = entity != null ? entity.getDataMap() : null;
+ return dataMap != null && dataMap.isQuotingSQLIdentifiers() ?
getQuotingStrategy() : QuotingStrategy.NONE;
+ }
+
/**
* Allows the users to get access to the adapter decorated by a given
* adapter.
diff --git a/cayenne/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
b/cayenne/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
index e5a5292b0..fc08c3eac 100644
--- a/cayenne/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
+++ b/cayenne/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
@@ -38,7 +38,6 @@ import org.apache.cayenne.configuration.Constants;
import org.apache.cayenne.configuration.RuntimeProperties;
import org.apache.cayenne.di.Inject;
import org.apache.cayenne.log.JdbcEventLogger;
-import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.DbJoin;
@@ -313,15 +312,6 @@ public class JdbcAdapter implements DbAdapter {
return Collections.singleton(buf.toString());
}
- /**
- * Resolves the {@link QuotingStrategy} instance to use for the given
entity, based on whether
- * its DataMap enables SQL identifier quoting.
- */
- protected QuotingStrategy getQuotingStrategy(DbEntity entity) {
- DataMap dataMap = entity.getDataMap();
- return dataMap != null && dataMap.isQuotingSQLIdentifiers() ?
getQuotingStrategy() : QuotingStrategy.NONE;
- }
-
/**
* Returns a SQL string that can be used to create database table
* corresponding to <code>ent</code> parameter.
diff --git
a/cayenne/src/main/java/org/apache/cayenne/dba/oracle/OraclePkGenerator.java
b/cayenne/src/main/java/org/apache/cayenne/dba/oracle/OraclePkGenerator.java
index 50cfa2b41..11454c480 100644
--- a/cayenne/src/main/java/org/apache/cayenne/dba/oracle/OraclePkGenerator.java
+++ b/cayenne/src/main/java/org/apache/cayenne/dba/oracle/OraclePkGenerator.java
@@ -24,7 +24,6 @@ import org.apache.cayenne.access.DataNode;
import org.apache.cayenne.dba.QuotingStrategy;
import org.apache.cayenne.dba.JdbcAdapter;
import org.apache.cayenne.dba.JdbcPkGenerator;
-import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.DbKeyGenerator;
@@ -205,10 +204,7 @@ public class OraclePkGenerator extends JdbcPkGenerator {
* Returns expected primary key sequence name for a DbEntity.
*/
protected String sequenceName(DbEntity entity) {
- DataMap dataMap = entity.getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
- return sequenceName(entity, quotes);
+ return sequenceName(entity, adapter.getQuotingStrategy(entity));
}
/**
diff --git a/cayenne/src/test/java/org/apache/cayenne/dba/AutoAdapterIT.java
b/cayenne/src/test/java/org/apache/cayenne/dba/AutoAdapterIT.java
index dd459dd9a..d36535175 100644
--- a/cayenne/src/test/java/org/apache/cayenne/dba/AutoAdapterIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/dba/AutoAdapterIT.java
@@ -21,6 +21,7 @@ package org.apache.cayenne.dba;
import org.apache.cayenne.access.jdbc.SQLTemplateAction;
import org.apache.cayenne.log.NoopJdbcEventLogger;
+import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.query.ObjectSelect;
import org.apache.cayenne.query.SQLTemplate;
import org.apache.cayenne.testdo.testmap.Artist;
@@ -76,8 +77,9 @@ public class AutoAdapterIT {
autoAdapter.getBatchTerminator());
assertSame(adapter.getPkGenerator(),
autoAdapter.getPkGenerator());
- assertSame(adapter.getQuotingStrategy(),
- autoAdapter.getQuotingStrategy());
+ DbEntity artistDbEntity =
env.dataNode().getEntityResolver().getObjEntity(Artist.class).getDbEntity();
+ assertSame(adapter.getQuotingStrategy(artistDbEntity),
+ autoAdapter.getQuotingStrategy(artistDbEntity));
// returns a new instance for each call
assertSame(adapter.getSqlTreeProcessor().getClass(),
autoAdapter.getSqlTreeProcessor().getClass());
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/CayenneTestsEnv.java
b/cayenne/src/test/java/org/apache/cayenne/unit/CayenneTestsEnv.java
index 586388e87..769cc58b0 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/CayenneTestsEnv.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/CayenneTestsEnv.java
@@ -31,6 +31,7 @@ import org.apache.cayenne.dba.QuotingStrategy;
import org.apache.cayenne.di.AdhocObjectFactory;
import org.apache.cayenne.di.Module;
import org.apache.cayenne.map.DataMap;
+import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.EntityResolver;
import org.apache.cayenne.map.Procedure;
import org.apache.cayenne.runtime.CayenneRuntime;
@@ -117,9 +118,8 @@ public class CayenneTestsEnv implements BeforeEachCallback,
AfterEachCallback {
TestDbAdapter testDbAdapter = TestDbAdapter.of(firstAdapter);
tweakProcedures(runtime, testDbAdapter);
- DataMap firstDataMap =
context.getEntityResolver().getDataMaps().iterator().next();
- QuotingStrategy quotingStrategy =
firstDataMap.isQuotingSQLIdentifiers()
- ? firstAdapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ DbEntity firstDbEntity =
context.getEntityResolver().getDbEntities().iterator().next();
+ QuotingStrategy quotingStrategy =
firstAdapter.getQuotingStrategy(firstDbEntity);
DbHelper dbHelper = new
FlavorAwareDbHelper(COMMON_SCHEMA.dataSource(), quotingStrategy);
diff --git
a/cayenne/src/test/java/org/apache/cayenne/unit/dba/TestDbAdapter.java
b/cayenne/src/test/java/org/apache/cayenne/unit/dba/TestDbAdapter.java
index 0dda10c04..be9fb24a1 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/dba/TestDbAdapter.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/dba/TestDbAdapter.java
@@ -140,9 +140,7 @@ public abstract class TestDbAdapter {
continue;
}
- DataMap dataMap = entity.getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes = adapter.getQuotingStrategy(entity);
for (String constraint : constraints) {
@@ -331,9 +329,7 @@ public abstract class TestDbAdapter {
continue;
}
- DataMap dataMap = entity.getDataMap();
- QuotingStrategy quotes = dataMap != null &&
dataMap.isQuotingSQLIdentifiers()
- ? adapter.getQuotingStrategy() : QuotingStrategy.NONE;
+ QuotingStrategy quotes = adapter.getQuotingStrategy(entity);
// Get all constraints for the table
try (ResultSet rs = metadata.getExportedKeys(entity.getCatalog(),
entity.getSchema(), entity.getName())) {