package org.jboss.tools.teiid.reddeer.preference; import org.jboss.reddeer.core.condition.ShellWithTextIsActive; import org.jboss.reddeer.core.matcher.WithTooltipTextMatcher; import org.jboss.reddeer.jface.preference.PreferencePage; import org.jboss.reddeer.swt.impl.button.CheckBox; import org.jboss.reddeer.swt.impl.button.PushButton; import org.jboss.reddeer.swt.impl.combo.DefaultCombo; import org.jboss.reddeer.swt.impl.group.DefaultGroup; import org.jboss.reddeer.swt.impl.spinner.DefaultSpinner; import org.jboss.reddeer.workbench.ui.dialogs.WorkbenchPreferenceDialog; /** * * @author apodhrad * */ public class TeiidDesignerPreferencePage extends PreferencePage { public TeiidDesignerPreferencePage() { super("Teiid Designer"); } public void setDefaultTeiidInstanceTargetedVersion(String version) { open(); new DefaultCombo().setSelection(version); close(); } // TODO deploy preference for teiid import - seconds to wait public void setTeiidConnectionImporterTimeout(int secs) { open(); new DefaultSpinner(new WithTooltipTextMatcher( "Set the timeout (in sec) for the Teiid Connection Importer. (use 0 for no timeout)")).setValue(secs); close(); } public void setAutoToggleDataRoleChildren(boolean check) { open(); new CheckBox(new DefaultGroup("Preview Data/VDB Execution"), "Enable auto-toggling children of the checked model object").toggle(check); close(); } public void close() { new PushButton("Apply").click(); if (/*new SWTWorkbenchBot().activeShell().getText().equals("Changing Teiid Instance version")*/ new ShellWithTextIsActive("Changing Teiid Instance version").test()) { new PushButton("Yes").click(); } new PushButton("OK").click(); } public void open() { WorkbenchPreferenceDialog preferences = new WorkbenchPreferenceDialog(); preferences.open(); preferences.select(this); } }