public IStatus execute(IProgressMonitor monitor, IAdaptable info)\r
throws ExecutionException {\r
\r
- // Start the main progress monitor.\r
- IProgressMonitor newMonitor = StoreUtil.startMainMonitor(monitor,"Changing Synonym to Misapplication", 6);\r
- \r
- // Do one step\r
- newMonitor.worked(1);\r
+ // get name from synonym\r
+ TaxonNameBase<?, ?> synonymName = synonym.getName();\r
\r
- try {\r
- // Operation steps\r
-\r
- // get name from synonym\r
- TaxonNameBase<?, ?> synonymName = synonym.getName();\r
- StoreUtil.isCanceled(newMonitor, 1);\r
-\r
- // make misapplied name with synonym name\r
- misapplication = Taxon.NewInstance(synonymName, null);\r
- StoreUtil.isCanceled(newMonitor, 1);\r
- \r
- // store synonymRelationshipType for later undo operations\r
- synonymTypes = synonym.getRelationType(taxon);\r
- StoreUtil.isCanceled(newMonitor, 1);\r
- \r
- // remove synonym from taxon \r
- taxon.removeSynonym(synonym);\r
- StoreUtil.isCanceled(newMonitor, 1);\r
- \r
- // add misapplied name to taxon\r
- // TODO add microcitation for misapplied name to property sheet (if microcitation is indeed needed?!)\r
- taxon.addMisappliedName(misapplication, null, null);\r
- StoreUtil.isCanceled(newMonitor, 1);\r
- }\r
- finally {\r
- \r
- // Stop the progress monitor.\r
- newMonitor.done();\r
- }\r
+ // make misapplied name with synonym name\r
+ misapplication = Taxon.NewInstance(synonymName, null);\r
+ monitor.worked(20);\r
+ \r
+ // store synonymRelationshipType for later undo operations\r
+ synonymTypes = synonym.getRelationType(taxon);\r
+ \r
+ // remove synonym from taxon \r
+ taxon.removeSynonym(synonym);\r
+ monitor.worked(40);\r
+ \r
+ // add misapplied name to taxon\r
+ // TODO add microcitation for misapplied name to property sheet (if microcitation is indeed needed?!)\r
+ taxon.addMisappliedName(misapplication, null, null);\r
\r
// redraw editor if exists\r
return postExecute(misapplication);\r