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/22 17:08:31 UTC
svn commit: r1125981 - in
/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src:
main/java/org/apache/cayenne/access/ main/java/org/apache/cayenne/query/
test/java/org/apache/cayenne/access/
test/java/org/apache/cayenne/access/jdbc/
Author: aadamchik
Date: Sun May 22 15:08:30 2011
New Revision: 1125981
URL: http://svn.apache.org/viewvc?rev=1125981&view=rev
Log:
CAY-1565 CayenneCase unit tests conversion(5)
patches by Dzmitry Kazimirchyk - ResultDirectiveTest
Modified:
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/DataNode.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/QueryEngine.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/QueryChain.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/UnitTestDomain.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/ResultDirectiveTest.java
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=1125981&r1=1125980&r2=1125981&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 Sun May 22 15:08:30 2011
@@ -666,7 +666,7 @@ public class DataDomain implements Query
* Routes queries to appropriate DataNodes for execution.
*/
public void performQueries(
- final Collection<Query> queries,
+ final Collection<? extends Query> queries,
final OperationObserver callback) {
runInTransaction(new Transformer() {
@@ -870,6 +870,7 @@ public class DataDomain implements Query
/**
* Sets factory for creating QueryBuilders
+ *
* @deprecated since 3.1 BatchQueryBuilderFactory is injected into JdbcAdapter.
*/
public void setQueryBuilderFactory(BatchQueryBuilderFactory queryBuilderFactory) {
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=1125981&r1=1125980&r2=1125981&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 Sun May 22 15:08:30 2011
@@ -209,7 +209,9 @@ public class DataNode implements QueryEn
*
* @since 1.1
*/
- public void performQueries(Collection<Query> queries, OperationObserver callback) {
+ public void performQueries(
+ Collection<? extends Query> queries,
+ OperationObserver callback) {
int listSize = queries.size();
if (listSize == 0) {
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/QueryEngine.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/QueryEngine.java?rev=1125981&r1=1125980&r2=1125981&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/QueryEngine.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/QueryEngine.java Sun May 22 15:08:30 2011
@@ -26,7 +26,6 @@ import org.apache.cayenne.query.Query;
/**
* Defines methods used to run Cayenne queries.
- *
*/
public interface QueryEngine {
@@ -37,7 +36,7 @@ public interface QueryEngine {
* @since 1.1 The signature has changed from List to Collection.
*/
void performQueries(
- Collection<Query> queries,
+ Collection<? extends Query> queries,
OperationObserver resultConsumer);
/**
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/QueryChain.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/QueryChain.java?rev=1125981&r1=1125980&r2=1125981&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/QueryChain.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/QueryChain.java Sun May 22 15:08:30 2011
@@ -39,13 +39,12 @@ public class QueryChain implements Query
protected Collection<Query> chain;
protected String name;
-
+
/**
* @since 3.1
*/
protected DataMap dataMap;
-
/**
* Creates an empty QueryChain.
*/
@@ -64,12 +63,12 @@ public class QueryChain implements Query
/**
* Creates a new QueryChain with a collection of Queries.
*/
- public QueryChain(Collection<Query> queries) {
+ public QueryChain(Collection<? extends Query> queries) {
if (queries != null && !queries.isEmpty()) {
this.chain = new ArrayList<Query>(queries);
}
}
-
+
/**
* @since 3.1
*/
@@ -142,7 +141,7 @@ public class QueryChain implements Query
public void setDataMap(DataMap dataMap) {
this.dataMap = dataMap;
}
-
+
/**
* Returns default metadata.
*/
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/UnitTestDomain.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/UnitTestDomain.java?rev=1125981&r1=1125980&r2=1125981&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/UnitTestDomain.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/UnitTestDomain.java Sun May 22 15:08:30 2011
@@ -64,12 +64,15 @@ public class UnitTestDomain extends Data
}
@Override
- public void performQueries(Collection queries, OperationObserver callback) {
+ public void performQueries(
+ Collection<? extends Query> queries,
+ OperationObserver callback) {
checkQueryAllowed(queries);
super.performQueries(queries, callback);
}
- public void checkQueryAllowed(Collection queries) throws AssertionFailedError {
+ public void checkQueryAllowed(Collection<? extends Query> queries)
+ throws AssertionFailedError {
if (blockingQueries) {
Assert.fail("Query is unexpected: " + queries);
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/ResultDirectiveTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/ResultDirectiveTest.java?rev=1125981&r1=1125980&r2=1125981&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/ResultDirectiveTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/jdbc/ResultDirectiveTest.java Sun May 22 15:08:30 2011
@@ -24,22 +24,43 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.apache.cayenne.DataRow;
import org.apache.cayenne.access.MockOperationObserver;
+import org.apache.cayenne.configuration.server.ServerRuntime;
+import org.apache.cayenne.di.Inject;
import org.apache.cayenne.query.CapsStrategy;
import org.apache.cayenne.query.SQLTemplate;
import org.apache.cayenne.query.SelectQuery;
+import org.apache.cayenne.test.jdbc.DBHelper;
import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.CayenneCase;
+import org.apache.cayenne.unit.AccessStackAdapter;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
/**
* Test for Result directive to check if we could use ResultDitrective optionally.
*/
-public class ResultDirectiveTest extends CayenneCase {
+@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+public class ResultDirectiveTest extends ServerCase {
+
+ @Inject
+ private ServerRuntime runtime;
+
+ @Inject
+ private AccessStackAdapter accessStackAdapter;
+
+ @Inject
+ private DBHelper dbHelper;
@Override
- protected void setUp() throws Exception {
- super.setUp();
- deleteTestData();
+ protected void setUpAfterInjection() throws Exception {
+ dbHelper.deleteAll("PAINTING_INFO");
+ dbHelper.deleteAll("PAINTING");
+ dbHelper.deleteAll("ARTIST_EXHIBIT");
+ dbHelper.deleteAll("ARTIST_GROUP");
+ dbHelper.deleteAll("ARTIST");
+ dbHelper.deleteAll("EXHIBIT");
+ dbHelper.deleteAll("GALLERY");
}
public void testWithoutResultDirective() throws Exception {
@@ -59,7 +80,10 @@ public class ResultDirectiveTest extends
Map<String, Object> selectResult = selectForQuery(sql);
assertEquals(artist.get("ARTIST_ID"), selectResult.get("ARTIST_ID"));
- assertEquals(artist.get("ARTIST_NAME"), selectResult.get("ARTIST_NAME").toString().trim());
+ assertEquals(artist.get("ARTIST_NAME"), selectResult
+ .get("ARTIST_NAME")
+ .toString()
+ .trim());
}
public void testWithMixedDirectiveUse1() throws Exception {
@@ -70,7 +94,10 @@ public class ResultDirectiveTest extends
Map<String, Object> selectResult = selectForQuery(sql);
assertEquals(artist.get("ARTIST_ID"), selectResult.get("ARTIST_ID"));
- assertEquals(artist.get("ARTIST_NAME"), selectResult.get("ARTIST_NAME").toString().trim());
+ assertEquals(artist.get("ARTIST_NAME"), selectResult
+ .get("ARTIST_NAME")
+ .toString()
+ .trim());
}
public void testWithMixedDirectiveUse2() throws Exception {
@@ -88,7 +115,9 @@ public class ResultDirectiveTest extends
SQLTemplate template = new SQLTemplate(Artist.class, sql);
template.setColumnNamesCapitalization(CapsStrategy.UPPER);
MockOperationObserver observer = new MockOperationObserver();
- getDomain().performQueries(Collections.singletonList(template), observer);
+ runtime.getDataDomain().performQueries(
+ Collections.singletonList(template),
+ observer);
List<Map<String, Object>> data = observer.rowsForQuery(template);
assertEquals(1, data.size());
@@ -112,13 +141,17 @@ public class ResultDirectiveTest extends
template.setParameters(parameters);
- SQLTemplateAction action = new SQLTemplateAction(
- template,
- getAccessStackAdapter().getAdapter(),
- getDomain().getEntityResolver());
- assertSame(getAccessStackAdapter().getAdapter(), action.getAdapter());
-
- Connection c = getConnection();
+ SQLTemplateAction action = new SQLTemplateAction(template, accessStackAdapter
+ .getAdapter(), runtime.getDataDomain().getEntityResolver());
+ assertSame(accessStackAdapter.getAdapter(), action.getAdapter());
+
+ Connection c = runtime
+ .getDataDomain()
+ .getDataNodes()
+ .iterator()
+ .next()
+ .getDataSource()
+ .getConnection();
try {
MockOperationObserver observer = new MockOperationObserver();
action.performAction(c, observer);
@@ -134,11 +167,13 @@ public class ResultDirectiveTest extends
MockOperationObserver observer = new MockOperationObserver();
SelectQuery query = new SelectQuery(Artist.class);
- getDomain().performQueries(Collections.singletonList(query), observer);
+ runtime
+ .getDataDomain()
+ .performQueries(Collections.singletonList(query), observer);
- List data = observer.rowsForQuery(query);
+ List<?> data = observer.rowsForQuery(query);
assertEquals(1, data.size());
- Map row = (Map) data.get(0);
+ DataRow row = (DataRow) data.get(0);
return row;
}
}