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;
     }
 }