870082e6d4ab1546d41ab64fca170637508672db
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / io / wizard / CsvPrintExportWizard.java
1 package eu.etaxonomy.taxeditor.io.wizard;
2
3 import java.io.File;
4 import java.util.HashSet;
5 import java.util.List;
6 import java.util.UUID;
7
8 import org.eclipse.core.runtime.jobs.Job;
9 import org.eclipse.jface.viewers.IStructuredSelection;
10 import org.eclipse.swt.widgets.Combo;
11 import org.eclipse.ui.IWorkbench;
12 import org.eclipse.ui.progress.IProgressConstants;
13
14 import eu.etaxonomy.cdm.io.csv.caryophyllales.out.CsvNameExportConfigurator;
15 import eu.etaxonomy.cdm.model.taxon.Classification;
16 import eu.etaxonomy.taxeditor.store.CdmStore;
17
18 public class CsvPrintExportWizard extends CsvNameExportWizard{
19
20
21 private final String description = "Export the contents of the currently selected database into Semicolon Separated Value format.";
22 @Override
23 public void init(IWorkbench workbench, IStructuredSelection selection) {
24 configurator = CsvNameExportConfigurator.NewInstance(null,null);
25 configurator.setNamesOnly(false);
26 }
27
28 @Override
29 public CsvNameExportConfigurator getConfigurator() {
30
31 return configurator;
32 }
33
34
35
36 /*
37 * (non-Javadoc)
38 *
39 * @see eu.etaxonomy.taxeditor.io.wizard.AbstractExportWizard#addPages()
40 */
41 @Override
42 public void addPages() {
43 //TODO create page with drop down menu for export for single classification.
44 // super.addPages();
45
46
47 //standard page
48 page = ExportToFileDestinationWizardPage.CsvPrint();
49
50 addPage(page);
51 }
52 /*
53 * (non-Javadoc)
54 *
55 * @see org.eclipse.jface.wizard.Wizard#performFinish()
56 */
57 @Override
58 public boolean performFinish() {
59 String urlString = page.getFolderText() + File.separator
60 + page.getExportFileName();
61
62 final Combo combo = page.getCombo();
63
64
65 configurator.setClassificationUUID(page.getSelectedClassificationUUID());
66
67
68 if(CdmStore.getCurrentSessionManager().isRemoting()) {
69 // create job
70 Job job = CdmStore.getExportManager().createIOServiceJob(configurator, new File(urlString));
71 // configure the job
72 job.setProperty(IProgressConstants.KEEP_PROPERTY, true);
73 job.setUser(true);
74 // schedule job
75 job.schedule();
76 } else {
77 configurator.setDestination(new File(urlString));
78 CdmStore.getExportManager().run(configurator);
79 }
80 return true;
81 }
82
83 }