Search in sources :

Example 1 with DatabaseReader

use of org.hibernate.tool.internal.reveng.reader.DatabaseReader in project jbosstools-hibernate by jbosstools.

the class ServiceImpl method collectDatabaseTables.

@Override
public Map<String, List<ITable>> collectDatabaseTables(Properties properties, IReverseEngineeringStrategy strategy, final IProgressListener progressListener) {
    StandardServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(properties).build();
    MetadataBuildingOptionsImpl metadataBuildingOptions = new MetadataBuildingOptionsImpl(serviceRegistry);
    BootstrapContextImpl bootstrapContext = new BootstrapContextImpl(serviceRegistry, metadataBuildingOptions);
    metadataBuildingOptions.setBootstrapContext(bootstrapContext);
    InFlightMetadataCollectorImpl metadataCollector = new InFlightMetadataCollectorImpl(bootstrapContext, metadataBuildingOptions);
    RevengDialect mdd = RevengDialectFactory.createMetaDataDialect(serviceRegistry.getService(JdbcServices.class).getDialect(), properties);
    RevengStrategy revengStrategy = (RevengStrategy) ((IFacade) strategy).getTarget();
    DatabaseReader reader = DatabaseReader.create(properties, revengStrategy, mdd, serviceRegistry);
    MetadataBuildingContext metadataBuildingContext = new MetadataBuildingContextRootImpl("JBoss Tools", bootstrapContext, metadataBuildingOptions, metadataCollector);
    RevengMetadataCollector revengMetadataCollector = new RevengMetadataCollector(metadataBuildingContext);
    reader.readDatabaseSchema(revengMetadataCollector);
    Map<String, List<ITable>> result = new HashMap<String, List<ITable>>();
    for (Table table : revengMetadataCollector.getTables()) {
        String qualifier = "";
        if (table.getCatalog() != null) {
            qualifier += table.getCatalog();
        }
        if (table.getSchema() != null) {
            if (!"".equals(qualifier)) {
                qualifier += ".";
            }
            qualifier += table.getSchema();
        }
        List<ITable> list = result.get(qualifier);
        if (list == null) {
            list = new ArrayList<ITable>();
            result.put(qualifier, list);
        }
        list.add(facadeFactory.createTable(table));
    }
    return result;
}
Also used : ITable(org.jboss.tools.hibernate.runtime.spi.ITable) Table(org.hibernate.mapping.Table) StandardServiceRegistryBuilder(org.hibernate.boot.registry.StandardServiceRegistryBuilder) HashMap(java.util.HashMap) MetadataBuildingOptionsImpl(org.hibernate.boot.internal.MetadataBuilderImpl.MetadataBuildingOptionsImpl) RevengMetadataCollector(org.hibernate.tool.internal.reveng.RevengMetadataCollector) MetadataBuildingContext(org.hibernate.boot.spi.MetadataBuildingContext) DummyMetadataBuildingContext(org.jboss.tools.hibernate.runtime.v_6_0.internal.util.DummyMetadataBuildingContext) BootstrapContextImpl(org.hibernate.boot.internal.BootstrapContextImpl) RevengStrategy(org.hibernate.tool.api.reveng.RevengStrategy) InFlightMetadataCollectorImpl(org.hibernate.boot.internal.InFlightMetadataCollectorImpl) DatabaseReader(org.hibernate.tool.internal.reveng.reader.DatabaseReader) RevengDialect(org.hibernate.tool.api.reveng.RevengDialect) List(java.util.List) ArrayList(java.util.ArrayList) ITable(org.jboss.tools.hibernate.runtime.spi.ITable) MetadataBuildingContextRootImpl(org.hibernate.boot.internal.MetadataBuildingContextRootImpl) StandardServiceRegistry(org.hibernate.boot.registry.StandardServiceRegistry)

Aggregations

ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 List (java.util.List)1 BootstrapContextImpl (org.hibernate.boot.internal.BootstrapContextImpl)1 InFlightMetadataCollectorImpl (org.hibernate.boot.internal.InFlightMetadataCollectorImpl)1 MetadataBuildingOptionsImpl (org.hibernate.boot.internal.MetadataBuilderImpl.MetadataBuildingOptionsImpl)1 MetadataBuildingContextRootImpl (org.hibernate.boot.internal.MetadataBuildingContextRootImpl)1 StandardServiceRegistry (org.hibernate.boot.registry.StandardServiceRegistry)1 StandardServiceRegistryBuilder (org.hibernate.boot.registry.StandardServiceRegistryBuilder)1 MetadataBuildingContext (org.hibernate.boot.spi.MetadataBuildingContext)1 Table (org.hibernate.mapping.Table)1 RevengDialect (org.hibernate.tool.api.reveng.RevengDialect)1 RevengStrategy (org.hibernate.tool.api.reveng.RevengStrategy)1 RevengMetadataCollector (org.hibernate.tool.internal.reveng.RevengMetadataCollector)1 DatabaseReader (org.hibernate.tool.internal.reveng.reader.DatabaseReader)1 ITable (org.jboss.tools.hibernate.runtime.spi.ITable)1 DummyMetadataBuildingContext (org.jboss.tools.hibernate.runtime.v_6_0.internal.util.DummyMetadataBuildingContext)1