Project

General

Profile

Download (3.44 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.taxeditor.navigation.navigator.handler;
2

    
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;
10

    
11
import eu.etaxonomy.cdm.api.service.IClassificationService;
12
import eu.etaxonomy.cdm.model.taxon.Classification;
13
import eu.etaxonomy.taxeditor.model.AbstractUtility;
14
import eu.etaxonomy.taxeditor.model.MessagingUtils;
15
import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
16
import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator;
17
import eu.etaxonomy.taxeditor.navigation.operation.CreateNewTaxonHierarchyOperation;
18
import eu.etaxonomy.taxeditor.store.CdmStore;
19
import eu.etaxonomy.taxeditor.store.StoreUtil;
20

    
21
public class CreateClassificationHierarchyHandler extends AbstractHandler {
22

    
23
    private static final Logger logger = Logger.getLogger(CreateClassificationHierarchyHandler.class);
24

    
25
    TaxonNavigator taxonNavigator = (TaxonNavigator)NavigationUtil.showView(TaxonNavigator.ID);
26
    /*
27
     * (non-Javadoc)
28
     *
29
     * @see
30
     * org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.
31
     * ExecutionEvent)
32
     */
33
    @Override
34
    public Object execute(ExecutionEvent event) throws ExecutionException {
35
        ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
36
        if (currentSelection instanceof IStructuredSelection) {
37
            Object selectedElement = ((IStructuredSelection) currentSelection).getFirstElement();
38
            if (selectedElement instanceof Classification) {
39

    
40
                Classification classification = (Classification) selectedElement;
41
                try {
42
//                    IClassificationService service = CdmStore.getService(IClassificationService.class);
43

    
44
                    // Map<String, List<TaxonNode>> sortedGenusList =
45
                    // service.getSortedGenusList(classification.getAllNodes());
46

    
47

    
48
                    CreateNewTaxonHierarchyOperation operation = new CreateNewTaxonHierarchyOperation("Create Taxon Hierarchy", StoreUtil.getUndoContext(),classification,NavigationUtil.getNavigator(false), NavigationUtil.getNavigator(false) );
49

    
50
                    AbstractUtility.executeOperation(operation);
51
//                    UpdateResult result = service.createHierarchyInClassification(classification, null);
52
//
53
//                    Classification classification2 = CdmBase.deproxy(result.getCdmEntity(), Classification.class);
54
//
55
//                    Set<CdmBase> updatedObjects = result.getUpdatedObjects();
56
//
57
//                    Shell activeShell = HandlerUtil.getActiveShell(event);
58

    
59
//                    MessagingUtils.messageDialog("Add Hierarchy successful",
60
//                            FixClassificationHierarchyHandler.class, "Operation 'Fix Hierarchy' was successful. New classification is "
61
//                    + classification2.getTitleCache() + "\nUpdated Objects: " + updatedObjects.size());
62
                    //Success
63
                    taxonNavigator.refresh();
64
                } catch (Exception e) {
65
                    MessagingUtils.messageDialog("Failed to open Editor", CreateClassificationHierarchyHandler.class,
66
                            "Could not open ChecklistView. The hierarchy is corrupted!", e);
67
                }
68
            }
69
        }
70
        return null;
71
    }
72

    
73
}
(3-3/11)