Search in sources :

Example 1 with IService

use of org.jboss.tools.hibernate.runtime.spi.IService 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();
    }
}
Also used : IReverseEngineeringSettings(org.jboss.tools.hibernate.runtime.spi.IReverseEngineeringSettings) IReverseEngineeringStrategy(org.jboss.tools.hibernate.runtime.spi.IReverseEngineeringStrategy) IConfiguration(org.jboss.tools.hibernate.runtime.spi.IConfiguration) Properties(java.util.Properties) IOverrideRepository(org.jboss.tools.hibernate.runtime.spi.IOverrideRepository) File(java.io.File) IResource(org.eclipse.core.resources.IResource) IService(org.jboss.tools.hibernate.runtime.spi.IService)

Example 2 with IService

use of org.jboss.tools.hibernate.runtime.spi.IService 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;
    }
}
Also used : ConsoleConfiguration(org.hibernate.console.ConsoleConfiguration) ITableFilter(org.jboss.tools.hibernate.runtime.spi.ITableFilter) CoreException(org.eclipse.core.runtime.CoreException) PartInitException(org.eclipse.ui.PartInitException) LazyDatabaseSchema(org.hibernate.eclipse.console.workbench.LazyDatabaseSchema) IOverrideRepository(org.jboss.tools.hibernate.runtime.spi.IOverrideRepository) IService(org.jboss.tools.hibernate.runtime.spi.IService)

Example 3 with IService

use of org.jboss.tools.hibernate.runtime.spi.IService in project jbosstools-hibernate by jbosstools.

the class JPAPostInstallFasetListener method getConnectionProperties.

public Properties getConnectionProperties(IProject project) {
    IJavaProject javaProject = JavaCore.create(project);
    IService service = null;
    if (javaProject != null) {
        HibernateNature hibNat = HibernateNature.getHibernateNature(javaProject);
        if (hibNat != null) {
            ConsoleConfiguration cc = hibNat.getDefaultConsoleConfiguration();
            if (cc != null) {
                service = cc.getHibernateExtension().getHibernateService();
            }
        }
    }
    String cpName = HibernateEclipseUtils.getConnectionProfileName(project);
    if (cpName != null && service != null) {
        return ConnectionProfileUtil.getHibernateConnectionProperties(service, ProfileManager.getInstance().getProfileByName(cpName));
    }
    return new Properties();
}
Also used : IJavaProject(org.eclipse.jdt.core.IJavaProject) ConsoleConfiguration(org.hibernate.console.ConsoleConfiguration) HibernateNature(org.hibernate.eclipse.nature.HibernateNature) Properties(java.util.Properties) IService(org.jboss.tools.hibernate.runtime.spi.IService)

Example 4 with IService

use of org.jboss.tools.hibernate.runtime.spi.IService in project jbosstools-hibernate by jbosstools.

the class ServiceLookupTest method testGetDefault.

@Test
public void testGetDefault() {
    IService service = ServiceLookup.getDefault();
    Assert.assertSame(ServiceLookup.findService("0.0.0.Test"), service);
}
Also used : IService(org.jboss.tools.hibernate.runtime.spi.IService) Test(org.junit.Test)

Example 5 with IService

use of org.jboss.tools.hibernate.runtime.spi.IService in project jbosstools-hibernate by jbosstools.

the class CodeGenerationLaunchDelegate method runExporters.

private IArtifactCollector runExporters(final ExporterAttributes attributes, final ExporterFactory[] exporterFactories, final Set<String> outputDirectories, final IProgressMonitor monitor) throws CoreException {
    monitor.beginTask(HibernateConsoleMessages.CodeGenerationLaunchDelegate_generating_code_for + attributes.getConsoleConfigurationName(), exporterFactories.length + 1);
    if (monitor.isCanceled())
        return null;
    ConsoleConfiguration cc = KnownConfigurations.getInstance().find(attributes.getConsoleConfigurationName());
    if (attributes.isReverseEngineer()) {
        monitor.subTask(HibernateConsoleMessages.CodeGenerationLaunchDelegate_reading_jdbc_metadata);
    }
    final IConfiguration cfg = buildConfiguration(attributes, cc, ResourcesPlugin.getWorkspace().getRoot());
    monitor.worked(1);
    if (monitor.isCanceled())
        return null;
    final IService service = cc.getHibernateExtension().getHibernateService();
    return (IArtifactCollector) cc.execute(new Command() {

        public Object execute() {
            IArtifactCollector artifactCollector = service.newArtifactCollector();
            // Global properties
            Properties props = new Properties();
            // $NON-NLS-1$
            props.put(CodeGenerationStrings.EJB3, "" + attributes.isEJB3Enabled());
            // $NON-NLS-1$
            props.put(CodeGenerationStrings.JDK5, "" + attributes.isJDK5Enabled());
            for (int i = 0; i < exporterFactories.length; i++) {
                monitor.subTask(exporterFactories[i].getExporterDefinition().getDescription());
                Properties globalProperties = new Properties();
                globalProperties.putAll(props);
                IExporter exporter;
                try {
                    exporter = exporterFactories[i].createConfiguredExporter(cfg, attributes.getOutputPath(), attributes.getTemplatePath(), globalProperties, outputDirectories, artifactCollector, service);
                } catch (CoreException e) {
                    throw new HibernateConsoleRuntimeException(HibernateConsoleMessages.CodeGenerationLaunchDelegate_error_while_setting_up + exporterFactories[i].getExporterDefinition(), e);
                }
                try {
                    exporter.start();
                } catch (HibernateException he) {
                    throw new HibernateConsoleRuntimeException(HibernateConsoleMessages.CodeGenerationLaunchDelegate_error_while_running + exporterFactories[i].getExporterDefinition().getDescription(), he);
                }
                monitor.worked(1);
            }
            return artifactCollector;
        }
    });
}
Also used : ConsoleConfiguration(org.hibernate.console.ConsoleConfiguration) IArtifactCollector(org.jboss.tools.hibernate.runtime.spi.IArtifactCollector) CoreException(org.eclipse.core.runtime.CoreException) Command(org.hibernate.console.execution.ExecutionContext.Command) HibernateException(org.jboss.tools.hibernate.runtime.spi.HibernateException) IExporter(org.jboss.tools.hibernate.runtime.spi.IExporter) HibernateConsoleRuntimeException(org.hibernate.console.HibernateConsoleRuntimeException) IConfiguration(org.jboss.tools.hibernate.runtime.spi.IConfiguration) Properties(java.util.Properties) IService(org.jboss.tools.hibernate.runtime.spi.IService)

Aggregations

IService (org.jboss.tools.hibernate.runtime.spi.IService)23 ConsoleConfiguration (org.hibernate.console.ConsoleConfiguration)8 IConfiguration (org.jboss.tools.hibernate.runtime.spi.IConfiguration)8 Properties (java.util.Properties)5 IFile (org.eclipse.core.resources.IFile)5 CoreException (org.eclipse.core.runtime.CoreException)5 IPath (org.eclipse.core.runtime.IPath)5 File (java.io.File)4 FileNotFoundException (java.io.FileNotFoundException)4 JavaModelException (org.eclipse.jdt.core.JavaModelException)4 IPersistentClass (org.jboss.tools.hibernate.runtime.spi.IPersistentClass)4 Path (org.eclipse.core.runtime.Path)3 PartInitException (org.eclipse.ui.PartInitException)3 IArtifactCollector (org.jboss.tools.hibernate.runtime.spi.IArtifactCollector)3 ArrayList (java.util.ArrayList)2 Map (java.util.Map)2 IResource (org.eclipse.core.resources.IResource)2 NullProgressMonitor (org.eclipse.core.runtime.NullProgressMonitor)2 IJavaProject (org.eclipse.jdt.core.IJavaProject)2 IPackageFragment (org.eclipse.jdt.core.IPackageFragment)2