1 package eu
.etaxonomy
.taxeditor
.navigation
.navigator
.handler
;
3 import org
.apache
.log4j
.Logger
;
4 import org
.eclipse
.core
.commands
.AbstractHandler
;
5 import org
.eclipse
.core
.commands
.ExecutionEvent
;
6 import org
.eclipse
.core
.commands
.ExecutionException
;
7 import org
.eclipse
.jface
.viewers
.ISelection
;
8 import org
.eclipse
.jface
.viewers
.IStructuredSelection
;
9 import org
.eclipse
.ui
.handlers
.HandlerUtil
;
11 import eu
.etaxonomy
.cdm
.model
.taxon
.Classification
;
12 import eu
.etaxonomy
.taxeditor
.model
.AbstractUtility
;
13 import eu
.etaxonomy
.taxeditor
.model
.MessagingUtils
;
14 import eu
.etaxonomy
.taxeditor
.navigation
.NavigationUtil
;
15 import eu
.etaxonomy
.taxeditor
.navigation
.navigator
.TaxonNavigator
;
16 import eu
.etaxonomy
.taxeditor
.navigation
.operation
.CreateNewTaxonHierarchyOperation
;
17 import eu
.etaxonomy
.taxeditor
.store
.StoreUtil
;
19 public class CreateClassificationHierarchyHandler
extends AbstractHandler
{
21 private static final Logger logger
= Logger
.getLogger(CreateClassificationHierarchyHandler
.class);
28 * org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.
32 public Object
execute(ExecutionEvent event
) throws ExecutionException
{
33 ISelection currentSelection
= HandlerUtil
.getCurrentSelection(event
);
34 if (currentSelection
instanceof IStructuredSelection
) {
35 Object selectedElement
= ((IStructuredSelection
) currentSelection
).getFirstElement();
36 if (selectedElement
instanceof Classification
) {
38 Classification classification
= (Classification
) selectedElement
;
40 TaxonNavigator taxonNavigator
= (TaxonNavigator
)AbstractUtility
.showView(TaxonNavigator
.ID
);
41 // IClassificationService service = CdmStore.getService(IClassificationService.class);
43 // Map<String, List<TaxonNode>> sortedGenusList =
44 // service.getSortedGenusList(classification.getAllNodes());
47 CreateNewTaxonHierarchyOperation operation
= new CreateNewTaxonHierarchyOperation("Create Taxon Hierarchy", StoreUtil
.getUndoContext(),classification
,NavigationUtil
.getNavigator(false), NavigationUtil
.getNavigator(false) );
49 AbstractUtility
.executeOperation(operation
);
50 // UpdateResult result = service.createHierarchyInClassification(classification, null);
52 // Classification classification2 = CdmBase.deproxy(result.getCdmEntity(), Classification.class);
54 // Set<CdmBase> updatedObjects = result.getUpdatedObjects();
56 // Shell activeShell = HandlerUtil.getActiveShell(event);
58 // MessagingUtils.messageDialog("Add Hierarchy successful",
59 // FixClassificationHierarchyHandler.class, "Operation 'Fix Hierarchy' was successful. New classification is "
60 // + classification2.getTitleCache() + "\nUpdated Objects: " + updatedObjects.size());
62 taxonNavigator
.refresh();
63 } catch (Exception e
) {
64 MessagingUtils
.messageDialog("Failed to open Editor", CreateClassificationHierarchyHandler
.class,
65 "Could not open distribution view. The hierarchy is corrupted!", e
);