Project

General

Profile

Download (3.35 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.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;
18

    
19
public class CreateClassificationHierarchyHandler extends AbstractHandler {
20

    
21
    private static final Logger logger = Logger.getLogger(CreateClassificationHierarchyHandler.class);
22

    
23

    
24
    /*
25
     * (non-Javadoc)
26
     *
27
     * @see
28
     * org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.
29
     * ExecutionEvent)
30
     */
31
    @Override
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) {
37

    
38
                Classification classification = (Classification) selectedElement;
39
                try {
40
                    TaxonNavigator taxonNavigator = (TaxonNavigator)AbstractUtility.showView(TaxonNavigator.ID);
41
//                    IClassificationService service = CdmStore.getService(IClassificationService.class);
42

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

    
46

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

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

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

    
72
}
(3-3/15)