fix #6619: add display of the import report
authorKatja Luther <k.luther@bgbm.org>
Thu, 11 May 2017 12:09:45 +0000 (14:09 +0200)
committerKatja Luther <k.luther@bgbm.org>
Thu, 11 May 2017 12:09:45 +0000 (14:09 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/ImportManager.java

index ae75c2898aeb1f86b02e7b6388dab8e7cf846ce7..7d9edcc350fd34ecff12e2f9ef6f49f5bb1f1389 100644 (file)
@@ -507,33 +507,49 @@ public class ImportManager extends AbstractIOManager<IImportConfigurator> implem
     public Job createIOServiceJob(final ImportConfiguratorBase configurator) {
         Assert.isNotNull(configurator, "Configuration may not be null");
         final Display display = Display.getDefault();
+
         Job job = new Job("Update: " + configurator.getClass().getSimpleName()) {
 
             @Override
             protected IStatus run(IProgressMonitor monitor) {
                 monitor.beginTask("Updating data", IProgressMonitor.UNKNOWN);
                 IIOService ioService = CdmApplicationState.getIOService();
+                ImportResult importResult = null;
                 if (configurator instanceof SortIndexUpdaterConfigurator){
                     SortIndexUpdaterConfigurator config = (SortIndexUpdaterConfigurator)configurator;
-                    ioService.updateSortIndex(config);
+                    importResult =ioService.updateSortIndex(config);
                 } else if (configurator instanceof CacheUpdaterConfigurator){
                     CacheUpdaterConfigurator config = (CacheUpdaterConfigurator) configurator;
-                    ioService.updateCaches(config);
+                    importResult = ioService.updateCaches(config);
                 } else if (configurator instanceof ExcelDistributionUpdateConfigurator){
                     ExcelDistributionUpdateConfigurator config = (ExcelDistributionUpdateConfigurator) configurator;
-                    ioService.updateDistributionData(config);
+                    importResult =ioService.updateDistributionData(config);
                 }
 
                 monitor.done();
+//                display.asyncExec(new Runnable() {
+//
+//                    @Override
+//                    public void run() {
+//                        CdmStore.getContextManager().notifyContextRefresh();
+//                    }
+//                });
+                final StringBuffer reportText = importResult.createReport();
 
                 display.asyncExec(new Runnable() {
 
                     @Override
                     public void run() {
+                        // display reports with possibility to save
+                        ReportTextDialog dialog = new ReportTextDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
+                        dialog.setTitle(configurator.getClass().getSimpleName()+" Report");
+                        dialog.setReportText(reportText.toString());
+                        dialog.open();
                         CdmStore.getContextManager().notifyContextRefresh();
                     }
                 });
 
+
                 return Status.OK_STATUS;
             }
         };