import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.ui.progress.IProgressConstants;
+import eu.etaxonomy.cdm.config.ICdmSource;
+import eu.etaxonomy.cdm.database.ICdmDataSource;
import eu.etaxonomy.cdm.database.update.CdmUpdater;
import eu.etaxonomy.taxeditor.model.CdmProgressMonitorAdapter;
import eu.etaxonomy.taxeditor.store.StoreUtil;
"Are you sure you want to update the datasource?", SWT.NONE)){
return false;
}
- Job job = new Job("Updating datasource " + container.getDataSource().getName()){
+ Job job = new Job("Updating datasource " + container.getCdmSource().getName()){
@Override
protected IStatus run(IProgressMonitor monitor) {
CdmUpdater updater = new CdmUpdater();
IStatus status = null;
-
+ ICdmSource cdmSource = container.getCdmSource();
+ //FIXME:Remoting we need another updater for ICdmRemoteSource
+ if(cdmSource instanceof ICdmDataSource) {
try{
- if(updater.updateToCurrentVersion(container.getDataSource(), CdmProgressMonitorAdapter.CreateMonitor(monitor))){
+ if(updater.updateToCurrentVersion((ICdmDataSource)cdmSource, CdmProgressMonitorAdapter.CreateMonitor(monitor))){
display.asyncExec(new Runnable(){
@Override
status = new Status(IStatus.ERROR, TaxeditorStorePlugin.PLUGIN_ID, e.getMessage(), e);
StoreUtil.errorDialog("Could not run updater", getClass(), status.getMessage());
}
-
+ }
return status;
}