Author: aadamchik
Date: Sun Feb 24 12:33:51 2013
New Revision: 1449469
URL: http://svn.apache.org/r1449469
Log:
CAY-1522 EJBQL query don't support quotes
preliminary refactoring - a more deterministic quoting startegy initialization
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/DefaultQuotingStrategy.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/sybase/SybaseAdapter.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/SoftDeleteBatchQueryBuilderTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/DeleteBatchQueryBuilderTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/InsertBatchQueryBuilderTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/SelectTranslatorTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/UpdateBatchQueryBuilderTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/MySQLUnitDbAdapter.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/SybaseUnitDbAdapter.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/UnitDbAdapter.java
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/DefaultQuotingStrategy.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/DefaultQuotingStrategy.java?rev=1449469&r1=1449468&r2=1449469&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/DefaultQuotingStrategy.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/DefaultQuotingStrategy.java
Sun Feb 24 12:33:51 2013
@@ -27,12 +27,12 @@ import org.apache.cayenne.map.Entity;
/**
* @since 3.2 this is a top-level class.
*/
-class DefaultQuotingStrategy implements QuotingStrategy {
+public class DefaultQuotingStrategy implements QuotingStrategy {
private String endQuote;
private String startQuote;
- DefaultQuotingStrategy(String startQuote, String endQuote) {
+ public DefaultQuotingStrategy(String startQuote, String endQuote) {
this.startQuote = startQuote;
this.endQuote = endQuote;
}
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java?rev=1449469&r1=1449468&r2=1449469&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
Sun Feb 24 12:33:51 2013
@@ -63,9 +63,6 @@ public class JdbcAdapter implements DbAd
// defines if database uses case-insensitive collation
public final static String CI_PROPERTY =
"cayenne.runtime.db.collation.assume.ci";
- final static String DEFAULT_IDENTIFIERS_START_QUOTE = "\"";
- final static String DEFAULT_IDENTIFIERS_END_QUOTE = "\"";
-
private PkGenerator pkGenerator;
protected QuotingStrategy quotingStrategy;
@@ -76,9 +73,6 @@ public class JdbcAdapter implements DbAd
protected boolean supportsGeneratedKeys;
protected EJBQLTranslatorFactory ejbqlTranslatorFactory;
- protected String identifiersStartQuote;
- protected String identifiersEndQuote;
-
protected ResourceLocator resourceLocator;
protected boolean caseInsensitiveCollations;
@@ -92,20 +86,6 @@ public class JdbcAdapter implements DbAd
protected JdbcEventLogger logger;
/**
- * @since 3.0
- */
- public String getIdentifiersStartQuote() {
- return identifiersStartQuote;
- }
-
- /**
- * @since 3.0
- */
- public String getIdentifiersEndQuote() {
- return identifiersEndQuote;
- }
-
- /**
* Creates new JdbcAdapter with a set of default parameters.
*/
public JdbcAdapter(@Inject RuntimeProperties runtimeProperties,
@@ -122,13 +102,12 @@ public class JdbcAdapter implements DbAd
this.resourceLocator = new ClassLoaderResourceLocator();
this.pkGenerator = createPkGenerator();
+ this.quotingStrategy = createQuotingStrategy();
+
this.ejbqlTranslatorFactory = createEJBQLTranslatorFactory();
this.typesHandler =
TypesHandler.getHandler(findResource("/types.xml"));
this.extendedTypes = new ExtendedTypeMap();
initExtendedTypes(defaultExtendedTypes, userExtendedTypes,
extendedTypeFactories);
- initIdentifiersQuotes();
-
- this.quotingStrategy = new
DefaultQuotingStrategy(identifiersStartQuote, identifiersEndQuote);
}
/**
@@ -566,11 +545,11 @@ public class JdbcAdapter implements DbAd
}
/**
- * @since 3.0
+ * @since 3.2
+ * @return
*/
- protected void initIdentifiersQuotes() {
- this.identifiersStartQuote = DEFAULT_IDENTIFIERS_START_QUOTE;
- this.identifiersEndQuote = DEFAULT_IDENTIFIERS_END_QUOTE;
+ protected QuotingStrategy createQuotingStrategy() {
+ return new DefaultQuotingStrategy("\"", "\"");
}
/**
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java?rev=1449469&r1=1449468&r2=1449469&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java
Sun Feb 24 12:33:51 2013
@@ -41,6 +41,7 @@ import org.apache.cayenne.access.types.E
import org.apache.cayenne.access.types.ExtendedTypeMap;
import org.apache.cayenne.configuration.Constants;
import org.apache.cayenne.configuration.RuntimeProperties;
+import org.apache.cayenne.dba.DefaultQuotingStrategy;
import org.apache.cayenne.dba.JdbcAdapter;
import org.apache.cayenne.dba.PkGenerator;
import org.apache.cayenne.dba.QuotingStrategy;
@@ -104,9 +105,8 @@ public class MySQLAdapter extends JdbcAd
}
@Override
- public void initIdentifiersQuotes() {
- this.identifiersStartQuote = MYSQL_QUOTE_SQL_IDENTIFIERS_CHAR_START;
- this.identifiersEndQuote = MYSQL_QUOTE_SQL_IDENTIFIERS_CHAR_END;
+ protected QuotingStrategy createQuotingStrategy() {
+ return new DefaultQuotingStrategy("`", "`");
}
@Override
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/sybase/SybaseAdapter.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/sybase/SybaseAdapter.java?rev=1449469&r1=1449468&r2=1449469&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/sybase/SybaseAdapter.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/sybase/SybaseAdapter.java
Sun Feb 24 12:33:51 2013
@@ -34,19 +34,19 @@ import org.apache.cayenne.access.types.E
import org.apache.cayenne.access.types.ShortType;
import org.apache.cayenne.configuration.Constants;
import org.apache.cayenne.configuration.RuntimeProperties;
+import org.apache.cayenne.dba.DefaultQuotingStrategy;
import org.apache.cayenne.dba.JdbcAdapter;
import org.apache.cayenne.dba.PkGenerator;
+import org.apache.cayenne.dba.QuotingStrategy;
import org.apache.cayenne.di.Inject;
import org.apache.cayenne.merge.MergerFactory;
/**
- * DbAdapter implementation for <a href="http://www.sybase.com">Sybase
RDBMS</a>.
+ * DbAdapter implementation for <a href="http://www.sybase.com">Sybase
+ * RDBMS</a>.
*/
public class SybaseAdapter extends JdbcAdapter {
- final static String MYSQL_QUOTE_SQL_IDENTIFIERS_CHAR_START = "[";
- final static String MYSQL_QUOTE_SQL_IDENTIFIERS_CHAR_END = "]";
-
public SybaseAdapter(@Inject RuntimeProperties runtimeProperties,
@Inject(Constants.SERVER_DEFAULT_TYPES_LIST) List<ExtendedType>
defaultExtendedTypes,
@Inject(Constants.SERVER_USER_TYPES_LIST) List<ExtendedType>
userExtendedTypes,
@@ -54,13 +54,9 @@ public class SybaseAdapter extends JdbcA
super(runtimeProperties, defaultExtendedTypes, userExtendedTypes,
extendedTypeFactories);
}
- /**
- * @since 3.0
- */
@Override
- public void initIdentifiersQuotes() {
- this.identifiersStartQuote = MYSQL_QUOTE_SQL_IDENTIFIERS_CHAR_START;
- this.identifiersEndQuote = MYSQL_QUOTE_SQL_IDENTIFIERS_CHAR_END;
+ protected QuotingStrategy createQuotingStrategy() {
+ return new DefaultQuotingStrategy("[", "]");
}
/**
@@ -82,8 +78,8 @@ public class SybaseAdapter extends JdbcA
}
/**
- * Installs appropriate ExtendedTypes as converters for passing values
between JDBC
- * and Java layers.
+ * Installs appropriate ExtendedTypes as converters for passing values
+ * between JDBC and Java layers.
*/
@Override
protected void configureExtendedTypes(ExtendedTypeMap map) {
@@ -95,14 +91,15 @@ public class SybaseAdapter extends JdbcA
// create specially configured ByteArrayType handler
map.registerType(new ByteArrayType(true, false));
- // address Sybase driver inability to handle java.lang.Short and
java.lang.Byte
+ // address Sybase driver inability to handle java.lang.Short and
+ // java.lang.Byte
map.registerType(new ShortType(true));
map.registerType(new ByteType(true));
}
/**
- * Creates and returns a primary key generator. Overrides superclass
implementation to
- * return an instance of SybasePkGenerator.
+ * Creates and returns a primary key generator. Overrides superclass
+ * implementation to return an instance of SybasePkGenerator.
*/
@Override
protected PkGenerator createPkGenerator() {
@@ -110,27 +107,21 @@ public class SybaseAdapter extends JdbcA
}
@Override
- public void bindParameter(
- PreparedStatement statement,
- Object object,
- int pos,
- int sqlType,
- int precision) throws SQLException, Exception {
+ public void bindParameter(PreparedStatement statement, Object object, int
pos, int sqlType, int precision)
+ throws SQLException, Exception {
// Sybase driver doesn't like CLOBs and BLOBs as parameters
if (object == null) {
if (sqlType == Types.CLOB) {
sqlType = Types.VARCHAR;
- }
- else if (sqlType == Types.BLOB) {
+ } else if (sqlType == Types.BLOB) {
sqlType = Types.VARBINARY;
}
}
if (object == null && sqlType == 0) {
statement.setNull(pos, Types.VARCHAR);
- }
- else {
+ } else {
super.bindParameter(statement, object, pos, sqlType, precision);
}
}
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/SoftDeleteBatchQueryBuilderTest.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/SoftDeleteBatchQueryBuilderTest.java?rev=1449469&r1=1449468&r2=1449469&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/SoftDeleteBatchQueryBuilderTest.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/SoftDeleteBatchQueryBuilderTest.java
Sun Feb 24 12:33:51 2013
@@ -38,6 +38,7 @@ import org.apache.cayenne.query.SQLTempl
import org.apache.cayenne.query.SelectQuery;
import org.apache.cayenne.test.parallel.ParallelTestContainer;
import org.apache.cayenne.testdo.locking.SoftTest;
+import org.apache.cayenne.unit.UnitDbAdapter;
import org.apache.cayenne.unit.di.server.ServerCase;
import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -51,6 +52,9 @@ public class SoftDeleteBatchQueryBuilder
protected DbAdapter adapter;
@Inject
+ private UnitDbAdapter unitAdapter;
+
+ @Inject
private AdhocObjectFactory objectFactory;
private DeleteBatchQueryBuilder createBuilder() {
@@ -130,8 +134,8 @@ public class SoftDeleteBatchQueryBuilder
DeleteBatchQueryBuilder builder = createBuilder(adapter);
String generatedSql = builder.createSqlString(deleteQuery);
- String charStart = adapter.getIdentifiersStartQuote();
- String charEnd = adapter.getIdentifiersEndQuote();
+ String charStart = unitAdapter.getIdentifiersStartQuote();
+ String charEnd = unitAdapter.getIdentifiersEndQuote();
assertNotNull(generatedSql);
assertEquals("UPDATE "
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/DeleteBatchQueryBuilderTest.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/DeleteBatchQueryBuilderTest.java?rev=1449469&r1=1449468&r2=1449469&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/DeleteBatchQueryBuilderTest.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/DeleteBatchQueryBuilderTest.java
Sun Feb 24 12:33:51 2013
@@ -33,6 +33,7 @@ import org.apache.cayenne.map.DbAttribut
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.query.DeleteBatchQuery;
import org.apache.cayenne.testdo.locking.SimpleLockingTestEntity;
+import org.apache.cayenne.unit.UnitDbAdapter;
import org.apache.cayenne.unit.di.server.ServerCase;
import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -46,6 +47,9 @@ public class DeleteBatchQueryBuilderTest
private DbAdapter adapter;
@Inject
+ private UnitDbAdapter unitAdapter;
+
+ @Inject
private AdhocObjectFactory objectFactory;
public void testConstructor() throws Exception {
@@ -119,8 +123,8 @@ public class DeleteBatchQueryBuilderTest
DeleteBatchQueryBuilder builder = new
DeleteBatchQueryBuilder(adapter);
String generatedSql = builder.createSqlString(deleteQuery);
- String charStart = adapter.getIdentifiersStartQuote();
- String charEnd = adapter.getIdentifiersEndQuote();
+ String charStart = unitAdapter.getIdentifiersStartQuote();
+ String charEnd = unitAdapter.getIdentifiersEndQuote();
assertNotNull(generatedSql);
assertEquals("DELETE FROM "
@@ -163,8 +167,8 @@ public class DeleteBatchQueryBuilderTest
DeleteBatchQueryBuilder builder = new
DeleteBatchQueryBuilder(adapter);
String generatedSql = builder.createSqlString(deleteQuery);
- String charStart = adapter.getIdentifiersStartQuote();
- String charEnd = adapter.getIdentifiersEndQuote();
+ String charStart = unitAdapter.getIdentifiersStartQuote();
+ String charEnd = unitAdapter.getIdentifiersEndQuote();
assertNotNull(generatedSql);
assertEquals("DELETE FROM "
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/InsertBatchQueryBuilderTest.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/InsertBatchQueryBuilderTest.java?rev=1449469&r1=1449468&r2=1449469&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/InsertBatchQueryBuilderTest.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/InsertBatchQueryBuilderTest.java
Sun Feb 24 12:33:51 2013
@@ -26,6 +26,7 @@ import org.apache.cayenne.di.Inject;
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.query.InsertBatchQuery;
import org.apache.cayenne.testdo.locking.SimpleLockingTestEntity;
+import org.apache.cayenne.unit.UnitDbAdapter;
import org.apache.cayenne.unit.di.server.ServerCase;
import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -37,14 +38,15 @@ public class InsertBatchQueryBuilderTest
@Inject
private DbAdapter adapter;
-
+
+ @Inject
+ private UnitDbAdapter unitAdapter;
+
@Inject
private AdhocObjectFactory objectFactory;
public void testConstructor() throws Exception {
- DbAdapter adapter = objectFactory.newInstance(
- DbAdapter.class,
- JdbcAdapter.class.getName());
+ DbAdapter adapter = objectFactory.newInstance(DbAdapter.class,
JdbcAdapter.class.getName());
DeleteBatchQueryBuilder builder = new DeleteBatchQueryBuilder(adapter);
@@ -52,22 +54,21 @@ public class InsertBatchQueryBuilderTest
}
public void testCreateSqlString() throws Exception {
- DbEntity entity =
runtime.getDataDomain().getEntityResolver().lookupObjEntity(
- SimpleLockingTestEntity.class).getDbEntity();
+ DbEntity entity =
runtime.getDataDomain().getEntityResolver().lookupObjEntity(SimpleLockingTestEntity.class)
+ .getDbEntity();
DbAdapter adapter = objectFactory.newInstance(DbAdapter.class,
JdbcAdapter.class.getName());
InsertBatchQuery deleteQuery = new InsertBatchQuery(entity, 1);
InsertBatchQueryBuilder builder = new InsertBatchQueryBuilder(adapter);
String generatedSql = builder.createSqlString(deleteQuery);
assertNotNull(generatedSql);
- assertEquals("INSERT INTO "
- + entity.getName()
- + " (DESCRIPTION, LOCKING_TEST_ID, NAME) VALUES (?, ?, ?)",
generatedSql);
+ assertEquals("INSERT INTO " + entity.getName() + " (DESCRIPTION,
LOCKING_TEST_ID, NAME) VALUES (?, ?, ?)",
+ generatedSql);
}
public void testCreateSqlStringWithIdentifiersQuote() throws Exception {
- DbEntity entity =
runtime.getDataDomain().getEntityResolver().lookupObjEntity(
- SimpleLockingTestEntity.class).getDbEntity();
+ DbEntity entity =
runtime.getDataDomain().getEntityResolver().lookupObjEntity(SimpleLockingTestEntity.class)
+ .getDbEntity();
try {
entity.getDataMap().setQuotingSQLIdentifiers(true);
@@ -77,28 +78,13 @@ public class InsertBatchQueryBuilderTest
InsertBatchQuery deleteQuery = new InsertBatchQuery(entity, 1);
InsertBatchQueryBuilder builder = new
InsertBatchQueryBuilder(adapter);
String generatedSql = builder.createSqlString(deleteQuery);
- String charStart = adapter.getIdentifiersStartQuote();
- String charEnd = adapter.getIdentifiersEndQuote();
+ String charStart = unitAdapter.getIdentifiersStartQuote();
+ String charEnd = unitAdapter.getIdentifiersEndQuote();
assertNotNull(generatedSql);
- assertEquals("INSERT INTO "
- + charStart
- + entity.getName()
- + charEnd
- + " ("
- + charStart
- + "DESCRIPTION"
- + charEnd
- + ", "
- + charStart
- + "LOCKING_TEST_ID"
- + charEnd
- + ", "
- + charStart
- + "NAME"
- + charEnd
+ assertEquals("INSERT INTO " + charStart + entity.getName() +
charEnd + " (" + charStart + "DESCRIPTION"
+ + charEnd + ", " + charStart + "LOCKING_TEST_ID" + charEnd
+ ", " + charStart + "NAME" + charEnd
+ ") VALUES (?, ?, ?)", generatedSql);
- }
- finally {
+ } finally {
entity.getDataMap().setQuotingSQLIdentifiers(false);
}
}
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/SelectTranslatorTest.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/SelectTranslatorTest.java?rev=1449469&r1=1449468&r2=1449469&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/SelectTranslatorTest.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/SelectTranslatorTest.java
Sun Feb 24 12:33:51 2013
@@ -27,7 +27,6 @@ import java.util.List;
import org.apache.cayenne.access.DataContext;
import org.apache.cayenne.access.jdbc.ColumnDescriptor;
import org.apache.cayenne.dba.DbAdapter;
-import org.apache.cayenne.dba.JdbcAdapter;
import org.apache.cayenne.di.Inject;
import org.apache.cayenne.exp.Expression;
import org.apache.cayenne.exp.ExpressionException;
@@ -44,6 +43,7 @@ import org.apache.cayenne.testdo.testmap
import org.apache.cayenne.testdo.testmap.ArtistExhibit;
import org.apache.cayenne.testdo.testmap.CompoundPainting;
import org.apache.cayenne.testdo.testmap.Painting;
+import org.apache.cayenne.unit.UnitDbAdapter;
import org.apache.cayenne.unit.di.server.ServerCase;
import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -59,6 +59,9 @@ public class SelectTranslatorTest extend
@Inject
private DbAdapter adapter;
+
+ @Inject
+ private UnitDbAdapter unitAdapter;
@Inject
private DBHelper dbHelper;
@@ -536,9 +539,8 @@ public class SelectTranslatorTest extend
@Override
void test(SelectTranslator transl) throws Exception {
- JdbcAdapter adapter = (JdbcAdapter)
SelectTranslatorTest.this.adapter;
- String charStart = adapter.getIdentifiersStartQuote();
- String charEnd = adapter.getIdentifiersEndQuote();
+ String charStart = unitAdapter.getIdentifiersStartQuote();
+ String charEnd = unitAdapter.getIdentifiersEndQuote();
String s = transl.createSqlString();
assertTrue(s.startsWith("SELECT "));
@@ -612,9 +614,8 @@ public class SelectTranslatorTest extend
@Override
void test(SelectTranslator transl) throws Exception {
- JdbcAdapter adapter = (JdbcAdapter)
SelectTranslatorTest.this.adapter;
- String charStart = adapter.getIdentifiersStartQuote();
- String charEnd = adapter.getIdentifiersEndQuote();
+ String charStart = unitAdapter.getIdentifiersStartQuote();
+ String charEnd = unitAdapter.getIdentifiersEndQuote();
String s = transl.createSqlString();
@@ -706,9 +707,8 @@ public class SelectTranslatorTest extend
@Override
void test(SelectTranslator transl) throws Exception {
- JdbcAdapter adapter = (JdbcAdapter)
SelectTranslatorTest.this.adapter;
- String charStart = adapter.getIdentifiersStartQuote();
- String charEnd = adapter.getIdentifiersEndQuote();
+ String charStart = unitAdapter.getIdentifiersStartQuote();
+ String charEnd = unitAdapter.getIdentifiersEndQuote();
String s = transl.createSqlString();
@@ -894,9 +894,8 @@ public class SelectTranslatorTest extend
@Override
void test(SelectTranslator transl) throws Exception {
- JdbcAdapter adapter = (JdbcAdapter)
SelectTranslatorTest.this.adapter;
- String charStart = adapter.getIdentifiersStartQuote();
- String charEnd = adapter.getIdentifiersEndQuote();
+ String charStart = unitAdapter.getIdentifiersStartQuote();
+ String charEnd = unitAdapter.getIdentifiersEndQuote();
String s = transl.createSqlString();
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/UpdateBatchQueryBuilderTest.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/UpdateBatchQueryBuilderTest.java?rev=1449469&r1=1449468&r2=1449469&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/UpdateBatchQueryBuilderTest.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/trans/UpdateBatchQueryBuilderTest.java
Sun Feb 24 12:33:51 2013
@@ -32,6 +32,7 @@ import org.apache.cayenne.di.Inject;
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.query.UpdateBatchQuery;
import org.apache.cayenne.testdo.locking.SimpleLockingTestEntity;
+import org.apache.cayenne.unit.UnitDbAdapter;
import org.apache.cayenne.unit.di.server.ServerCase;
import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -45,6 +46,9 @@ public class UpdateBatchQueryBuilderTest
private DbAdapter adapter;
@Inject
+ private UnitDbAdapter unitAdapter;
+
+ @Inject
private AdhocObjectFactory objectFactory;
public void testConstructor() throws Exception {
@@ -133,8 +137,8 @@ public class UpdateBatchQueryBuilderTest
UpdateBatchQueryBuilder builder = new
UpdateBatchQueryBuilder(adapter);
String generatedSql = builder.createSqlString(updateQuery);
- String charStart = adapter.getIdentifiersStartQuote();
- String charEnd = adapter.getIdentifiersEndQuote();
+ String charStart = unitAdapter.getIdentifiersStartQuote();
+ String charEnd = unitAdapter.getIdentifiersEndQuote();
assertNotNull(generatedSql);
assertEquals("UPDATE "
@@ -184,8 +188,8 @@ public class UpdateBatchQueryBuilderTest
String generatedSql = builder.createSqlString(updateQuery);
assertNotNull(generatedSql);
- String charStart = adapter.getIdentifiersStartQuote();
- String charEnd = adapter.getIdentifiersEndQuote();
+ String charStart = unitAdapter.getIdentifiersStartQuote();
+ String charEnd = unitAdapter.getIdentifiersEndQuote();
assertEquals("UPDATE "
+ charStart
+ entity.getName()
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/MySQLUnitDbAdapter.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/MySQLUnitDbAdapter.java?rev=1449469&r1=1449468&r2=1449469&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/MySQLUnitDbAdapter.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/MySQLUnitDbAdapter.java
Sun Feb 24 12:33:51 2013
@@ -42,6 +42,16 @@ public class MySQLUnitDbAdapter extends
}
@Override
+ public String getIdentifiersStartQuote() {
+ return "`";
+ }
+
+ @Override
+ public String getIdentifiersEndQuote() {
+ return "`";
+ }
+
+ @Override
public boolean supportsCatalogs() {
return true;
}
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/SybaseUnitDbAdapter.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/SybaseUnitDbAdapter.java?rev=1449469&r1=1449468&r2=1449469&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/SybaseUnitDbAdapter.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/SybaseUnitDbAdapter.java
Sun Feb 24 12:33:51 2013
@@ -37,14 +37,17 @@ import org.apache.cayenne.map.Procedure;
*/
public class SybaseUnitDbAdapter extends UnitDbAdapter {
- /**
- * Constructor for SybaseDelegate.
- *
- * @param adapter
- */
public SybaseUnitDbAdapter(DbAdapter adapter) {
super(adapter);
}
+
+ public String getIdentifiersStartQuote() {
+ return "[";
+ }
+
+ public String getIdentifiersEndQuote() {
+ return "]";
+ }
@Override
public boolean supportsStoredProcedures() {
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/UnitDbAdapter.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/UnitDbAdapter.java?rev=1449469&r1=1449468&r2=1449469&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/UnitDbAdapter.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/UnitDbAdapter.java
Sun Feb 24 12:33:51 2013
@@ -66,6 +66,14 @@ public class UnitDbAdapter {
}
this.adapter = adapter;
}
+
+ public String getIdentifiersStartQuote() {
+ return "\"";
+ }
+
+ public String getIdentifiersEndQuote() {
+ return "\"";
+ }
/**
* Drops all table constraints.