use of org.apache.cayenne.dbsync.reverse.dbimport.Schema in project cayenne by apache.
the class FiltersConfigBuilderTest method testCompact_02.
@Test
public void testCompact_02() {
ReverseEngineering engineering = new ReverseEngineering();
engineering.addCatalog(new Catalog("catalogName"));
engineering.addSchema(new Schema("schemaName01"));
engineering.addSchema(new Schema("schemaName02"));
engineering.addIncludeTable(new IncludeTable("table1"));
engineering.addExcludeTable(new ExcludeTable("table2"));
engineering.addIncludeColumn(new IncludeColumn("includeColumn"));
FiltersConfigBuilder builder = new FiltersConfigBuilder(engineering);
builder.compact();
assertEquals("ReverseEngineering: \n" + " Catalog: catalogName\n" + " Schema: schemaName01\n" + " IncludeTable: table1\n" + " IncludeColumn: includeColumn\n" + " ExcludeTable: table2\n" + " Schema: schemaName02\n" + " IncludeTable: table1\n" + " IncludeColumn: includeColumn\n" + " ExcludeTable: table2\n", engineering.toString());
}
use of org.apache.cayenne.dbsync.reverse.dbimport.Schema in project cayenne by apache.
the class FiltersConfigBuilderTest method testCompact_04.
@Test
public void testCompact_04() {
ReverseEngineering engineering = new ReverseEngineering();
engineering.addSchema(new Schema("s"));
FiltersConfigBuilder builder = new FiltersConfigBuilder(engineering);
builder.compact();
assertEquals("ReverseEngineering: \n" + " Catalog: null\n" + " Schema: s\n" + " IncludeTable: null\n", engineering.toString());
}
use of org.apache.cayenne.dbsync.reverse.dbimport.Schema in project cayenne by apache.
the class FilterContainerTest method includeTableNameAndClosure.
@Test
public void includeTableNameAndClosure() {
FilterContainer container = new FilterContainer();
container.includeTable("start_name", new Closure<IncludeTable>(container, container) {
public IncludeTable doCall(IncludeTable arg) {
assertNotNull(arg);
assertEquals("start_name", arg.getPattern());
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 FiltersConfigBuilder method compactProcedureFilter.
private void compactProcedureFilter() {
Collection<IncludeProcedure> engIncludeProcedures = engineering.getIncludeProcedures();
Collection<ExcludeProcedure> engExcludeProcedures = engineering.getExcludeProcedures();
for (Catalog catalog : engineering.getCatalogs()) {
Collection<IncludeProcedure> catalogIncludeProcedures = catalog.getIncludeProcedures();
Collection<ExcludeProcedure> catalogExcludeProcedures = catalog.getExcludeProcedures();
for (Schema schema : catalog.getSchemas()) {
schema.getIncludeProcedures().addAll(engIncludeProcedures);
schema.getIncludeProcedures().addAll(catalogIncludeProcedures);
schema.getExcludeProcedures().addAll(engExcludeProcedures);
schema.getExcludeProcedures().addAll(catalogExcludeProcedures);
}
}
for (Schema schema : engineering.getSchemas()) {
schema.getIncludeProcedures().addAll(engIncludeProcedures);
schema.getExcludeProcedures().addAll(engExcludeProcedures);
}
}
use of org.apache.cayenne.dbsync.reverse.dbimport.Schema in project cayenne by apache.
the class DbLoaderContext method buildConfig.
public boolean buildConfig(DataSourceWizard connectionWizard, DbLoaderOptionsDialog dialog) {
if (dialog == null || connectionWizard == null) {
return false;
}
// Build filters
ReverseEngineering reverseEngineering = new ReverseEngineering();
reverseEngineering.addCatalog(new Catalog(dialog.getSelectedCatalog()));
reverseEngineering.addSchema(new Schema(dialog.getSelectedSchema()));
reverseEngineering.addIncludeTable(new IncludeTable(dialog.getTableIncludePattern()));
if (dialog.getTableExcludePattern() != null) {
reverseEngineering.addExcludeTable(new ExcludeTable(dialog.getTableExcludePattern()));
}
// Add here auto_pk_support table
reverseEngineering.addExcludeTable(new ExcludeTable("auto_pk_support|AUTO_PK_SUPPORT"));
reverseEngineering.addIncludeProcedure(new IncludeProcedure(dialog.getProcedureNamePattern()));
FiltersConfigBuilder filtersConfigBuilder = new FiltersConfigBuilder(reverseEngineering);
DbImportConfiguration config = new DbImportConfiguration() {
@Override
public DbLoaderDelegate createLoaderDelegate() {
return new LoaderDelegate(DbLoaderContext.this);
}
};
// Build config
DBConnectionInfo connectionInfo = connectionWizard.getConnectionInfo();
config.setAdapter(connectionWizard.getAdapter().getClass().getName());
config.setUsername(connectionInfo.getUserName());
config.setPassword(connectionInfo.getPassword());
config.setDriver(connectionInfo.getJdbcDriver());
config.setUrl(connectionInfo.getUrl());
config.getDbLoaderConfig().setFiltersConfig(filtersConfigBuilder.build());
config.setMeaningfulPkTables(dialog.getMeaningfulPk());
config.setNamingStrategy(dialog.getNamingStrategy());
config.setUsePrimitives(dialog.isUsePrimitives());
config.setUseJava7Types(dialog.isUseJava7Typed());
setConfig(config);
prepareDataMap();
return true;
}
Aggregations