+ public Job createIOServiceJob(final GbifImportConfigurator<GbifImportState, InputStream> configurator) {
+ Assert.isNotNull(configurator, "Configuration may not be null");
+ final Display display = Display.getDefault();
+ Job job = new Job("Import: " + " Dwca") {
+
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ monitor.beginTask("Importing data", IProgressMonitor.UNKNOWN);
+ IIOService ioService = CdmApplicationState.getIOService();
+
+ ImportResult result = ioService.importDataFromStream(configurator);
+ monitor.done();
+
+// display.asyncExec(new Runnable() {
+//
+// @Override
+// public void run() {
+// CdmStore.getContextManager().notifyContextRefresh();
+// }
+// });
+ showResult("Gbif Import", display, result);
+ return Status.OK_STATUS;
+ }
+ };
+
+ return job;
+
+ }
+
+ public Job createIOServiceJob(final Abcd206ImportConfigurator configurator) {
+ Assert.isNotNull(configurator, "Configuration may not be null");
+ final Display display = Display.getDefault();
+ Job job = new Job("Import: " + " Dwca") {
+
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ monitor.beginTask("Importing data", IProgressMonitor.UNKNOWN);
+ IIOService ioService = CdmApplicationState.getIOService();
+
+ ImportResult result = ioService.importDataFromStream(configurator);
+ monitor.done();
+
+ display.asyncExec(new Runnable() {
+
+ @Override
+ public void run() {
+ CdmStore.getContextManager().notifyContextRefresh();
+ }
+ });
+ showResult("Abcd Import", display, result);
+ return Status.OK_STATUS;
+ }
+ };
+
+ return job;
+
+ }
+
+ public Job createIOServiceJob(
+ final List<Abcd206ImportConfigurator> abcdConfigurators) {
+ Assert.isNotNull(abcdConfigurators, "Configuration may not be null");
+ final Display display = Display.getDefault();
+ Job job = new Job("Import: " + " Abcd") {
+
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ monitor.beginTask("Importing data", IProgressMonitor.UNKNOWN);
+ IIOService ioService = CdmApplicationState.getIOService();
+
+ ImportResult result = ioService.importDataFromStream(abcdConfigurators);
+ monitor.done();
+
+ display.asyncExec(new Runnable() {
+
+ @Override
+ public void run() {
+ CdmStore.getContextManager().notifyContextRefresh();
+ }
+ });
+ showResult("Abcd Import", display, result);
+
+
+
+ return Status.OK_STATUS;
+ }
+ };
+
+ return job;
+ }
+
+ 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;
+ importResult =ioService.updateSortIndex(config);
+ } else if (configurator instanceof CacheUpdaterConfigurator){
+ CacheUpdaterConfigurator config = (CacheUpdaterConfigurator) configurator;
+ importResult = ioService.updateCaches(config);
+ } else if (configurator instanceof ExcelDistributionUpdateConfigurator){
+ ExcelDistributionUpdateConfigurator config = (ExcelDistributionUpdateConfigurator) configurator;
+ importResult =ioService.updateDistributionData(config);
+ }
+
+ monitor.done();
+// display.asyncExec(new Runnable() {
+//
+// @Override
+// public void run() {
+// CdmStore.getContextManager().notifyContextRefresh();
+// }
+// });
+ showResult(configurator.getClass().getSimpleName(), display, importResult);
+
+
+ return Status.OK_STATUS;
+ }
+
+
+ };
+
+ return job;
+
+ }
+
+ /**
+ * @return
+ */
+ public ExcelDistributionUpdateConfigurator ExcelDistributionUpdateConfigurator() {
+ return (ExcelDistributionUpdateConfigurator) getConfigurator(TYPE.Excel_Distribution);
+ }
+
+
+
+
+
+