ref #6774: fix export wizard for owl export
authorKatja Luther <k.luther@bgbm.org>
Fri, 17 Sep 2021 08:47:05 +0000 (10:47 +0200)
committerKatja Luther <k.luther@bgbm.org>
Fri, 17 Sep 2021 08:47:05 +0000 (10:47 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/out/owl/OwlTermExportComposite.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/out/owl/OwlTermExportWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/out/owl/OwlTermExportWizardPage.java

index da1cf2e2714160be046980bc8d2a0a29630a44a4..e747514d430eb1e37e086d80c0343bfe7c1bc78e 100644 (file)
@@ -16,9 +16,9 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Text;
 
 import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermSorter;
-import eu.etaxonomy.taxeditor.editor.definedterm.TermTreeViewerComparator;
 import eu.etaxonomy.taxeditor.editor.definedterm.RootElementsOnlyTreeContentProvider;
 import eu.etaxonomy.taxeditor.editor.definedterm.TermDtoLabelProvider;
+import eu.etaxonomy.taxeditor.editor.definedterm.TermTreeViewerComparator;
 import eu.etaxonomy.taxeditor.model.ImageResources;
 import eu.etaxonomy.taxeditor.preference.wizard.CheckBoxTreeComposite;
 import eu.etaxonomy.taxeditor.termtree.TermTreeLabelProvider;
@@ -51,7 +51,7 @@ public class OwlTermExportComposite extends Composite {
         selectFeatureTreeComposite.getViewer().setComparator(new TermTreeViewerComparator());
         selectFeatureTreeComposite.setLayoutData(layoutData);
 
-        txtExportDirectory = new Text(this, style);
+        txtExportDirectory = new Text(this, SWT.BORDER);
         txtExportDirectory.setEditable(false);
         txtExportDirectory.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
 
index a1b584453c84cf8edf7b766c725ea4ada958982f..40d6c3fd74c1bd4bfde6ad86541681975bdfdb39 100644 (file)
@@ -56,10 +56,11 @@ AbstractExportWizardE4<StructureTreeOwlExportConfigurator> {
     public boolean performFinish() {
         configurator.setFeatureTreeUuids(exportPage.getSelectedTrees());
         configurator.setVocabularyUuids(exportPage.getSelectedVocabularies());
+        configurator.setDestination(new File(exportPage.getExportDirectory() + File.separator+ "export.owl"));
 
         if(exportPage.getExportDirectory()!=null){
             // create job
-            Job job = CdmStore.getExportManager().createIOServiceJob(configurator, new File(exportPage.getExportDirectory()));
+            Job job = CdmStore.getExportManager().createIOServiceJob(configurator, new File(exportPage.getExportDirectory()+ File.separator+ "export.owl"));
             // configure the job
             job.setProperty(IProgressConstants.KEEP_PROPERTY, true);
             job.setUser(true);
index 3317a6c01880ad73f27bb49ad5adac43a522e893..ae537a6f4a44ab7df5c4912527b3edd59302a4f0 100644 (file)
@@ -19,7 +19,7 @@ import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.FileDialog;
+import org.eclipse.swt.widgets.DirectoryDialog;
 
 import eu.etaxonomy.cdm.api.service.ITermTreeService;
 import eu.etaxonomy.cdm.api.service.IVocabularyService;
@@ -27,6 +27,7 @@ import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.cdm.model.term.TermTree;
 import eu.etaxonomy.cdm.model.term.TermType;
 import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 
 /**
@@ -36,7 +37,8 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 public class OwlTermExportWizardPage extends WizardPage {
 
     private OwlTermExportComposite composite;
-
+    private DirectoryDialog folderDialog;
+    private static final String EXPORT_FOLDER ="EXPORT_FOLDER";
     protected OwlTermExportWizardPage(String pageName) {
         super(pageName);
         setTitle("OWL Term Export");
@@ -61,26 +63,38 @@ public class OwlTermExportWizardPage extends WizardPage {
         composite.getSelectFeatureTreeComposite().getViewer().setInput(trees);
         composite.getSelectFeatureTreeComposite().getViewer().addCheckStateListener(e->updateButtons());
 
-
+        folderDialog = new DirectoryDialog(parent.getShell());
+        String exportFolder = PreferencesUtil.getStringValue(EXPORT_FOLDER, true);
+        folderDialog.setFilterPath(exportFolder);
         composite.getBtnSelectDirectory().addSelectionListener(new SelectionAdapter() {
             @Override
             public void widgetSelected(SelectionEvent e) {
-                FileDialog dialog = new FileDialog(parent.getShell());
-                String[] filterNames = {
-                        "Web Ontology Language (*.owl)",
-                        "Extensible Markup Language (*.xml)",
-                        "All files (*.*)"
-                        };
-                String[] filterExtensions = { "*.owl", "*.xml", "*.*"};
-
-                dialog.setOverwrite(true);
-                dialog.setFilterNames(filterNames);
-                dialog.setFilterExtensions(filterExtensions);
-                String fileString = dialog.open();
-                if(fileString!=null){
-                    composite.getTxtExportDirectory().setText(fileString);
+                super.widgetSelected(e);
+
+                String path = folderDialog.open();
+                if (path != null) { // a folder was selected
+                    composite.getTxtExportDirectory().setText(path);
+                    PreferencesUtil.setStringValue(EXPORT_FOLDER, path);
                     updateButtons();
                 }
+
+
+//                FileDialog dialog = new FileDialog(parent.getShell());
+//                String[] filterNames = {
+//                        "Web Ontology Language (*.owl)",
+//                        "Extensible Markup Language (*.xml)",
+//                        "All files (*.*)"
+//                        };
+//                String[] filterExtensions = { "*.owl", "*.xml", "*.*"};
+//
+//                dialog.setOverwrite(true);
+//                dialog.setFilterNames(filterNames);
+//                dialog.setFilterExtensions(filterExtensions);
+//                String fileString = dialog.open();
+//                if(fileString!=null){
+//                    composite.getTxtExportDirectory().setText(fileString);
+//
+//                }
             }
         });
         setControl(composite);