/******************************************************************************* * 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.reddeer.mapper.editors; import org.jboss.reddeer.swt.api.Shell; import org.jboss.reddeer.swt.condition.ShellIsAvailable; import org.jboss.reddeer.swt.condition.TreeContainsItem; import org.jboss.reddeer.swt.condition.TreeHasChildren; import org.jboss.reddeer.swt.impl.button.PushButton; import org.jboss.reddeer.swt.impl.ctab.DefaultCTabItem; import org.jboss.reddeer.swt.impl.shell.DefaultShell; import org.jboss.reddeer.swt.impl.tree.DefaultTree; import org.jboss.reddeer.swt.impl.tree.DefaultTreeItem; import org.jboss.reddeer.common.wait.WaitUntil; import org.jboss.reddeer.common.wait.WaitWhile; import org.jboss.reddeer.workbench.impl.editor.DefaultEditor; /** * Reverse engineer editor RedDeer implementation * @author jpeterka * */ public class ReverseEngineeringEditor extends DefaultEditor { public ReverseEngineeringEditor() { super("Hibernate Reverse Engineering Editor"); } /** * Activates editor's Overview tab */ public void activateOverviewTab() { new DefaultCTabItem("Overview").activate(); } /** * Activates editor's Type Mappings tab */ public void activateTypeMappingsTab() { new DefaultCTabItem("Type Mappings").activate(); } /** * Activates editor's Type Filters tab */ public void activateTableFiltersTab() { new DefaultCTabItem("Table Filters").activate(); } /** * Activates editor's Table and Columns tab */ public void activateTableAndColumnsTab() { new DefaultCTabItem("Table Columns").activate(); } /** * Activates editor's Design tab */ public void activateDesignTab() { new DefaultCTabItem("Design").activate(); } /** * Activates editor's Source tab */ public void activateSourceTab() { new DefaultCTabItem("Source").activate(); } /** * Select all tables within Add Tables & Columns tab */ public void selectAllTables(String databaseName) { activateTableAndColumnsTab(); new PushButton("Add...").click(); Shell s= new DefaultShell("Add Tables & Columns"); DefaultTree dbTree = new DefaultTree(); new WaitUntil(new TreeHasChildren(dbTree)); new WaitUntil(new TreeContainsItem(dbTree, databaseName)); new DefaultTreeItem(databaseName).select(); new PushButton("Select all children").click(); new PushButton("OK").click(); new WaitWhile(new ShellIsAvailable(s)); } }