1 package eu
.etaxonomy
.taxeditor
.io
.wizard
;
4 import java
.util
.HashSet
;
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
;
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
;
18 public class CsvPrintExportWizard
extends CsvNameExportWizard
{
21 private final String description
= "Export the contents of the currently selected database into Semicolon Separated Value format.";
23 public void init(IWorkbench workbench
, IStructuredSelection selection
) {
24 configurator
= CsvNameExportConfigurator
.NewInstance(null,null);
25 configurator
.setNamesOnly(false);
29 public CsvNameExportConfigurator
getConfigurator() {
39 * @see eu.etaxonomy.taxeditor.io.wizard.AbstractExportWizard#addPages()
42 public void addPages() {
43 //TODO create page with drop down menu for export for single classification.
48 page
= ExportToFileDestinationWizardPage
.CsvPrint();
55 * @see org.eclipse.jface.wizard.Wizard#performFinish()
58 public boolean performFinish() {
59 String urlString
= page
.getFolderText() + File
.separator
60 + page
.getExportFileName();
62 final Combo combo
= page
.getCombo();
63 final List
<Classification
> listClassifications
= CdmStore
.getCurrentApplicationConfiguration().getClassificationService().listClassifications(null, null, null, null);
65 int selectionIndex
= combo
.getSelectionIndex();
66 HashSet
<UUID
> set
= new HashSet
<UUID
>();
67 if(selectionIndex
== -1){
68 for(Classification c
:listClassifications
){
72 for(Classification c
:listClassifications
){
73 if(c
.getTitleCache().equalsIgnoreCase(combo
.getItem(selectionIndex
))){
78 configurator
.setHasHeaderLines(true);
82 configurator
.setClassificationUUID(listClassifications
.get(0).getUuid());
85 if(CdmStore
.getCurrentSessionManager().isRemoting()) {
87 Job job
= CdmStore
.getExportManager().createIOServiceJob(configurator
, new File(urlString
));
89 job
.setProperty(IProgressConstants
.KEEP_PROPERTY
, true);
94 configurator
.setDestination(new File(urlString
));
95 CdmStore
.getExportManager().run(configurator
);