Author: aadamchik
Date: Sun May 22 19:26:59 2011
New Revision: 1126190

URL: http://svn.apache.org/viewvc?rev=1126190&view=rev
Log:
unit test refactoring

convert SQLTemplateCustomizer to Cayenne DI

Added:
    
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/SQLTemplateCustomizerProvider.java
Removed:
    
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/CayenneResourcesSQLTemplateCustomizerProvider.java
    
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/dml/
Modified:
    
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/CayenneResources.java
    
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseModule.java
    
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/util/SQLTemplateCustomizer.java
    
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/spring-test-resources.xml

Modified: 
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/CayenneResources.java
URL: 
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/CayenneResources.java?rev=1126190&r1=1126189&r2=1126190&view=diff
==============================================================================
--- 
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/CayenneResources.java
 (original)
+++ 
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/CayenneResources.java
 Sun May 22 19:26:59 2011
@@ -32,7 +32,6 @@ import org.apache.cayenne.conn.DataSourc
 import org.apache.cayenne.conn.PoolDataSource;
 import org.apache.cayenne.conn.PoolManager;
 import org.apache.cayenne.dba.JdbcAdapter;
-import org.apache.cayenne.unit.util.SQLTemplateCustomizer;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.springframework.beans.BeansException;
@@ -178,15 +177,6 @@ public class CayenneResources implements
         return (AccessStack) beanFactory.getBean(name, AccessStack.class);
     }
 
-    public SQLTemplateCustomizer getSQLTemplateCustomizer() {
-        BeanFactory child = (BeanFactory) beanFactory.getBean(
-                SQL_TEMPLATE_CUSTOMIZER,
-                BeanFactory.class);
-        return (SQLTemplateCustomizer) child.getBean(
-                SQL_TEMPLATE_CUSTOMIZER,
-                SQLTemplateCustomizer.class);
-    }
-
     /**
      * Returns DB-specific testing adapter.
      */

Added: 
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/SQLTemplateCustomizerProvider.java
URL: 
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/SQLTemplateCustomizerProvider.java?rev=1126190&view=auto
==============================================================================
--- 
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/SQLTemplateCustomizerProvider.java
 (added)
+++ 
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/SQLTemplateCustomizerProvider.java
 Sun May 22 19:26:59 2011
@@ -0,0 +1,83 @@
+/*****************************************************************
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ ****************************************************************/
+package org.apache.cayenne.unit.di.server;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.cayenne.ConfigurationException;
+import org.apache.cayenne.dba.DbAdapter;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.di.Provider;
+import org.apache.cayenne.unit.util.SQLTemplateCustomizer;
+
+public class SQLTemplateCustomizerProvider implements 
Provider<SQLTemplateCustomizer> {
+
+    @Inject
+    private DbAdapter dbAdapter;
+
+    public SQLTemplateCustomizer get() throws ConfigurationException {
+        Map<String, Map<String, String>> map = new HashMap<String, Map<String, 
String>>();
+
+        Map<String, String> q1 = new HashMap<String, String>();
+        q1.put(
+                "org.apache.cayenne.dba.postgres.PostgresAdapter",
+                "SELECT #result('ARTIST_ID'), RTRIM(#result('ARTIST_NAME')), "
+                        + "#result('DATE_OF_BIRTH') FROM ARTIST ORDER BY 
ARTIST_ID");
+        q1.put(
+                "org.apache.cayenne.dba.ingres.IngresAdapter",
+                "SELECT #result('ARTIST_ID'), TRIM(#result('ARTIST_NAME')), "
+                        + "#result('DATE_OF_BIRTH') FROM ARTIST ORDER BY 
ARTIST_ID");
+        q1.put(
+                "org.apache.cayenne.dba.openbase.OpenBaseAdapter",
+                "SELECT #result('ARTIST_ID'), #result('ARTIST_NAME'), "
+                        + "#result('DATE_OF_BIRTH') FROM ARTIST ORDER BY 
ARTIST_ID");
+
+        Map<String, String> q2 = new HashMap<String, String>();
+        q2.put(
+                "org.apache.cayenne.dba.postgres.PostgresAdapter",
+                "SELECT #result('ARTIST_ID'), RTRIM(#result('ARTIST_NAME')), 
#result('DATE_OF_BIRTH') "
+                        + "FROM ARTIST WHERE ARTIST_ID = #bind($id)");
+        q2.put(
+                "org.apache.cayenne.dba.ingres.IngresAdapter",
+                "SELECT #result('ARTIST_ID'), TRIM(#result('ARTIST_NAME')), 
#result('DATE_OF_BIRTH') "
+                        + "FROM ARTIST WHERE ARTIST_ID = #bind($id)");
+        q2.put(
+                "org.apache.cayenne.dba.openbase.OpenBaseAdapter",
+                "SELECT #result('ARTIST_ID'), #result('ARTIST_NAME'), 
#result('DATE_OF_BIRTH') "
+                        + "FROM ARTIST WHERE ARTIST_ID = #bind($id)");
+
+        Map<String, String> q3 = new HashMap<String, String>();
+        q3
+                .put(
+                        "org.apache.cayenne.dba.oracle.OracleAdapter",
+                        "UPDATE ARTIST SET ARTIST_NAME = #bind($newName) WHERE 
RTRIM(ARTIST_NAME) = #bind($oldName)");
+        q3
+                .put(
+                        "org.apache.cayenne.dba.oracle.Oracle8Adapter",
+                        "UPDATE ARTIST SET ARTIST_NAME = #bind($newName) WHERE 
RTRIM(ARTIST_NAME) = #bind($oldName)");
+
+        map.put("SELECT * FROM ARTIST ORDER BY ARTIST_ID", q1);
+        map.put("SELECT * FROM ARTIST WHERE ARTIST_ID = #bind($id)", q2);
+        map.put("UPDATE ARTIST SET ARTIST_NAME = #bind($newName) "
+                + "WHERE ARTIST_NAME = #bind($oldName)", q3);
+
+        return new SQLTemplateCustomizer(map, dbAdapter);
+    }
+}

Modified: 
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseModule.java
URL: 
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseModule.java?rev=1126190&r1=1126189&r2=1126190&view=diff
==============================================================================
--- 
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseModule.java
 (original)
+++ 
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseModule.java
 Sun May 22 19:26:59 2011
@@ -80,8 +80,8 @@ public class ServerCaseModule implements
                 ServerCaseBatchQueryBuilderFactoryProvider.class);
         binder.bind(DataChannelInterceptor.class).to(
                 ServerCaseDataChannelInterceptor.class);
-        binder.bind(SQLTemplateCustomizer.class).toProviderInstance(
-                new CayenneResourcesSQLTemplateCustomizerProvider(resources));
+        binder.bind(SQLTemplateCustomizer.class).toProvider(
+                SQLTemplateCustomizerProvider.class);
 
         // test-scoped objects
         binder.bind(EntityResolver.class).toProvider(

Modified: 
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/util/SQLTemplateCustomizer.java
URL: 
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/util/SQLTemplateCustomizer.java?rev=1126190&r1=1126189&r2=1126190&view=diff
==============================================================================
--- 
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/util/SQLTemplateCustomizer.java
 (original)
+++ 
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/util/SQLTemplateCustomizer.java
 Sun May 22 19:26:59 2011
@@ -32,8 +32,10 @@ public class SQLTemplateCustomizer {
     protected DbAdapter adapter;
     protected Map<String, Map<String, String>> sqlMap;
 
-    public SQLTemplateCustomizer(Map<String, Map<String, String>> sqlMap) {
+    public SQLTemplateCustomizer(Map<String, Map<String, String>> sqlMap,
+            DbAdapter adapter) {
         this.sqlMap = sqlMap;
+        this.adapter = adapter;
     }
 
     /**
@@ -56,11 +58,4 @@ public class SQLTemplateCustomizer {
         return template;
     }
 
-    public DbAdapter getAdapter() {
-        return adapter;
-    }
-
-    public void setAdapter(DbAdapter adapter) {
-        this.adapter = adapter;
-    }
 }

Modified: 
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/spring-test-resources.xml
URL: 
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/spring-test-resources.xml?rev=1126190&r1=1126189&r2=1126190&view=diff
==============================================================================
--- 
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/spring-test-resources.xml
 (original)
+++ 
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/resources/spring-test-resources.xml
 Sun May 22 19:26:59 2011
@@ -204,12 +204,4 @@
                        </map>
                </constructor-arg>
        </bean>
-       
-       <!-- ======================================= -->
-       <!-- SQLTemplate Customizer (external reference) -->
-       <!-- ======================================= -->
-       <bean id="SQLTemplateCustomizer" 
class="org.apache.cayenne.unit.SpringResourceFactory">
-               
<constructor-arg><value>dml/unit.util.SQLTemplateCustomizer.xml</value>
-               </constructor-arg>
-       </bean>
 </beans>


Reply via email to