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