| //------------------------------------------------------------------------------ |
| // Copyright (c) 2005, 2007 IBM Corporation and others. |
| // 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: |
| // IBM Corporation - initial implementation |
| //------------------------------------------------------------------------------ |
| package org.eclipse.epf.migration.diagram.ad.wizards; |
| |
| import java.io.File; |
| |
| import org.eclipse.epf.library.LibraryService; |
| import org.eclipse.epf.migration.diagram.DiagramMigrationPlugin; |
| import org.eclipse.epf.migration.diagram.MigrationExportException; |
| import org.eclipse.epf.migration.diagram.MigrationResources; |
| import org.eclipse.epf.migration.diagram.ad.services.WorkflowExportService; |
| import org.eclipse.epf.uma.Activity; |
| import org.eclipse.epf.uma.MethodLibrary; |
| import org.eclipse.epf.uma.Process; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| import org.eclipse.jface.wizard.Wizard; |
| import org.eclipse.swt.widgets.Composite; |
| import org.eclipse.ui.IExportWizard; |
| import org.eclipse.ui.IWorkbench; |
| |
| /** |
| * Export wizard for exporting diagrams |
| * |
| * @author Shashidhar Kannoori |
| * @author Shilpa Toraskar |
| * @since 1.2 |
| * |
| */ |
| public class MigrationExportWizard extends Wizard implements IExportWizard { |
| |
| // The workbench instance. |
| protected IWorkbench workbench; |
| |
| // The workbench selection when the wizard was started. |
| protected IStructuredSelection selection; |
| |
| // The first wizard page. |
| protected MigrationExportWizardPage page1; |
| |
| /** |
| * Constructor for diagram migration export |
| */ |
| public MigrationExportWizard() { |
| super(); |
| } |
| |
| /** |
| * |
| * @see org.eclipse.jface.wizard.Wizard#performFinish() |
| */ |
| public boolean performFinish() { |
| if (page1 != null) { |
| |
| Process proc = page1.getProcess(); |
| Activity activity = page1.getActivity(); |
| // MethodConfiguration mc = page1.getContext(); |
| |
| String fileName = page1.getTemplateName(); |
| String targetDir = page1.getTargetDirectory(); |
| |
| String templateFileName = fileName + ".xmi"; //$NON-NLS-1$ |
| File templateFile = new File(targetDir, templateFileName); |
| if (templateFile.exists()) { |
| boolean ok = DiagramMigrationPlugin |
| .getDefault() |
| .getMsgDialog() |
| .displayPrompt( |
| MigrationResources.workflow_overwriteTextDialog_title, |
| MigrationResources |
| .bind( |
| MigrationResources.workflow_overwriteText_msg, |
| new Object[] { |
| templateFileName, |
| targetDir })); |
| |
| if (!ok) { |
| return false; |
| } |
| } |
| |
| try { |
| boolean success = WorkflowExportService.getInstance().export( |
| proc, activity, fileName, new File(targetDir)); |
| |
| if (success) { |
| return true; |
| } |
| |
| } catch (MigrationExportException xe) { |
| xe.printStackTrace(); |
| } |
| |
| } |
| |
| return false; |
| } |
| |
| /** |
| * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, |
| * org.eclipse.jface.viewers.IStructuredSelection) |
| */ |
| public void init(IWorkbench workbench, IStructuredSelection selection) { |
| this.workbench = workbench; |
| this.selection = selection; |
| } |
| |
| /** |
| * @see org.eclipse.jface.wizard.Wizard#addPages() |
| */ |
| public void addPages() { |
| // super.addPages(); |
| MethodLibrary lib = LibraryService.getInstance() |
| .getCurrentMethodLibrary(); |
| if (lib == null) { |
| DiagramMigrationPlugin.getDefault().getMsgDialog() |
| .displayError( |
| MigrationResources.open_method_library_error_title, |
| MigrationResources.open_method_library_error_text); |
| |
| return; |
| } |
| |
| page1 = new MigrationExportWizardPage(); |
| addPage(page1); |
| } |
| |
| /** |
| * @see org.eclipse.jface.wizard.Wizard#canFinish() |
| */ |
| public boolean canFinish() { |
| // return super.canFinish(); |
| return page1.isPageComplete(); |
| } |
| |
| /** |
| * @see org.eclipse.jface.wizard.Wizard#createPageControls(org.eclipse.swt.widgets.Composite) |
| */ |
| public void createPageControls(Composite pageContainer) { |
| super.createPageControls(pageContainer); |
| } |
| |
| } |