/******************************************************************************* * Copyright (c) 2017 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is made available under the terms of the * Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.hibernate.ui.bot.test.factory; import org.jboss.reddeer.requirements.db.DatabaseConfiguration; import org.jboss.reddeer.swt.impl.button.OkButton; import org.jboss.reddeer.swt.impl.combo.LabeledCombo; import org.jboss.reddeer.workbench.impl.editor.DefaultEditor; import org.jboss.tools.hibernate.reddeer.console.views.KnownConfigurationsView; import org.jboss.tools.hibernate.reddeer.console.wizards.NewConfigurationFirstPage; import org.jboss.tools.hibernate.reddeer.console.wizards.NewConfigurationWizard; import org.jboss.tools.hibernate.reddeer.console.wizards.NewConfigurationWizardPage; /** * Factory for common hibernate tools tasks * @author Jiri Peterka * */ public class HibernateToolsFactory { /** * Create Hibernate Configuration file * @param cfg configuration * @param project project name * @param cfgFile hibernate configuration file * @param generateConsole when true hibernate console configuration is generated */ public static void createConfigurationFile(DatabaseConfiguration cfg, String project, String cfgFile, boolean generateConsole) { NewConfigurationWizard wizard = new NewConfigurationWizard(); wizard.open(); NewConfigurationFirstPage p1 = new NewConfigurationFirstPage(); p1.setLocation(project,"src"); wizard.next(); NewConfigurationWizardPage p2 = new NewConfigurationWizardPage(); p2.setDatabaseDialect("H2"); p2.setDriverClass(cfg.getDriverClass()); p2.setConnectionURL(cfg.getJdbcString()); p2.setUsername(cfg.getUsername()); if (generateConsole) { p2.setCreateConsoleConfiguration(generateConsole); } wizard.finish(); new DefaultEditor(cfgFile); } /** * Sets hibernate version to given console * @param consoleName console name * @param hibernateVersion hibernate version */ public static void setHibernateVersion(String consoleName, String hbVersion) { KnownConfigurationsView v = new KnownConfigurationsView(); v.open(); v.openConsoleConfiguration(consoleName); new LabeledCombo("Hibernate Version:").setSelection(hbVersion); new OkButton().click(); } }