assertEquals("[Table[name=dependency,type=TABLE,remarks=null], "
+ "Table[name=dependency_groupId,type=TABLE,remarks=null], "
+ "Table[name=dependency_artifactId,type=TABLE,remarks=null], "
+ "Table[name=dependency_version,type=TABLE,remarks=null], "
+ "Table[name=dependency_scope,type=TABLE,remarks=null]]", Arrays.toString(schema.getTables()));
Table dependencyTable = schema.getTableByName("dependency");
assertEquals(
"[Column[name=id,columnNumber=0,type=INTEGER,nullable=false,nativeType=Auto-generated primary key,columnSize=null]]",
Arrays.toString(dependencyTable.getColumns()));
List<Object[]> dependencyData = dc
.materializeMainSchemaTable(dependencyTable, dependencyTable.getColumns(), -1).toObjectArrays();
assertEquals(11, dependencyData.size());
assertEquals("[1]", Arrays.toString(dependencyData.get(0)));
assertEquals("[11]", Arrays.toString(dependencyData.get(10)));
Relationship relationship = schema.getTableByName("dependency_groupId").getRelationships()[0];
assertEquals(
"Relationship[primaryTable=dependency,primaryColumns=[id],foreignTable=dependency_groupId,foreignColumns=[dependency_id]]",
relationship.toString());
dc.flattenTables(relationship);
assertEquals("[Table[name=dependency,type=TABLE,remarks=null], "
+ "Table[name=dependency_artifactId,type=TABLE,remarks=null], "
+ "Table[name=dependency_version,type=TABLE,remarks=null], "
+ "Table[name=dependency_scope,type=TABLE,remarks=null]]", Arrays.toString(schema.getTables()));
assertEquals(
"[Column[name=id,columnNumber=0,type=INTEGER,nullable=false,nativeType=Auto-generated primary key,columnSize=null], "
+ "Column[name=groupId,columnNumber=1,type=STRING,nullable=true,nativeType=XML Text,columnSize=null]]",
Arrays.toString(dependencyTable.getColumns()));
dependencyData = dc.materializeMainSchemaTable(dependencyTable, dependencyTable.getColumns(), -1)
.toObjectArrays();
assertEquals(11, dependencyData.size());
assertEquals("[1, joda-time]", Arrays.toString(dependencyData.get(0)));
assertEquals("[11, mysql]", Arrays.toString(dependencyData.get(10)));
dc.autoFlattenTables();
assertEquals("[Table[name=dependency,type=TABLE,remarks=null]]", Arrays.toString(schema.getTables()));
assertEquals(
"[Column[name=id,columnNumber=0,type=INTEGER,nullable=false,nativeType=Auto-generated primary key,columnSize=null], "
+ "Column[name=groupId,columnNumber=1,type=STRING,nullable=true,nativeType=XML Text,columnSize=null], "
+ "Column[name=artifactId,columnNumber=2,type=STRING,nullable=true,nativeType=XML Text,columnSize=null], "
+ "Column[name=version,columnNumber=3,type=STRING,nullable=true,nativeType=XML Text,columnSize=null], "
+ "Column[name=scope,columnNumber=4,type=STRING,nullable=true,nativeType=XML Text,columnSize=null]]",
Arrays.toString(dependencyTable.getColumns()));
dependencyData = dc.materializeMainSchemaTable(dependencyTable, dependencyTable.getColumns(), -1)
.toObjectArrays();
assertEquals(11, dependencyData.size());
assertEquals("[1, joda-time, joda-time, 1.5.2, compile]", Arrays.toString(dependencyData.get(0)));
assertEquals("[11, mysql, mysql-connector-java, 5.1.6, test]", Arrays.toString(dependencyData.get(10)));
}