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;
}
};