Merge branch 'release/3.12.0'
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / io / wizard / SddExportWizard.java
1 // $Id$
2 /**
3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10
11 package eu.etaxonomy.taxeditor.io.wizard;
12
13 import java.io.File;
14
15 import org.eclipse.core.runtime.jobs.Job;
16 import org.eclipse.jface.viewers.IStructuredSelection;
17 import org.eclipse.ui.IWorkbench;
18 import org.eclipse.ui.progress.IProgressConstants;
19
20 import eu.etaxonomy.cdm.io.sdd.out.SDDExportConfigurator;
21 import eu.etaxonomy.taxeditor.store.CdmStore;
22
23 /**
24 * <p>SddExportWizard class.</p>
25 *
26 * @author n.hoffmann
27 * @created Jun 16, 2010
28 * @version 1.0
29 */
30 public class SddExportWizard extends AbstractExportWizard<SDDExportConfigurator> {
31
32 private ExportToFileDestinationWizardPage page;
33
34 private SDDExportConfigurator configurator;
35
36 /* (non-Javadoc)
37 * @see eu.etaxonomy.taxeditor.io.wizard.AbstractExportWizard#getConfigurator()
38 */
39 /** {@inheritDoc} */
40 @Override
41 public SDDExportConfigurator getConfigurator() {
42 return configurator;
43 }
44
45 /* (non-Javadoc)
46 * @see org.eclipse.jface.wizard.Wizard#performFinish()
47 */
48 /** {@inheritDoc} */
49 @Override
50 public boolean performFinish() {
51 File file = new File(page.getFolderText() + File.separator + page.getExportFileName());
52
53 if(CdmStore.getCurrentSessionManager().isRemoting()) {
54 // create job
55 Job job = CdmStore.getExportManager().createIOServiceJob(configurator, file);
56 // configure the job
57 job.setProperty(IProgressConstants.KEEP_PROPERTY, true);
58 job.setUser(true);
59 // schedule job
60 job.schedule();
61 } else {
62 configurator.setDestination(file);
63 CdmStore.getExportManager().run(configurator);
64 }
65 return true;
66 }
67
68 /*
69 * (non-Javadoc)
70 * @see eu.etaxonomy.taxeditor.io.wizard.AbstractExportWizard#addPages()
71 */
72 /** {@inheritDoc} */
73 @Override
74 public void addPages() {
75 super.addPages();
76
77 page = ExportToFileDestinationWizardPage.Sdd();
78 addPage(page);
79 }
80
81 /* (non-Javadoc)
82 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
83 */
84 /** {@inheritDoc} */
85 @Override
86 public void init(IWorkbench workbench, IStructuredSelection selection) {
87 this.setWindowTitle("SDD Export");
88 this.configurator = CdmStore.getExportManager().SddConfigurator();
89 }
90 }