use of org.apache.cayenne.dbsync.reverse.dbimport.Schema in project cayenne by apache.
the class DbImportConfig method toReverseEngineering.
public ReverseEngineering toReverseEngineering() {
final ReverseEngineering reverseEngineering = new ReverseEngineering();
reverseEngineering.setSkipRelationshipsLoading(skipRelationshipsLoading);
reverseEngineering.setSkipPrimaryKeyLoading(skipPrimaryKeyLoading);
reverseEngineering.setForceDataMapCatalog(forceDataMapCatalog);
reverseEngineering.setForceDataMapSchema(forceDataMapSchema);
reverseEngineering.setDefaultPackage(defaultPackage);
reverseEngineering.setMeaningfulPkTables(meaningfulPkTables);
reverseEngineering.setNamingStrategy(namingStrategy);
reverseEngineering.setStripFromTableNames(stripFromTableNames);
reverseEngineering.setUsePrimitives(usePrimitives);
reverseEngineering.setUseJava7Types(useJava7Types);
reverseEngineering.setTableTypes(tableTypes);
for (SchemaContainer catalog : catalogs) {
reverseEngineering.addCatalog(catalog.toCatalog());
}
for (FilterContainer schema : schemas) {
reverseEngineering.addSchema(schema.fillContainer(new Schema()));
}
fillContainer(reverseEngineering);
return reverseEngineering;
}
use of org.apache.cayenne.dbsync.reverse.dbimport.Schema in project cayenne by apache.
the class FilterContainerTest method includeTableClosure.
@Test
public void includeTableClosure() {
FilterContainer container = new FilterContainer();
container.includeTable(new Closure<IncludeTable>(container, container) {
public IncludeTable doCall(IncludeTable arg) {
assertNotNull(arg);
arg.name("table_from_closure");
return arg;
}
});
Schema schema = new Schema();
container.fillContainer(schema);
assertEquals(1, schema.getIncludeTables().size());
assertEquals("table_from_closure", schema.getIncludeTables().iterator().next().getPattern());
}
use of org.apache.cayenne.dbsync.reverse.dbimport.Schema in project cayenne by apache.
the class FiltersConfigBuilderTest method testCompact_full.
@Test
public void testCompact_full() {
ReverseEngineering engineering = new ReverseEngineering();
Catalog cat01 = new Catalog("cat_01");
Schema sch01 = new Schema("sch_01");
sch01.addIncludeTable(includeTable("t1", "c11", "c12"));
sch01.addExcludeTable(new ExcludeTable("t2"));
sch01.addIncludeProcedure(new IncludeProcedure("p1"));
sch01.addExcludeProcedure(new ExcludeProcedure("p2"));
sch01.addIncludeColumn(new IncludeColumn("c_x1"));
sch01.addExcludeColumn(new ExcludeColumn("c_x2"));
cat01.addSchema(sch01);
cat01.addIncludeTable(includeTable("t3", "c31", "c32"));
cat01.addExcludeTable(new ExcludeTable("t4"));
cat01.addIncludeProcedure(new IncludeProcedure("p3"));
cat01.addExcludeProcedure(new ExcludeProcedure("p4"));
cat01.addIncludeColumn(new IncludeColumn("c_xx1"));
cat01.addExcludeColumn(new ExcludeColumn("c_xx2"));
engineering.addCatalog(cat01);
Schema sch02 = new Schema("sch_02");
sch02.addIncludeTable(includeTable("t5", "c51", "c52"));
sch02.addExcludeTable(new ExcludeTable("t6"));
sch02.addIncludeProcedure(new IncludeProcedure("p5"));
sch02.addExcludeProcedure(new ExcludeProcedure("p6"));
sch02.addIncludeColumn(new IncludeColumn("c2_x1"));
sch02.addExcludeColumn(new ExcludeColumn("c2_x2"));
engineering.addSchema(sch02);
engineering.addIncludeTable(includeTable("t7", "c71", "c72"));
engineering.addExcludeTable(new ExcludeTable("t8"));
engineering.addIncludeProcedure(new IncludeProcedure("p7"));
engineering.addExcludeProcedure(new ExcludeProcedure("p8"));
engineering.addIncludeColumn(new IncludeColumn("c_xxx1"));
engineering.addExcludeColumn(new ExcludeColumn("c_xxx2"));
FiltersConfigBuilder builder = new FiltersConfigBuilder(engineering);
assertEquals("Original ReverseEngineering should be", "ReverseEngineering: \n" + " Catalog: cat_01\n" + " Schema: sch_01\n" + " IncludeTable: t1\n" + " IncludeColumn: c11\n" + " ExcludeColumn: c12\n" + " ExcludeTable: t2\n" + " IncludeColumn: c_x1\n" + " ExcludeColumn: c_x2\n" + " IncludeProcedure: p1\n" + " ExcludeProcedure: p2\n" + " IncludeTable: t3\n" + " IncludeColumn: c31\n" + " ExcludeColumn: c32\n" + " ExcludeTable: t4\n" + " IncludeColumn: c_xx1\n" + " ExcludeColumn: c_xx2\n" + " IncludeProcedure: p3\n" + " ExcludeProcedure: p4\n" + " Schema: sch_02\n" + " IncludeTable: t5\n" + " IncludeColumn: c51\n" + " ExcludeColumn: c52\n" + " ExcludeTable: t6\n" + " IncludeColumn: c2_x1\n" + " ExcludeColumn: c2_x2\n" + " IncludeProcedure: p5\n" + " ExcludeProcedure: p6\n" + " IncludeTable: t7\n" + " IncludeColumn: c71\n" + " ExcludeColumn: c72\n" + " ExcludeTable: t8\n" + " IncludeColumn: c_xxx1\n" + " ExcludeColumn: c_xxx2\n" + " IncludeProcedure: p7\n" + " ExcludeProcedure: p8\n", engineering.toString());
builder.compact();
assertEquals("ReverseEngineering: \n" + " Catalog: cat_01\n" + " Schema: sch_01\n" + " IncludeTable: t1\n" + " IncludeColumn: c11\n" + " IncludeColumn: c_xxx1\n" + " IncludeColumn: c_xx1\n" + " IncludeColumn: c_x1\n" + " ExcludeColumn: c12\n" + " ExcludeColumn: c_xxx2\n" + " ExcludeColumn: c_xx2\n" + " ExcludeColumn: c_x2\n" + " IncludeTable: t7\n" + " IncludeColumn: c71\n" + " IncludeColumn: c_xxx1\n" + " ExcludeColumn: c72\n" + " ExcludeColumn: c_xxx2\n" + " IncludeTable: t3\n" + " IncludeColumn: c31\n" + " IncludeColumn: c_xxx1\n" + " IncludeColumn: c_xx1\n" + " ExcludeColumn: c32\n" + " ExcludeColumn: c_xxx2\n" + " ExcludeColumn: c_xx2\n" + " ExcludeTable: t2\n" + " ExcludeTable: t8\n" + " ExcludeTable: t4\n" + " IncludeProcedure: p1\n" + " IncludeProcedure: p7\n" + " IncludeProcedure: p3\n" + " ExcludeProcedure: p2\n" + " ExcludeProcedure: p8\n" + " ExcludeProcedure: p4\n" + " Schema: sch_02\n" + " IncludeTable: t5\n" + " IncludeColumn: c51\n" + " IncludeColumn: c_xxx1\n" + " IncludeColumn: c2_x1\n" + " ExcludeColumn: c52\n" + " ExcludeColumn: c_xxx2\n" + " ExcludeColumn: c2_x2\n" + " IncludeTable: t7\n" + " IncludeColumn: c71\n" + " IncludeColumn: c_xxx1\n" + " ExcludeColumn: c72\n" + " ExcludeColumn: c_xxx2\n" + " ExcludeTable: t6\n" + " ExcludeTable: t8\n" + " IncludeProcedure: p5\n" + " IncludeProcedure: p7\n" + " ExcludeProcedure: p6\n" + " ExcludeProcedure: p8\n", engineering.toString());
}
use of org.apache.cayenne.dbsync.reverse.dbimport.Schema in project cayenne by apache.
the class FiltersConfigBuilder method compactTableFilter.
private void compactTableFilter() {
Collection<IncludeTable> engIncludeTables = engineering.getIncludeTables();
Collection<ExcludeTable> engExcludeTables = engineering.getExcludeTables();
for (Catalog catalog : engineering.getCatalogs()) {
Collection<IncludeTable> catalogIncludeTables = catalog.getIncludeTables();
Collection<ExcludeTable> catalogExcludeTables = catalog.getExcludeTables();
for (Schema schema : catalog.getSchemas()) {
schema.getIncludeTables().addAll(engIncludeTables);
schema.getIncludeTables().addAll(catalogIncludeTables);
schema.getExcludeTables().addAll(engExcludeTables);
schema.getExcludeTables().addAll(catalogExcludeTables);
}
}
for (Schema schema : engineering.getSchemas()) {
schema.getIncludeTables().addAll(engIncludeTables);
schema.getExcludeTables().addAll(engExcludeTables);
}
}
use of org.apache.cayenne.dbsync.reverse.dbimport.Schema in project cayenne by apache.
the class FiltersConfigBuilder method compactColumnFilters.
private void compactColumnFilters() {
Collection<IncludeColumn> engIncludeColumns = engineering.getIncludeColumns();
Collection<ExcludeColumn> engExcludeColumns = engineering.getExcludeColumns();
for (Catalog catalog : engineering.getCatalogs()) {
Collection<IncludeColumn> catalogIncludeColumns = catalog.getIncludeColumns();
Collection<ExcludeColumn> catalogExcludeColumns = catalog.getExcludeColumns();
for (Schema schema : catalog.getSchemas()) {
Collection<IncludeColumn> schemaIncludeColumns = schema.getIncludeColumns();
Collection<ExcludeColumn> schemaExcludeColumns = schema.getExcludeColumns();
for (IncludeTable includeTable : schema.getIncludeTables()) {
includeTable.getIncludeColumns().addAll(engIncludeColumns);
includeTable.getIncludeColumns().addAll(catalogIncludeColumns);
includeTable.getIncludeColumns().addAll(schemaIncludeColumns);
includeTable.getExcludeColumns().addAll(engExcludeColumns);
includeTable.getExcludeColumns().addAll(catalogExcludeColumns);
includeTable.getExcludeColumns().addAll(schemaExcludeColumns);
}
}
for (IncludeTable includeTable : catalog.getIncludeTables()) {
includeTable.getIncludeColumns().addAll(engIncludeColumns);
includeTable.getIncludeColumns().addAll(catalogIncludeColumns);
includeTable.getExcludeColumns().addAll(engExcludeColumns);
includeTable.getExcludeColumns().addAll(catalogExcludeColumns);
}
}
for (Schema schema : engineering.getSchemas()) {
Collection<IncludeColumn> schemaIncludeColumns = schema.getIncludeColumns();
Collection<ExcludeColumn> schemaExcludeColumns = schema.getExcludeColumns();
for (IncludeTable includeTable : schema.getIncludeTables()) {
includeTable.getIncludeColumns().addAll(engIncludeColumns);
includeTable.getIncludeColumns().addAll(schemaIncludeColumns);
includeTable.getExcludeColumns().addAll(engExcludeColumns);
includeTable.getExcludeColumns().addAll(schemaExcludeColumns);
}
}
for (IncludeTable includeTable : engineering.getIncludeTables()) {
includeTable.getIncludeColumns().addAll(engIncludeColumns);
includeTable.getExcludeColumns().addAll(engExcludeColumns);
}
}
Aggregations