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 2006/07/18 04:27:26 UTC

svn commit: r422944 - in /incubator/cayenne/main/trunk/cayenne/cayenne-java/src: cayenne/java/org/apache/cayenne/map/MapLoader.java tests/java/org/apache/cayenne/project/ApplicationProjectUpgradeTst.java

Author: aadamchik
Date: Mon Jul 17 19:27:26 2006
New Revision: 422944

URL: http://svn.apache.org/viewvc?rev=422944&view=rev
Log:
fixing adapter key conversion

Modified:
    incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/apache/cayenne/map/MapLoader.java
    incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/java/org/apache/cayenne/project/ApplicationProjectUpgradeTst.java

Modified: incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/apache/cayenne/map/MapLoader.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/apache/cayenne/map/MapLoader.java?rev=422944&r1=422943&r2=422944&view=diff
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/apache/cayenne/map/MapLoader.java (original)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/apache/cayenne/map/MapLoader.java Mon Jul 17 19:27:26 2006
@@ -482,7 +482,7 @@
     }
 
     private void processStartQuerySQL(Attributes atts) {
-        this.sqlKey = atts.getValue("", "adapter-class");
+        this.sqlKey = convertClassNameFromV1_2(atts.getValue("", "adapter-class"));
     }
 
     private void processStartObjEntity(Attributes atts) {
@@ -704,9 +704,8 @@
                 builder = SelectQueryBuilder.class.getName();
             }
             // upgrade from v. <= 1.2
-            else if (builder.startsWith(_1_2_PACKAGE_PREFIX)) {
-                builder = _2_0_PACKAGE_PREFIX
-                        + builder.substring(_1_2_PACKAGE_PREFIX.length());
+            else {
+                builder = convertClassNameFromV1_2(builder);
             }
         }
 
@@ -906,5 +905,21 @@
 
     private void resetCurrentTag() {
         currentTag = null;
+    }
+    
+    /**
+     * @since 2.0
+     */
+    String convertClassNameFromV1_2(String name) {
+        if (name == null) {
+            return null;
+        }
+
+        // upgrade from v. <= 1.2
+        if (name.startsWith(_1_2_PACKAGE_PREFIX)) {
+            return _2_0_PACKAGE_PREFIX + name.substring(_1_2_PACKAGE_PREFIX.length());
+        }
+
+        return name;
     }
 }

Modified: incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/java/org/apache/cayenne/project/ApplicationProjectUpgradeTst.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/java/org/apache/cayenne/project/ApplicationProjectUpgradeTst.java?rev=422944&r1=422943&r2=422944&view=diff
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/java/org/apache/cayenne/project/ApplicationProjectUpgradeTst.java (original)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-java/src/tests/java/org/apache/cayenne/project/ApplicationProjectUpgradeTst.java Mon Jul 17 19:27:26 2006
@@ -69,7 +69,10 @@
 import org.apache.cayenne.conf.DriverDataSourceFactory;
 import org.apache.cayenne.conf.RuntimeLoadDelegate;
 import org.apache.cayenne.conf.RuntimeSaveDelegate;
+import org.apache.cayenne.dba.db2.DB2Adapter;
 import org.apache.cayenne.dba.mysql.MySQLAdapter;
+import org.apache.cayenne.map.DataMap;
+import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.unit.CayenneTestCase;
 import org.apache.cayenne.unit.CayenneTestResources;
 import org.apache.cayenne.util.Util;
@@ -112,8 +115,15 @@
         assertNotNull(dn.getAdapter());
         assertEquals(MySQLAdapter.class.getName(), dn.getAdapter().getClass().getName());
         assertEquals(DriverDataSourceFactory.class.getName(), dn.getDataSourceFactory());
+
+        DataMap testmap = dd.getMap("testmap");
+        assertNotNull(testmap);
+        SQLTemplate query = (SQLTemplate) testmap.getQuery("NonSelectingQuery");
+        assertNotNull(query);
+        assertNotNull(query.getCustomTemplate(DB2Adapter.class.getName()));
+        assertNull(query.getCustomTemplate("invalid"));
     }
-    
+
     public void testUpgradeFrom1_2() throws Exception {
 
         // copy files first as upgrade is done in-place
@@ -150,6 +160,13 @@
         assertNotNull(dn.getAdapter());
         assertEquals(MySQLAdapter.class.getName(), dn.getAdapter().getClass().getName());
         assertEquals(DriverDataSourceFactory.class.getName(), dn.getDataSourceFactory());
+        
+        DataMap testmap = dd.getMap("testmap");
+        assertNotNull(testmap);
+        SQLTemplate query = (SQLTemplate) testmap.getQuery("NonSelectingQuery");
+        assertNotNull(query);
+        assertNotNull(query.getCustomTemplate(DB2Adapter.class.getName()));
+        assertNull(query.getCustomTemplate("invalid"));
     }
 
     // coped from the Modeler ProjectAction.