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
.l10n
.Messages
;
16 import eu
.etaxonomy
.taxeditor
.navigation
.navigator
.TaxonNavigator
;
17 import eu
.etaxonomy
.taxeditor
.navigation
.operation
.CreateNewTaxonHierarchyOperation
;
18 import eu
.etaxonomy
.taxeditor
.store
.StoreUtil
;
20 public class CreateClassificationHierarchyHandler
extends AbstractHandler
{
22 private static final Logger logger
= Logger
.getLogger(CreateClassificationHierarchyHandler
.class);
29 * org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.
33 public Object
execute(ExecutionEvent event
) throws ExecutionException
{
34 ISelection currentSelection
= HandlerUtil
.getCurrentSelection(event
);
35 if (currentSelection
instanceof IStructuredSelection
) {
36 Object selectedElement
= ((IStructuredSelection
) currentSelection
).getFirstElement();
37 if (selectedElement
instanceof Classification
) {
39 Classification classification
= (Classification
) selectedElement
;
41 TaxonNavigator taxonNavigator
= (TaxonNavigator
)AbstractUtility
.showView(TaxonNavigator
.ID
);
42 // IClassificationService service = CdmStore.getService(IClassificationService.class);
44 // Map<String, List<TaxonNode>> sortedGenusList =
45 // service.getSortedGenusList(classification.getAllNodes());
48 CreateNewTaxonHierarchyOperation operation
= new CreateNewTaxonHierarchyOperation(Messages
.CreateClassificationHierarchyHandler_CREATE_HIERARCHY
, StoreUtil
.getUndoContext(),classification
,NavigationUtil
.getNavigator(false), NavigationUtil
.getNavigator(false) );
50 AbstractUtility
.executeOperation(operation
);
51 // UpdateResult result = service.createHierarchyInClassification(classification, null);
53 // Classification classification2 = CdmBase.deproxy(result.getCdmEntity(), Classification.class);
55 // Set<CdmBase> updatedObjects = result.getUpdatedObjects();
57 // Shell activeShell = HandlerUtil.getActiveShell(event);
59 // MessagingUtils.messageDialog("Add Hierarchy successful",
60 // FixClassificationHierarchyHandler.class, "Operation 'Fix Hierarchy' was successful. New classification is "
61 // + classification2.getTitleCache() + "\nUpdated Objects: " + updatedObjects.size());
63 taxonNavigator
.refresh();
64 } catch (Exception e
) {
65 MessagingUtils
.messageDialog(Messages
.CreateClassificationHierarchyHandler_FAILED
, CreateClassificationHierarchyHandler
.class,
66 Messages
.CreateClassificationHierarchyHandler_FAILED_MESSAGE
, e
);