import eu.etaxonomy.cdm.api.service.IClassificationService;
import eu.etaxonomy.cdm.model.taxon.Classification;
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator;
+import eu.etaxonomy.taxeditor.navigation.operation.CreateNewTaxonHierarchyOperation;
import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.store.StoreUtil;
-public class FixClassificationHierarchyHandler extends AbstractHandler {
+public class CreateClassificationHierarchyHandler extends AbstractHandler {
- private static final Logger logger = Logger.getLogger(FixClassificationHierarchyHandler.class);
+ private static final Logger logger = Logger.getLogger(CreateClassificationHierarchyHandler.class);
TaxonNavigator taxonNavigator = (TaxonNavigator)NavigationUtil.showView(TaxonNavigator.ID);
/*
Classification classification = (Classification) selectedElement;
try {
- IClassificationService service = CdmStore.getService(IClassificationService.class);
+// IClassificationService service = CdmStore.getService(IClassificationService.class);
// Map<String, List<TaxonNode>> sortedGenusList =
// service.getSortedGenusList(classification.getAllNodes());
- Classification newClassification = service.createHierarchyInClassification(classification, null);
- MessagingUtils.messageDialog("Fix Hierarchy successful",
- FixClassificationHierarchyHandler.class, "Operation 'Fix Hierarchy' was successful. New classification is " + newClassification.getTitleCache());
+ CreateNewTaxonHierarchyOperation operation = new CreateNewTaxonHierarchyOperation("Create Taxon Hierarchy", StoreUtil.getUndoContext(),classification,NavigationUtil.getNavigator(false), NavigationUtil.getNavigator(false) );
+
+ AbstractUtility.executeOperation(operation);
+// UpdateResult result = service.createHierarchyInClassification(classification, null);
+//
+// Classification classification2 = CdmBase.deproxy(result.getCdmEntity(), Classification.class);
+//
+// Set<CdmBase> updatedObjects = result.getUpdatedObjects();
+//
+// Shell activeShell = HandlerUtil.getActiveShell(event);
+
+// MessagingUtils.messageDialog("Add Hierarchy successful",
+// FixClassificationHierarchyHandler.class, "Operation 'Fix Hierarchy' was successful. New classification is "
+// + classification2.getTitleCache() + "\nUpdated Objects: " + updatedObjects.size());
//Success
taxonNavigator.refresh();
} catch (Exception e) {
- MessagingUtils.messageDialog("Failed to open Editor", FixClassificationHierarchyHandler.class,
+ MessagingUtils.messageDialog("Failed to open Editor", CreateClassificationHierarchyHandler.class,
"Could not open ChecklistView. The hierarchy is corrupted!", e);
}
}