ref #10448: fix zip handling and better naming for wfo backbone export
authorKatja <k.luther@bgbm.org>
Thu, 1 Feb 2024 11:05:46 +0000 (12:05 +0100)
committerKatja <k.luther@bgbm.org>
Thu, 1 Feb 2024 11:05:46 +0000 (12:05 +0100)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/ExportManager.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/out/wfo/WfoBackboneExportWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/ExportToFileDestinationWizardPage.java

index 0a797d5ca2685bf2bbfe7195321a46247b1a25c3..0288eb6748d44b9a3929c21213b8772a39ad88a5 100644 (file)
@@ -47,6 +47,7 @@ import eu.etaxonomy.cdm.io.dwca.out.DwcaTaxExportConfigurator;
 import eu.etaxonomy.cdm.io.jaxb.JaxbExportConfigurator;
 import eu.etaxonomy.cdm.io.sdd.out.SDDExportConfigurator;
 import eu.etaxonomy.cdm.io.service.IIOService;
+import eu.etaxonomy.cdm.io.wfo.out.WfoBackboneExportConfigurator;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.model.CdmProgressMonitorAdapter;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
@@ -263,7 +264,7 @@ public class ExportManager
                                      stream.write(fileData);
                                      out.flush();
                                      stream.close();
-                                     
+
                                  }
                                 }
                         }else{
@@ -298,11 +299,19 @@ public class ExportManager
             @Override
             public void run() {
                boolean isZip = false;
-               if (configurator instanceof CdmLightExportConfigurator || configurator instanceof ColDpExportConfigurator){
+               String urlAddition = "";
+               if (configurator instanceof CdmLightExportConfigurator || configurator instanceof ColDpExportConfigurator || configurator instanceof WfoBackboneExportConfigurator){
                        if (configurator instanceof CdmLightExportConfigurator) {
                            isZip = ((CdmLightExportConfigurator)configurator).isCreateZipFile();
-                       }else {
+                       }else if (configurator instanceof ColDpExportConfigurator){
                            isZip = ((ColDpExportConfigurator)configurator).isCreateZipFile();
+                       }else if (configurator instanceof WfoBackboneExportConfigurator){
+                           isZip = ((WfoBackboneExportConfigurator)configurator).isCreateZipFile();
+                           if (isZip) {
+                               SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW);
+                            Calendar cal = Calendar.getInstance();
+                               urlAddition = File.separator + ((WfoBackboneExportConfigurator)configurator).getFamilyStr() + sdf.format(cal.getTime());
+                           }
                        }
                 }
                 AbstractUtility.executeMoniteredExport(configurator.getUserFriendlyIOName() != null? configurator.getUserFriendlyIOName(): "Export",
@@ -311,7 +320,7 @@ public class ExportManager
                         true,
                         ExportManager.this,
                         null,
-                        urlString,
+                        urlString+urlAddition,
                         isZip);
             }
         });
index 8b3b4047f0cae4a4b65d972c7fd1cdedec4678f4..9d92c72d9f77b2abc7a34f954044a7587dae4c61 100644 (file)
@@ -9,7 +9,6 @@
 
 package eu.etaxonomy.taxeditor.io.e4.out.wfo;
 
-import java.io.File;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -81,8 +80,8 @@ public class WfoBackboneExportWizard extends
 
        @Override
        public boolean performFinish() {
-               String urlString = page.getFolderText() + File.separator
-                               + page.getExportFileName();
+               String urlString = page.getFolderText();// + File.separator
+                               //+ page.getExportFileName();
 
 
                if (StringUtils.isNotBlank(page.getFamilyString())) {
index e1c63773d41c724e703d868747783d2e3814627d..35112136160aeff7ab6b84a323cd22c4818d2237 100644 (file)
@@ -194,7 +194,7 @@ public class ExportToFileDestinationWizardPage extends WizardPage implements Sel
     public static ExportToFileDestinationWizardPage WFO(WfoBackboneExportConfigurator config) {
         return new ExportToFileDestinationWizardPage(WFO_BACKBONE_EXPORT, WFO_BACKBONE_EXPORT, "WFO Backbone Export",
                 "Export the content of the currently selected database into WFO Backbone format."
-                , ZIP, config);
+                , CSV, config);
     }
 
     public static ExportToFileDestinationWizardPage CdmLight(CdmLightExportConfigurator config) {
@@ -303,7 +303,11 @@ public class ExportToFileDestinationWizardPage extends WizardPage implements Sel
             Composite selectNodeOrClassification = new Composite(composite, SWT.NONE);
             GridLayout grid = new GridLayout();
             grid.numColumns = 1;
+            GridData gridDataNode = new  GridData(SWT.FILL, SWT.FILL, true, false);
+            gridDataNode.horizontalSpan = 2;
+
             selectNodeOrClassification.setLayout(grid);
+            selectNodeOrClassification.setLayoutData(gridDataNode);
             if ((cdmLightExport || dwcaExport || colDPExport || wfoBackboneExport) && !configurator.getTaxonNodeFilter().getSubtreeFilter().isEmpty()) {
                 if (!wfoBackboneExport) {
                     checkUseSelectedTaxonNode = new Button(selectNodeOrClassification, SWT.RADIO);
@@ -337,12 +341,16 @@ public class ExportToFileDestinationWizardPage extends WizardPage implements Sel
                     Composite wfoComp = new Composite(selectNodeOrClassification, SWT.NONE);
                     grid = new GridLayout();
                     grid.numColumns = 2;
+                    GridData gridDataWfo = new GridData(SWT.FILL, SWT.FILL, true, false);
+                    gridDataWfo.grabExcessHorizontalSpace=true;
+                   // gridDataWfo.horizontalSpan=2;
                     wfoComp.setLayout(grid);
+                    wfoComp.setLayoutData(gridDataWfo);
 
                     Label label = new Label(wfoComp, SWT.NONE);
                     label.setText("Export all selected subtree(s) (" + taxonStr + ")");
                     GridData gridData = new GridData();
-                    gridData.horizontalSpan = 2;
+                    gridData.horizontalSpan = 3;
                     gridData.grabExcessHorizontalSpace = true;
                     label.setLayoutData(gridData);
 
@@ -350,12 +358,18 @@ public class ExportToFileDestinationWizardPage extends WizardPage implements Sel
                     familyString.setText("Family");
                     text_familyString = new Text(wfoComp, SWT.BORDER);
                     text_familyString.setText(generateFamilyName(selectedNodes));
-                    text_familyString.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
+                    GridData gridFamily = new GridData(SWT.FILL, SWT.FILL, true, false);
+
+                    text_familyString.setLayoutData(gridFamily);
+
+
                     Label baseUrlString = new Label(wfoComp, SWT.NONE);
                     baseUrlString.setText("Base url");
                     text_baseUrl = new Text(wfoComp, SWT.BORDER);
-                    text_baseUrl.setText("");
-                    text_baseUrl.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
+
+                    GridData gridDataBaseUrl = new GridData(SWT.FILL, SWT.FILL, true, false);
+
+                    text_baseUrl.setLayoutData(gridDataBaseUrl);
                     text_baseUrl.setToolTipText("The base url without /cdm_dataportal/taxon/{uuid}  e.g. https://portal.cybertaxonomy.org/salvador");
 
 
@@ -504,7 +518,7 @@ public class ExportToFileDestinationWizardPage extends WizardPage implements Sel
                 }
             }
         });
-        if (!cdmLightExport) {
+        if (!cdmLightExport && !wfoBackboneExport) {
 
             Label fileLabel = new Label(composite, SWT.NONE);
             fileLabel.setText("Filename");