use of org.jboss.tools.hibernate.runtime.spi.IOverrideRepository in project jbosstools-hibernate by jbosstools.
the class ConsoleExtension method buildConfiguration.
private IConfiguration buildConfiguration(final ExporterAttributes attributes, ConsoleConfiguration cc, IWorkspaceRoot root) {
final boolean reveng = attributes.isReverseEngineer();
final String reverseEngineeringStrategy = attributes.getRevengStrategy();
final boolean preferBasicCompositeids = attributes.isPreferBasicCompositeIds();
final IResource revengres = PathHelper.findMember(root, attributes.getRevengSettings());
if (reveng) {
IConfiguration configuration = null;
if (cc.hasConfiguration()) {
configuration = cc.getConfiguration();
} else {
configuration = cc.buildWith(null, false);
}
final IConfiguration cfg = hibernateExtension.getHibernateService().newJDBCMetaDataConfiguration();
// final JDBCMetaDataConfiguration cfg = new
// JDBCMetaDataConfiguration();
Properties properties = configuration.getProperties();
cfg.setProperties(properties);
cc.buildWith(cfg, false);
cfg.setPreferBasicCompositeIds(preferBasicCompositeids);
cc.execute(new // need to execute in the
Command() {
// consoleconfiguration to let it handle
// classpath stuff!
public Object execute() {
// todo: factor this setup of revengstrategy to core
IService service = hibernateExtension.getHibernateService();
IReverseEngineeringStrategy res = service.newDefaultReverseEngineeringStrategy();
IOverrideRepository repository = null;
if (revengres != null) {
File file = PathHelper.getLocation(revengres).toFile();
repository = service.newOverrideRepository();
repository.addFile(file);
}
if (repository != null) {
res = repository.getReverseEngineeringStrategy(res);
}
if (reverseEngineeringStrategy != null && reverseEngineeringStrategy.trim().length() > 0) {
res = service.newReverseEngineeringStrategy(reverseEngineeringStrategy, res);
}
IReverseEngineeringSettings qqsettings = service.newReverseEngineeringSettings(res).setDefaultPackageName(attributes.getPackageName()).setDetectManyToMany(attributes.detectManyToMany()).setDetectOneToOne(attributes.detectOneToOne()).setDetectOptimisticLock(attributes.detectOptimisticLock());
res.setSettings(qqsettings);
cfg.setReverseEngineeringStrategy(res);
cfg.readFromJDBC();
cfg.buildMappings();
return null;
}
});
return cfg;
} else {
cc.build();
cc.buildMappings();
return cc.getConfiguration();
}
}
use of org.jboss.tools.hibernate.runtime.spi.IOverrideRepository in project jbosstools-hibernate by jbosstools.
the class ReverseEngineeringEditor method getLazyDatabaseSchema.
public LazyDatabaseSchema getLazyDatabaseSchema() {
try {
ConsoleConfiguration configuration = KnownConfigurations.getInstance().find(getConsoleConfigurationName());
if (configuration == null) {
configuration = askForConsoleConfiguration();
if (configuration == null) {
return null;
} else {
setConsoleConfigurationName(configuration.getName());
}
}
org.hibernate.eclipse.console.model.ITableFilter[] tableFilters = getReverseEngineeringDefinition().getTableFilters();
IService service = configuration.getHibernateExtension().getHibernateService();
IOverrideRepository repository = service.newOverrideRepository();
boolean hasIncludes = false;
for (int i = 0; i < tableFilters.length; i++) {
org.hibernate.eclipse.console.model.ITableFilter filter = tableFilters[i];
ITableFilter tf = service.newTableFilter();
tf.setExclude(filter.getExclude());
if (filter.getExclude() != null && !filter.getExclude().booleanValue()) {
hasIncludes = true;
}
tf.setMatchCatalog(filter.getMatchCatalog());
tf.setMatchName(filter.getMatchName());
tf.setMatchSchema(filter.getMatchSchema());
repository.addTableFilter(tf);
}
ITableFilter tf = service.newTableFilter();
tf.setExclude(Boolean.FALSE);
// $NON-NLS-1$
tf.setMatchCatalog(".*");
// $NON-NLS-1$
tf.setMatchSchema(".*");
// $NON-NLS-1$
tf.setMatchName(".*");
repository.addTableFilter(tf);
String dialogId = ReverseEngineeringEditor.class.getName();
if (tableFilters.length == 0 && OptionalMessageDialog.isDialogEnabled(dialogId)) {
int returnCode = OptionalMessageDialog.open(dialogId, getContainer().getShell(), MapperMessages.ReverseEngineeringEditor_no_filters_defined, null, MapperMessages.ReverseEngineeringEditor_no_filters_has_been_defined, MessageDialog.QUESTION, new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL }, 0);
if (returnCode == Window.CANCEL)
return null;
}
LazyDatabaseSchema lazyDatabaseSchema = new LazyDatabaseSchema(configuration, repository.getReverseEngineeringStrategy(service.newDefaultReverseEngineeringStrategy()));
return lazyDatabaseSchema;
} catch (Exception he) {
HibernateConsolePlugin.getDefault().showError(getContainer().getShell(), MapperMessages.ReverseEngineeringEditor_error_while_refreshing_databasetree, he);
return null;
}
}
use of org.jboss.tools.hibernate.runtime.spi.IOverrideRepository in project jbosstools-hibernate by jbosstools.
the class FacadeFactoryTest method testCreateOverrideRepository.
@Test
public void testCreateOverrideRepository() {
OverrideRepository overrideRepository = new OverrideRepository();
IOverrideRepository facade = facadeFactory.createOverrideRepository(overrideRepository);
Assert.assertSame(overrideRepository, ((IFacade) facade).getTarget());
}
use of org.jboss.tools.hibernate.runtime.spi.IOverrideRepository in project jbosstools-hibernate by jbosstools.
the class FacadeFactoryTest method testCreateOverrideRepository.
@Test
public void testCreateOverrideRepository() {
OverrideRepository overrideRepository = new OverrideRepository();
IOverrideRepository facade = facadeFactory.createOverrideRepository(overrideRepository);
Assert.assertSame(overrideRepository, ((IFacade) facade).getTarget());
}
use of org.jboss.tools.hibernate.runtime.spi.IOverrideRepository in project jbosstools-hibernate by jbosstools.
the class FacadeFactoryTest method testCreateOverrideRepository.
@Test
public void testCreateOverrideRepository() {
OverrideRepository overrideRepository = new OverrideRepository();
IOverrideRepository facade = facadeFactory.createOverrideRepository(overrideRepository);
Assert.assertSame(overrideRepository, ((IFacade) facade).getTarget());
}
Aggregations