You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by to...@apache.org on 2007/12/20 01:09:38 UTC

svn commit: r605751 - in /cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src: main/java/org/apache/cayenne/merge/ test/java/org/apache/cayenne/merge/

Author: torehalset
Date: Wed Dec 19 16:09:37 2007
New Revision: 605751

URL: http://svn.apache.org/viewvc?rev=605751&view=rev
Log:
fix junit problem. this test used to destroy lots of other tests.

Added:
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/merge/MergerFactoryTest.java
      - copied, changed from r605720, cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/merge/MergerFactoryTestDisabled.java
Removed:
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/merge/MergerFactoryTestDisabled.java
Modified:
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DbMerger.java

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DbMerger.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DbMerger.java?rev=605751&r1=605750&r2=605751&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DbMerger.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/merge/DbMerger.java Wed Dec 19 16:09:37 2007
@@ -53,6 +53,10 @@
 public class DbMerger {
 
     private MergerFactory factory;
+    
+    public boolean includeTableName(String tableName){
+        return true;
+    }
 
     /**
      * Create and return a {@link List} of {@link MergerToken}s to alter the given
@@ -89,6 +93,10 @@
 
             for (DbEntity dbEntity : dataMap.getDbEntities()) {
                 String tableName = dbEntity.getName();
+                
+                if(!includeTableName(tableName)){
+                    continue;
+                }
 
                 // look for table
                 DbEntity detectedEntity = findDbEntity(detectedDataMap, tableName);
@@ -108,11 +116,14 @@
 
             // drop table
             // TODO: support drop table. currently, too many tables are marked for drop
-            /*
-             * for (Iterator it = dbEntityToDropByName.values().iterator(); it.hasNext();) {
-             * DbEntity e = (DbEntity) it.next();
-             * tokens.addToken(factory.createDropTable(e)); }
-             */
+            for (DbEntity e : dbEntityToDropByName.values()) {
+                
+                if(!includeTableName(e.getName())){
+                    continue;
+                }
+                
+                tokens.add(factory.createDropTableToDb(e));
+            }
 
         }
         catch (SQLException e) {

Copied: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/merge/MergerFactoryTest.java (from r605720, cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/merge/MergerFactoryTestDisabled.java)
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/merge/MergerFactoryTest.java?p2=cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/merge/MergerFactoryTest.java&p1=cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/merge/MergerFactoryTestDisabled.java&r1=605720&r2=605751&rev=605751&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/merge/MergerFactoryTestDisabled.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/merge/MergerFactoryTest.java Wed Dec 19 16:09:37 2007
@@ -23,6 +23,7 @@
 import java.sql.Statement;
 import java.sql.Types;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 import org.apache.cayenne.CayenneDataObject;
@@ -38,35 +39,46 @@
 import org.apache.cayenne.map.ObjAttribute;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.unit.CayenneCase;
-import org.apache.cayenne.util.Util;
 
-public class MergerFactoryTestDisabled extends CayenneCase {
+public class MergerFactoryTest extends CayenneCase {
 
     private DataNode node;
     private DataMap map;
 
+    private List<String> tableNames = Arrays.asList("ARTIST", "PAINTING", "NEW_TABLE");
+
+    public DbMerger createMerger() {
+        return new DbMerger() {
+
+            @Override
+            public boolean includeTableName(String tableName) {
+                return tableNames.contains(tableName.toUpperCase());
+            }
+        };
+    }
+
     @Override
     protected void setUp() throws Exception {
         super.setUp();
 
+        // getAccessStack().dropSchema();
+        // getAccessStack().dropPKSupport();
+
         deleteTestData();
         createTestData("testArtists");
         node = getDomain().getDataNodes().iterator().next();
         map = getDomain().getMap("testmap");
 
-        // clone the DataMap so that we can manipulate it without worries
-        map = (DataMap) Util.cloneViaSerialization(map);
-
         filterDataMap(node, map);
 
-        DbMerger merger = new DbMerger();
+        DbMerger merger = createMerger();
         List<MergerToken> tokens = merger.createMergeTokens(node, map);
         execute(map, node, tokens);
 
         assertTokensAndExecute(node, map, 0, 0);
     }
 
-    public void XXtestAddAndDropColumnToDb() throws Exception {
+    public void testAddAndDropColumnToDb() throws Exception {
         DbEntity dbEntity = map.getDbEntity("PAINTING");
         assertNotNull(dbEntity);
 
@@ -86,7 +98,7 @@
         assertTokensAndExecute(node, map, 0, 0);
     }
 
-    public void XXtestChangeVarcharSizeToDb() throws Exception {
+    public void testChangeVarcharSizeToDb() throws Exception {
         DbEntity dbEntity = map.getDbEntity("PAINTING");
         assertNotNull(dbEntity);
 
@@ -115,7 +127,7 @@
         assertTokensAndExecute(node, map, 0, 0);
     }
 
-    public void XXtestMultipleTokensToDb() throws Exception {
+    public void testMultipleTokensToDb() throws Exception {
         DbEntity dbEntity = map.getDbEntity("PAINTING");
         assertNotNull(dbEntity);
 
@@ -195,10 +207,12 @@
         assertNull(map.getObjEntity(objEntity.getName()));
         assertNull(map.getDbEntity(dbEntity.getName()));
         assertFalse(map.getDbEntities().contains(dbEntity));
+
+        assertTokensAndExecute(node, map, 1, 0);
         assertTokensAndExecute(node, map, 0, 0);
     }
 
-    public void XXtestAddForeignKeyWithTable() throws Exception {
+    public void testAddForeignKeyWithTable() throws Exception {
         dropTableIfPresent(node, "NEW_TABLE");
 
         assertTokensAndExecute(node, map, 0, 0);
@@ -259,10 +273,12 @@
         // assertNull(map.getObjEntity(objEntity.getName()));
         assertNull(map.getDbEntity(dbEntity.getName()));
         assertFalse(map.getDbEntities().contains(dbEntity));
+        
+        assertTokensAndExecute(node, map, 1, 0);
         assertTokensAndExecute(node, map, 0, 0);
     }
 
-    public void XXtestAddForeignKeyAfterTable() throws Exception {
+    public void testAddForeignKeyAfterTable() throws Exception {
         dropTableIfPresent(node, "NEW_TABLE");
 
         assertTokensAndExecute(node, map, 0, 0);
@@ -326,6 +342,8 @@
         // assertNull(map.getObjEntity(objEntity.getName()));
         assertNull(map.getDbEntity(dbEntity.getName()));
         assertFalse(map.getDbEntities().contains(dbEntity));
+        
+        assertTokensAndExecute(node, map, 1, 0);
         assertTokensAndExecute(node, map, 0, 0);
     }
 
@@ -334,7 +352,7 @@
             DataMap map,
             int expectedToDb,
             int expectedToModel) throws Exception {
-        DbMerger merger = new DbMerger();
+        DbMerger merger = createMerger();
         List<MergerToken> tokens = merger.createMergeTokens(node, map);
 
         assertTokens(tokens, expectedToDb, expectedToModel);