From: <hib...@li...> - 2006-03-03 10:51:18
|
Author: max...@jb... Date: 2006-03-03 05:51:04 -0500 (Fri, 03 Mar 2006) New Revision: 9537 Modified: trunk/HibernateExt/tools/src/java/org/hibernate/cfg/JDBCBinder.java trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/DefaultReverseEngineeringStrategy.java trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/DelegatingReverseEngineeringStrategy.java trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/JDBCReader.java trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/OverrideBinder.java trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/OverrideRepository.java trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/ReverseEngineeringStrategy.java trunk/HibernateExt/tools/src/java/org/hibernate/hibernate-reverse-engineering-3.0.dtd trunk/HibernateExt/tools/src/java/org/hibernate/tool/ant/JDBCConfigurationTask.java trunk/HibernateExt/tools/src/test/org/hibernate/tool/JDBCMetaDataBinderTestCase.java trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/GenerateFromJDBCTest.java trunk/HibernateExt/tools/src/test/org/hibernate/tool/test/jdbc2cfg/OverrideBinderTest.java trunk/HibernateExt/tools/src/testsupport/NoopReverseEngineeringStrategy.java trunk/HibernateExt/tools/src/testsupport/seamtest-build.xml Log: HBX-613 Allow user to control initial schema selection for performance + misc Modified: trunk/HibernateExt/tools/src/java/org/hibernate/cfg/JDBCBinder.java =================================================================== --- trunk/HibernateExt/tools/src/java/org/hibernate/cfg/JDBCBinder.java 2006-03-02 23:29:33 UTC (rev 9536) +++ trunk/HibernateExt/tools/src/java/org/hibernate/cfg/JDBCBinder.java 2006-03-03 10:51:04 UTC (rev 9537) @@ -16,6 +16,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.hibernate.DuplicateMappingException; import org.hibernate.FetchMode; import org.hibernate.MappingException; import org.hibernate.cfg.reveng.DatabaseCollector; @@ -46,6 +47,7 @@ import org.hibernate.type.TypeFactory; import org.hibernate.util.JoinedIterator; import org.hibernate.util.StringHelper; +import org.jgroups.util.GetNetworkInterfaces1_4; /** @@ -146,7 +148,14 @@ rc.setDiscriminatorValue( rc.getEntityName() ); rc.setTable(table); - mappings.addClass(rc); + try { + mappings.addClass(rc); + } catch(DuplicateMappingException dme) { + // TODO: detect this and generate a "permutation" of it ? + PersistentClass class1 = mappings.getClass(dme.getName()); + Table table2 = class1.getTable(); + throw new JDBCBinderException("Duplicate class name '" + rc.getEntityName() + "' generated for '" + table + "'. Same name where generated for '" + table2 + "'"); + } mappings.addImport( rc.getEntityName(), rc.getEntityName() ); Set processed = new HashSet(); Modified: trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/DefaultReverseEngineeringStrategy.java =================================================================== --- trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/DefaultReverseEngineeringStrategy.java 2006-03-02 23:29:33 UTC (rev 9536) +++ trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/DefaultReverseEngineeringStrategy.java 2006-03-03 10:51:04 UTC (rev 9537) @@ -171,6 +171,8 @@ return AUTO_OPTIMISTICLOCK_COLUMNS.contains(column.toLowerCase())?Boolean.TRUE:Boolean.FALSE; } + public List getSchemaSelectors() { + return null; + } - } Modified: trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/DelegatingReverseEngineeringStrategy.java =================================================================== --- trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/DelegatingReverseEngineeringStrategy.java 2006-03-02 23:29:33 UTC (rev 9536) +++ trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/DelegatingReverseEngineeringStrategy.java 2006-03-03 10:51:04 UTC (rev 9537) @@ -76,5 +76,9 @@ public Boolean useColumnForOptimisticLock(TableIdentifier identifier, String column) { return delegate==null?null:delegate.useColumnForOptimisticLock(identifier, column); + } + + public List getSchemaSelectors() { + return delegate==null?null:delegate.getSchemaSelectors(); } } Modified: trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/JDBCReader.java =================================================================== --- trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/JDBCReader.java 2006-03-02 23:29:33 UTC (rev 9536) +++ trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/JDBCReader.java 2006-03-03 10:51:04 UTC (rev 9537) @@ -61,9 +61,18 @@ getMetaDataDialect().configure(provider, sec); revengStrategy.configure(provider, sec); - Set hasIndices = new HashSet(); - processTables(dbs, catalog, schema, hasIndices, progress); + Set hasIndices = new HashSet(); + List schemaSelectors = revengStrategy.getSchemaSelectors(); + if(schemaSelectors==null) { + processTables(dbs, new SchemaSelection(catalog, schema), hasIndices, progress); + } else { + for (Iterator iter = schemaSelectors.iterator(); iter.hasNext();) { + SchemaSelection selection = (SchemaSelection) iter.next(); + processTables(dbs, selection, hasIndices, progress); + } + } + Iterator tables = dbs.iterateTables(); while ( tables.hasNext() ) { Table table = (Table) tables.next(); @@ -383,16 +392,16 @@ return value.equals(tf); } - private void processTables(DatabaseCollector dbs, String catalog, String schema, Set hasIndices, ProgressListener progress) { + private void processTables(DatabaseCollector dbs, SchemaSelection schemaSelection, Set hasIndices, ProgressListener progress) { Map tableRs = null; Iterator tableIterator = null; List tables = new ArrayList(); boolean multiSchema = false; // TODO: the code below detects if the reveng is multischema'ed, but not used for anything yet. should be used to remove schema/catalog info from output if only one schema/catalog used. try { - progress.startSubTask("Finding tables in " + catalog + "." + schema); + progress.startSubTask("Finding tables in " + schemaSelection); - tableIterator = getMetaDataDialect().getTables(catalog, schema, null); + tableIterator = getMetaDataDialect().getTables(schemaSelection.getCatalogPattern(), schemaSelection.getSchemaPattern(), schemaSelection.getTablePattern()); String[] lastQualifier = null; String[] foundQualifier = new String[2]; @@ -402,7 +411,7 @@ String schemaName = (String) tableRs.get("TABLE_SCHEM"); String catalogName = (String) tableRs.get("TABLE_CAT"); - TableIdentifier ti = new TableIdentifier(catalogName, schemaName, tableName); + TableIdentifier ti = new TableIdentifier(catalogName, schemaName, tableName); if(revengStrategy.excludeTable(ti) ) { log.debug("Table " + ti + " excluded by strategy"); continue; @@ -447,28 +456,34 @@ String comment = (String) tableRs.get("REMARKS"); String tableType = (String) tableRs.get("TABLE_TYPE"); - if ( ("TABLE".equals(tableType) || "VIEW".equals(tableType) /*|| "SYNONYM".equals(tableType) */) ) { //|| - // ("SYNONYM".equals(tableType) && isOracle() ) ) { // only on oracle ? TODO: HBX-218 - // it's a regular table or a synonym - - // ensure schema and catalogname is truly empty (especially mysql returns null schema, "" catalog) - if(schemaName!=null && schemaName.trim().length()==0) { - schemaName = null; - } - if(catalogName!=null && catalogName.trim().length()==0) { - catalogName=null; + + if(dbs.getTable(schemaName, catalogName, tableName)!=null) { + log.debug("Ignoring " + tableName + " since it has already been processed"); + continue; + } else { + if ( ("TABLE".equals(tableType) || "VIEW".equals(tableType) /*|| "SYNONYM".equals(tableType) */) ) { //|| + // ("SYNONYM".equals(tableType) && isOracle() ) ) { // only on oracle ? TODO: HBX-218 + // it's a regular table or a synonym + + // ensure schema and catalogname is truly empty (especially mysql returns null schema, "" catalog) + if(schemaName!=null && schemaName.trim().length()==0) { + schemaName = null; + } + if(catalogName!=null && catalogName.trim().length()==0) { + catalogName=null; + } + log.debug("Adding table " + tableName + " of type " + tableType); + progress.startSubTask("Found " + tableName); + Table table = dbs.addTable(quote(getSchemaForModel(schemaName)), getCatalogForModel(catalogName), quote(tableName)); + table.setComment(comment); + if(tableType.equals("TABLE")) { + hasIndices.add(table); + } } - log.debug("Adding table " + tableName + " of type " + tableType); - progress.startSubTask("Found " + tableName); - Table table = dbs.addTable(quote(getSchemaForModel(schemaName)), getCatalogForModel(catalogName), quote(tableName)); - table.setComment(comment); - if(tableType.equals("TABLE")) { - hasIndices.add(table); + else { + log.debug("Ignoring table " + tableName + " of type " + tableType); } } - else { - log.debug("Ignoring table " + tableName + " of type " + tableType); - } } } @@ -757,18 +772,23 @@ return column; } + static class NoopProgressListener implements ProgressListener { + public void startSubTask(String name) { // noop }; + } + } + public DatabaseCollector readDatabaseSchema(DatabaseCollector dbs, String catalog, String schema) { - return readDatabaseSchema(dbs, catalog, schema, new ProgressListener() { - public void startSubTask(String name) { } - }); + return readDatabaseSchema(dbs, catalog, schema, new NoopProgressListener()); } + /** If catalog is equal to defaultCatalog then we return null so it will be null in the generated code. */ protected String getCatalogForModel(String catalog) { if(catalog==null) return null; if(catalog.equals(defaultCatalog)) return null; return catalog; } + /** If catalog is equal to defaultSchema then we return null so it will be null in the generated code. */ protected String getSchemaForModel(String schema) { if(schema==null) return null; if(schema.equals(defaultSchema)) return null; Modified: trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/OverrideBinder.java =================================================================== --- trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/OverrideBinder.java 2006-03-02 23:29:33 UTC (rev 9536) +++ trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/OverrideBinder.java 2006-03-03 10:51:04 UTC (rev 9537) @@ -24,28 +24,50 @@ Element rootElement = doc.getRootElement(); - Element element = rootElement.element("type-mapping"); + Element element; + List elements; + + elements = rootElement.elements("schema-selection"); + bindSchemaSelection(elements, repository); + element = rootElement.element("type-mapping"); + if(element!=null) { bindTypeMappings(element, repository); } - List filters = rootElement.elements("table-filter"); - bindTableFilters(filters, repository); + elements = rootElement.elements("table-filter"); + bindTableFilters(elements, repository); + List tables = rootElement.elements("table"); bindTables(tables, repository); } + private static void bindSchemaSelection(List selection, OverrideRepository repository) { + Iterator iterator = selection.iterator(); + + while ( iterator.hasNext() ) { + Element element = (Element) iterator.next(); + SchemaSelection schemaSelection = new SchemaSelection(); + schemaSelection.setCatalogPattern( element.attributeValue("catalog") ); + schemaSelection.setSchemaPattern( element.attributeValue("schema") ); + schemaSelection.setTablePattern( element.attributeValue("table") ); + + repository.addSchemaSelection(schemaSelection); + + } + } + private static void bindTables(List tables, OverrideRepository repository) { Iterator iterator = tables.iterator(); while ( iterator.hasNext() ) { Element element = (Element) iterator.next(); Table table = new Table(); - table.setCatalog( repository.getCatalog(element.attributeValue("catalog")) ); - table.setSchema( repository.getSchema(element.attributeValue("schema")) ); + table.setCatalog( element.attributeValue("catalog") ); + table.setSchema( element.attributeValue("schema") ); table.setName( element.attributeValue("name") ); String wantedClassName = element.attributeValue("class"); @@ -99,8 +121,8 @@ if(foreignTableName!=null) { Table foreignTable = new Table(); foreignTable.setName(foreignTableName); - foreignTable.setCatalog(getCatalog(repository,element.attributeValue( "foreign-catalog"), table.getCatalog()) ); - foreignTable.setSchema(getSchema(repository,element.attributeValue( "foreign-schema"), table.getSchema()) ); + foreignTable.setCatalog(getValue(element.attributeValue( "foreign-catalog"), table.getCatalog()) ); + foreignTable.setSchema(getValue(element.attributeValue( "foreign-schema"), table.getSchema()) ); List localColumns = new ArrayList(); List foreignColumns = new ArrayList(); @@ -127,22 +149,14 @@ } - private static String getSchema(OverrideRepository repository, String first, String second) { + private static String getValue(String first, String second) { if(first==null) { - return repository.getSchema(second); + return second; } else { return first; } } - private static String getCatalog(OverrideRepository repository, String first, String second) { - if(first==null) { - return repository.getCatalog(second); - } else { - return first; - } - } - private static List bindColumns(List columns, Table table, OverrideRepository repository) { Iterator iterator = columns.iterator(); List columnNames = new ArrayList(); @@ -178,8 +192,8 @@ Table foreignTable = new Table(); foreignTable.setName(foreignTableName); - foreignTable.setCatalog(getCatalog(repository,element.attributeValue( "foreign-catalog"),table.getCatalog()) ); - foreignTable.setSchema(getSchema(repository, element.attributeValue( "foreign-schema"), table.getSchema()) ); + foreignTable.setCatalog(getValue(element.attributeValue( "foreign-catalog"),table.getCatalog()) ); + foreignTable.setSchema(getValue(element.attributeValue( "foreign-schema"), table.getSchema()) ); String foreignColumnName = element.attributeValue("foreign-column"); if(foreignColumnName!=null) { Modified: trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/OverrideRepository.java =================================================================== --- trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/OverrideRepository.java 2006-03-02 23:29:33 UTC (rev 9536) +++ trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/OverrideRepository.java 2006-03-03 10:51:04 UTC (rev 9537) @@ -54,14 +54,18 @@ final private Map tableToClassName; - private String defaultCatalog; - private String defaultSchema; + final private List schemaSelections; + //private String defaultCatalog; + //private String defaultSchema; - public OverrideRepository(String defaultCatalog, String defaultSchema) { - this.defaultCatalog = null; - this.defaultSchema = null; + + + + public OverrideRepository() { + //this.defaultCatalog = null; + //this.defaultSchema = null; xmlHelper = new XMLHelper(); entityResolver = XMLHelper.DEFAULT_DTD_RESOLVER; typeMappings = new HashMap(); @@ -75,6 +79,7 @@ primaryKeyColumnsForTable = new HashMap(); tableToClassName = new HashMap(); excludedColumns = new HashSet(); + schemaSelections = new ArrayList(); } public OverrideRepository addFile(File xmlFile) { @@ -253,6 +258,14 @@ return excludedColumns.contains(TABLECOLUMN_KEY_FACTORY.newInstance(identifier, columnName)); } + public List getSchemaSelectors() { + if(schemaSelections.isEmpty()) { + return super.getSchemaSelectors(); + } else { + return schemaSelections; + } + } + public String columnToHibernateTypeName(TableIdentifier table, String columnName, int sqlType, int length, int precision, int scale, boolean nullable) { String result = null; String location = ""; @@ -409,12 +422,16 @@ } - public String getCatalog(String string) { + /*public String getCatalog(String string) { return string==null?defaultCatalog:string; - } + }*/ - public String getSchema(String string) { + /*public String getSchema(String string) { return string==null?defaultSchema:string; + }*/ + + public void addSchemaSelection(SchemaSelection schemaSelection) { + schemaSelections.add(schemaSelection); } Modified: trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/ReverseEngineeringStrategy.java =================================================================== --- trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/ReverseEngineeringStrategy.java 2006-03-02 23:29:33 UTC (rev 9536) +++ trunk/HibernateExt/tools/src/java/org/hibernate/cfg/reveng/ReverseEngineeringStrategy.java 2006-03-03 10:51:04 UTC (rev 9537) @@ -99,5 +99,11 @@ public Boolean useColumnForOptimisticLock(TableIdentifier identifier, String column); + /** return list of SchemaSelctors + * + * @return null + */ + public List getSchemaSelectors(); + } Modified: trunk/HibernateExt/tools/src/java/org/hibernate/hibernate-reverse-engineering-3.0.dtd =================================================================== --- trunk/HibernateExt/tools/src/java/org/hibernate/hibernate-reverse-engineering-3.0.dtd 2006-03-02 23:29:33 UTC (rev 9536) +++ trunk/HibernateExt/tools/src/java/org/hibernate/hibernate-reverse-engineering-3.0.dtd 2006-03-03 10:51:04 UTC (rev 9537) @@ -16,7 +16,7 @@ --> <!ELEMENT hibernate-reverse-engineering ( - type-mapping?, + (schema-selection)*, type-mapping?, (table-filter)*, table*)> <!ELEMENT type-mapping ( sql-type+ ) > @@ -31,6 +31,16 @@ <!ATTLIST sql-type not-null (true|false) #IMPLIED > <!ATTLIST sql-type hibernate-type CDATA #REQUIRED > +<!-- Used to target the selection from the database. +Each schema-selection can be viewed as a "call" to DatabaseMetaData.getTables() --> +<!ELEMENT schema-selection EMPTY> +<!-- Catalog pattern for the selection --> +<!ATTLIST schema-selection catalog CDATA #IMPLIED > +<!-- Schema for the for the selection --> +<!ATTLIST schema-selection schema CDATA #IMPLIED > +<!-- Table pattern for the selection --> +<!ATTLIST schema-selection table CDATA #IMPLIED > + <!ELEMENT table (primary-key?, column*, foreign-key*) > <!-- Catalog for the table --> <!ATTLIST table catalog CDATA #IMPLIED > Modified: trunk/HibernateExt/tools/src/java/org/hibernate/tool/ant/JDBCConfigurationTask.java =================================================================== --- trunk/HibernateExt/tools/src/java/org/hibernate/tool/ant/JDBCConfigurationTask.java 2006-03-02 23:29:33 UTC (rev 9536) +++ trunk/HibernateExt/tools/src/java/org/hibernate/tool/ant/JDBCConfigurationTask.java 2006-03-03 10:51:04 UTC (rev 9537) @@ -56,7 +56,7 @@ if(revengFiles!=null) { Settings settings = configuration.buildSettings(); - OverrideRepository or = new OverrideRepository(null,null); + OverrideRepository or = new OverrideRepository(); String[] fileNames = revengFiles.list(); for (int i = 0; i < fileNames.length; i++) { Modified: trunk/HibernateExt/tools/src/test/org/hibernate/tool/JDBCMetaDataBinderTestCase.java =================================================================== --- trunk/HibernateExt/tools/src/test/org/hibernate/tool/JDBCMetaDataBinderTestCase.java 2006-03-02 23:29:33 UTC (rev 9536) +++ trunk/HibernateExt/tools/src/test/org/hibernate/tool/JDBCMetaDataBinderTestCase.java 2006-03-03 10:51:04 UTC (rev 9537) @@ -215,5 +215,23 @@ } return null; } - + + protected Table getTable(Configuration cfg, String schemaName, String tabName) { + Iterator iter = cfg.getTableMappings(); + while(iter.hasNext() ) { + Table table = (Table) iter.next(); + if(table.getName().equals(tabName) && safeEquals(schemaName, table.getSchema())) { + return table; + } + } + return null; + } + + private boolean safeEquals(Object value, Object tf) { + if(value==tf) return true; + if(value==null) return false; + return value.equals(tf); + } + + } Modified: trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/GenerateFromJDBCTest.java =================================================================== --- trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/GenerateFromJDBCTest.java 2006-03-02 23:29:33 UTC (rev 9536) +++ trunk/HibernateExt/tools/src/test/org/hibernate/tool/hbm2x/GenerateFromJDBCTest.java 2006-03-03 10:51:04 UTC (rev 9537) @@ -32,10 +32,6 @@ super("genfromjdbc"); } - protected void tearDown() throws Exception { - //if(outputdir!=null) TestHelper.deleteDir(outputdir); - super.tearDown(); - } protected String[] getCreateSQL() { Modified: trunk/HibernateExt/tools/src/test/org/hibernate/tool/test/jdbc2cfg/OverrideBinderTest.java =================================================================== --- trunk/HibernateExt/tools/src/test/org/hibernate/tool/test/jdbc2cfg/OverrideBinderTest.java 2006-03-02 23:29:33 UTC (rev 9536) +++ trunk/HibernateExt/tools/src/test/org/hibernate/tool/test/jdbc2cfg/OverrideBinderTest.java 2006-03-03 10:51:04 UTC (rev 9537) @@ -6,6 +6,7 @@ import java.sql.Types; import java.util.Iterator; +import java.util.List; import java.util.Map; import junit.framework.Test; @@ -19,6 +20,7 @@ import org.hibernate.cfg.reveng.OverrideRepository; import org.hibernate.cfg.reveng.ReverseEngineeringStrategy; import org.hibernate.cfg.reveng.SQLTypeMapping; +import org.hibernate.cfg.reveng.SchemaSelection; import org.hibernate.cfg.reveng.TableFilter; import org.hibernate.cfg.reveng.TableIdentifier; import org.hibernate.mapping.Column; @@ -38,6 +40,7 @@ private static final String OVERRIDETEST_REVENG_XML = "org/hibernate/tool/test/jdbc2cfg/overridetest.reveng.xml"; private static final String TEST_REVENG_XML = "org/hibernate/tool/test/jdbc2cfg/test.reveng.xml"; private static final String DOC_REVENG_XML = "org/hibernate/tool/test/jdbc2cfg/docexample.reveng.xml"; + private static final String SCHEMA_REVENG_XML = "org/hibernate/tool/test/jdbc2cfg/schemaselection.reveng.xml"; public void testReadTypeMappings() { OverrideRepository or = buildOverrideRepository(); @@ -79,9 +82,43 @@ assertEquals("big_decimal", repository.columnToHibernateTypeName(null, "SALARY", Types.NUMERIC, SQLTypeMapping.UNKNOWN_LENGTH, 15, SQLTypeMapping.UNKNOWN_SCALE, true) ); assertEquals("java.lang.Long", repository.columnToHibernateTypeName(null, "AGE", Types.NUMERIC, SQLTypeMapping.UNKNOWN_LENGTH, 3, SQLTypeMapping.UNKNOWN_SCALE, true) ); - } + + public void testSchemaSelection() { + OverrideRepository or = buildOverrideRepository(); + + or.addResource(SCHEMA_REVENG_XML); + ReverseEngineeringStrategy repository = or.getReverseEngineeringStrategy(new DefaultReverseEngineeringStrategy()); + List schemaSelectors = repository.getSchemaSelectors(); + + assertNotNull(schemaSelectors); + assertEquals(4,schemaSelectors.size()); + + SchemaSelection ss; + ss = (SchemaSelection) schemaSelectors.get(0); + assertEquals(null,ss.getCatalogPattern()); + assertEquals(null,ss.getSchemaPattern()); + assertEquals(null,ss.getTablePattern()); + + ss = (SchemaSelection) schemaSelectors.get(1); + assertEquals(null,ss.getCatalogPattern()); + assertEquals("OVRTEST",ss.getSchemaPattern()); + assertEquals(null,ss.getTablePattern()); + + ss = (SchemaSelection) schemaSelectors.get(2); + assertEquals("UBERCATALOG",ss.getCatalogPattern()); + assertEquals("OVRTEST",ss.getSchemaPattern()); + assertEquals(null,ss.getTablePattern()); + + ss = (SchemaSelection) schemaSelectors.get(3); + assertEquals("PUBLIC.*",ss.getCatalogPattern()); + assertEquals("OVRTEST",ss.getSchemaPattern()); + assertEquals(".*",ss.getTablePattern()); + + } + + static Settings settings; private OverrideRepository buildOverrideRepository() { @@ -91,7 +128,7 @@ }.buildSettings(Environment.getProperties()); } //return new OverrideRepository(settings.getDefaultCatalogName(),settings.getDefaultSchemaName()); - return new OverrideRepository(null,null); + return new OverrideRepository(); } public void testColumnTypeMappings() { @@ -349,7 +386,7 @@ protected void configure(JDBCMetaDataConfiguration cfg) { super.configure(cfg); Settings s = cfg.buildSettings(); - OverrideRepository or = new OverrideRepository(null,null); + OverrideRepository or = new OverrideRepository(); or.addResource(OVERRIDETEST_REVENG_XML); cfg.setReverseEngineeringStrategy(or.getReverseEngineeringStrategy(new DefaultReverseEngineeringStrategy() ) ); } Modified: trunk/HibernateExt/tools/src/testsupport/NoopReverseEngineeringStrategy.java =================================================================== --- trunk/HibernateExt/tools/src/testsupport/NoopReverseEngineeringStrategy.java 2006-03-02 23:29:33 UTC (rev 9536) +++ trunk/HibernateExt/tools/src/testsupport/NoopReverseEngineeringStrategy.java 2006-03-03 10:51:04 UTC (rev 9537) @@ -99,4 +99,9 @@ // TODO Auto-generated method stub return false; } + + public List getSchemaSelectors() { + // TODO Auto-generated method stub + return null; + } } Modified: trunk/HibernateExt/tools/src/testsupport/seamtest-build.xml =================================================================== --- trunk/HibernateExt/tools/src/testsupport/seamtest-build.xml 2006-03-02 23:29:33 UTC (rev 9536) +++ trunk/HibernateExt/tools/src/testsupport/seamtest-build.xml 2006-03-03 10:51:04 UTC (rev 9537) @@ -40,6 +40,7 @@ drop table ISSUE if exists; create table ISSUE ( ID int not null, DATETIME timestamp, TEXT varchar(200), USER varchar(30), primary key (ID) ); CREATE TABLE comment ( id int not null, issue_id int not null, datetime timestamp, text varchar(200), user varchar(30), primary key (id), constraint issue_comments foreign key (issue_id) references ISSUE ); + SHUTDOWN; </sql> </target> |