/******************************************************************************* * Copyright (c) 2004, 2010 BREDEX GmbH. * All rights reserved. This program and the accompanying materials * are 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: * BREDEX GmbH - initial API and implementation and/or initial documentation *******************************************************************************/ package org.eclipse.jubula.client.ui.rcp.handlers.project; import java.net.URL; import java.util.List; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.window.Window; import org.eclipse.jface.wizard.WizardDialog; import org.eclipse.jubula.client.ui.handlers.project.AbstractProjectHandler; import org.eclipse.jubula.client.ui.rcp.Plugin; import org.eclipse.jubula.client.ui.rcp.businessprocess.ImportFileBP; import org.eclipse.jubula.client.ui.rcp.businessprocess.ImportFileBP.IProjectImportInfoProvider; import org.eclipse.jubula.client.ui.rcp.dialogs.ImportProjectDialog; import org.eclipse.jubula.client.ui.rcp.i18n.Messages; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; /** * @author BREDEX GmbH * @created 08.11.2004 */ public class ImportProjectHandler extends AbstractProjectHandler { /** * {@inheritDoc} */ public Object executeImpl(ExecutionEvent event) { if (Plugin.getDefault().showSaveEditorDialog(getActiveShell())) { showImportDialog(); } Plugin.stopLongRunning(); return null; } /** * brings up the ImportDiaog */ void showImportDialog() { ImportProjectDialog importProjectWizard = new ImportProjectDialog(); WizardDialog dialog = new WizardDialog(getActiveShell(), importProjectWizard) { protected void createButtonsForButtonBar(Composite parent) { super.createButtonsForButtonBar(parent); Button finishButton = getButton(IDialogConstants.FINISH_ID); finishButton.setText(IDialogConstants.OK_LABEL); } }; importProjectWizard.setWindowTitle( Messages.ImportProjectDialogTitle); dialog.setHelpAvailable(true); int val = dialog.open(); if (val == Window.OK) { importProjects(importProjectWizard.getImportInfoProvider()); } } /** * Performs an import using the information provided by the argument. * * @param importInfo * Provides information relevant to the import. */ public void importProjects(IProjectImportInfoProvider importInfo) { List<URL> fileURLs = importInfo.getFileURLs(); boolean openProject = importInfo.getIsOpenProject(); ImportFileBP.getInstance().importProject(fileURLs, openProject); } }