Search in sources :

Example 1 with RevengStrategy

use of org.hibernate.tool.api.reveng.RevengStrategy in project jbosstools-hibernate by jbosstools.

the class OverrideRepositoryFacadeTest method testGetReverseEngineeringStrategy.

@Test
public void testGetReverseEngineeringStrategy() throws Exception {
    RevengStrategy res = new DefaultStrategy();
    IReverseEngineeringStrategy resFacade = FACADE_FACTORY.createReverseEngineeringStrategy(res);
    IReverseEngineeringStrategy result = overrideRepositoryFacade.getReverseEngineeringStrategy(resFacade);
    DelegatingStrategy resultTarget = (DelegatingStrategy) ((IFacade) result).getTarget();
    Field delegateField = DelegatingStrategy.class.getDeclaredField("delegate");
    delegateField.setAccessible(true);
    assertSame(res, delegateField.get(resultTarget));
}
Also used : Field(java.lang.reflect.Field) RevengStrategy(org.hibernate.tool.api.reveng.RevengStrategy) IReverseEngineeringStrategy(org.jboss.tools.hibernate.runtime.spi.IReverseEngineeringStrategy) DelegatingStrategy(org.hibernate.tool.internal.reveng.strategy.DelegatingStrategy) DefaultStrategy(org.hibernate.tool.internal.reveng.strategy.DefaultStrategy) Test(org.junit.jupiter.api.Test)

Example 2 with RevengStrategy

use of org.hibernate.tool.api.reveng.RevengStrategy in project jbosstools-hibernate by jbosstools.

the class ReverseEngineeringStrategyFacadeTest method testSetSettings.

@Test
public void testSetSettings() throws Exception {
    RevengStrategy revengStrategyTarget = new DefaultStrategy();
    RevengSettings revengSettingsTarget = new RevengSettings(revengStrategyTarget);
    IReverseEngineeringSettings revengSettingsFacade = FACADE_FACTORY.createReverseEngineeringSettings(revengSettingsTarget);
    IReverseEngineeringStrategy revengStrategyFacade = new ReverseEngineeringStrategyFacadeImpl(FACADE_FACTORY, revengStrategyTarget);
    Field field = AbstractStrategy.class.getDeclaredField("settings");
    field.setAccessible(true);
    assertNotSame(field.get(revengStrategyTarget), revengSettingsTarget);
    revengStrategyFacade.setSettings(revengSettingsFacade);
    assertSame(field.get(revengStrategyTarget), revengSettingsTarget);
}
Also used : Field(java.lang.reflect.Field) RevengSettings(org.hibernate.tool.api.reveng.RevengSettings) IReverseEngineeringSettings(org.jboss.tools.hibernate.runtime.spi.IReverseEngineeringSettings) RevengStrategy(org.hibernate.tool.api.reveng.RevengStrategy) IReverseEngineeringStrategy(org.jboss.tools.hibernate.runtime.spi.IReverseEngineeringStrategy) DefaultStrategy(org.hibernate.tool.internal.reveng.strategy.DefaultStrategy) Test(org.junit.jupiter.api.Test)

Example 3 with RevengStrategy

use of org.hibernate.tool.api.reveng.RevengStrategy in project jbosstools-hibernate by jbosstools.

the class ServiceImpl method newReverseEngineeringStrategy.

@Override
public IReverseEngineeringStrategy newReverseEngineeringStrategy(String strategyName, IReverseEngineeringStrategy delegate) {
    RevengStrategy delegateTarget = (RevengStrategy) ((IFacade) delegate).getTarget();
    Object target = newReverseEngineeringStrategy(strategyName, delegateTarget);
    return facadeFactory.createReverseEngineeringStrategy(target);
}
Also used : RevengStrategy(org.hibernate.tool.api.reveng.RevengStrategy)

Example 4 with RevengStrategy

use of org.hibernate.tool.api.reveng.RevengStrategy 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)

Example 5 with RevengStrategy

use of org.hibernate.tool.api.reveng.RevengStrategy in project jbosstools-hibernate by jbosstools.

the class JdbcMetadataConfigurationTest method testSetReverseEngineeringStrategy.

@Test
public void testSetReverseEngineeringStrategy() {
    RevengStrategy strategy = new DefaultStrategy();
    assertNull(jdbcMetadataConfiguration.revengStrategy);
    jdbcMetadataConfiguration.setReverseEngineeringStrategy(strategy);
    assertSame(strategy, jdbcMetadataConfiguration.revengStrategy);
}
Also used : RevengStrategy(org.hibernate.tool.api.reveng.RevengStrategy) DefaultStrategy(org.hibernate.tool.internal.reveng.strategy.DefaultStrategy) Test(org.junit.jupiter.api.Test)

Aggregations

RevengStrategy (org.hibernate.tool.api.reveng.RevengStrategy)9 Test (org.junit.jupiter.api.Test)6 DefaultStrategy (org.hibernate.tool.internal.reveng.strategy.DefaultStrategy)5 IReverseEngineeringStrategy (org.jboss.tools.hibernate.runtime.spi.IReverseEngineeringStrategy)4 Field (java.lang.reflect.Field)2 JdbcMetadataConfiguration (org.jboss.tools.hibernate.runtime.v_6_0.internal.util.JdbcMetadataConfiguration)2 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 PersistentClass (org.hibernate.mapping.PersistentClass)1 RootClass (org.hibernate.mapping.RootClass)1 Table (org.hibernate.mapping.Table)1 RevengDialect (org.hibernate.tool.api.reveng.RevengDialect)1