Revision 35fc6f00
Added by Alexander Oppermann almost 9 years ago
.gitattributes | ||
---|---|---|
978 | 978 |
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/dnd/TaxonNavigatorDragAdapterAssistant.java -text |
979 | 979 |
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/ChangeAcceptedTaxonToSynonymHandler.java -text |
980 | 980 |
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/CopyHandler.java -text |
981 |
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/CreateClassificationHierarchyHandler.java -text |
|
981 | 982 |
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/DeleteHandler.java -text |
982 | 983 |
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/EditHandler.java -text |
983 |
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/FixClassificationHierarchyHandler.java -text |
|
984 | 984 |
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/MoveFactualDataHandler.java -text |
985 | 985 |
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/MoveTaxonHandler.java -text |
986 | 986 |
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/NewClassificationHandler.java -text |
... | ... | |
993 | 993 |
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/EditClassificationOperation.java -text |
994 | 994 |
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/MoveTaxonOperation.java -text |
995 | 995 |
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/operation/CreateClassification.java -text |
996 |
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/operation/CreateNewTaxonHierarchyOperation.java -text |
|
996 | 997 |
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/operation/CreatePolytomousKey.java -text |
997 | 998 |
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/operation/CreateTaxonNode.java -text |
998 | 999 |
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/Messages.java -text |
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientClassificationService.java | ||
---|---|---|
22 | 22 |
|
23 | 23 |
import eu.etaxonomy.cdm.api.service.DeleteResult; |
24 | 24 |
import eu.etaxonomy.cdm.api.service.IClassificationService; |
25 |
import eu.etaxonomy.cdm.api.service.UpdateResult; |
|
25 | 26 |
import eu.etaxonomy.cdm.api.service.config.CreateHierarchyForClassificationConfigurator; |
26 | 27 |
import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase; |
27 | 28 |
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator; |
... | ... | |
940 | 941 |
* @see eu.etaxonomy.cdm.api.service.IClassificationService#createHierarchyInClassification(java.util.Map, eu.etaxonomy.cdm.model.taxon.Classification) |
941 | 942 |
*/ |
942 | 943 |
@Override |
943 |
public Classification createHierarchyInClassification(Classification arg1, CreateHierarchyForClassificationConfigurator arg2) {
|
|
944 |
public UpdateResult createHierarchyInClassification(Classification arg1, CreateHierarchyForClassificationConfigurator arg2) {
|
|
944 | 945 |
return defaultService.createHierarchyInClassification(arg1, arg2); |
945 | 946 |
} |
946 | 947 |
|
eu.etaxonomy.taxeditor.navigation/plugin.xml | ||
---|---|---|
418 | 418 |
name="%command.name.moveFactualData"> |
419 | 419 |
</command> |
420 | 420 |
<command |
421 |
defaultHandler="eu.etaxonomy.taxeditor.navigation.navigator.handler.FixClassificationHierarchyHandler"
|
|
421 |
defaultHandler="eu.etaxonomy.taxeditor.navigation.navigator.handler.CreateClassificationHierarchyHandler"
|
|
422 | 422 |
id="eu.etaxonomy.taxeditor.navigation.navigator.handler.OpenFixClassificationHierarchyHandler" |
423 | 423 |
name="%command.name.10"> |
424 | 424 |
</command> |
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/CreateClassificationHierarchyHandler.java | ||
---|---|---|
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 |
} |
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/FixClassificationHierarchyHandler.java | ||
---|---|---|
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.MessagingUtils; |
|
14 |
import eu.etaxonomy.taxeditor.navigation.NavigationUtil; |
|
15 |
import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator; |
|
16 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
|
17 |
|
|
18 |
public class FixClassificationHierarchyHandler extends AbstractHandler { |
|
19 |
|
|
20 |
private static final Logger logger = Logger.getLogger(FixClassificationHierarchyHandler.class); |
|
21 |
|
|
22 |
TaxonNavigator taxonNavigator = (TaxonNavigator)NavigationUtil.showView(TaxonNavigator.ID); |
|
23 |
/* |
|
24 |
* (non-Javadoc) |
|
25 |
* |
|
26 |
* @see |
|
27 |
* org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands. |
|
28 |
* ExecutionEvent) |
|
29 |
*/ |
|
30 |
@Override |
|
31 |
public Object execute(ExecutionEvent event) throws ExecutionException { |
|
32 |
ISelection currentSelection = HandlerUtil.getCurrentSelection(event); |
|
33 |
if (currentSelection instanceof IStructuredSelection) { |
|
34 |
Object selectedElement = ((IStructuredSelection) currentSelection).getFirstElement(); |
|
35 |
if (selectedElement instanceof Classification) { |
|
36 |
|
|
37 |
Classification classification = (Classification) selectedElement; |
|
38 |
try { |
|
39 |
IClassificationService service = CdmStore.getService(IClassificationService.class); |
|
40 |
|
|
41 |
// Map<String, List<TaxonNode>> sortedGenusList = |
|
42 |
// service.getSortedGenusList(classification.getAllNodes()); |
|
43 |
|
|
44 |
Classification newClassification = service.createHierarchyInClassification(classification, null); |
|
45 |
|
|
46 |
MessagingUtils.messageDialog("Fix Hierarchy successful", |
|
47 |
FixClassificationHierarchyHandler.class, "Operation 'Fix Hierarchy' was successful. New classification is " + newClassification.getTitleCache()); |
|
48 |
//Success |
|
49 |
taxonNavigator.refresh(); |
|
50 |
} catch (Exception e) { |
|
51 |
MessagingUtils.messageDialog("Failed to open Editor", FixClassificationHierarchyHandler.class, |
|
52 |
"Could not open ChecklistView. The hierarchy is corrupted!", e); |
|
53 |
} |
|
54 |
} |
|
55 |
} |
|
56 |
return null; |
|
57 |
} |
|
58 |
|
|
59 |
} |
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/operation/CreateNewTaxonHierarchyOperation.java | ||
---|---|---|
1 |
// $Id$ |
|
2 |
/** |
|
3 |
* Copyright (C) 2015 EDIT |
|
4 |
* European Distributed Institute of Taxonomy |
|
5 |
* http://www.e-taxonomy.eu |
|
6 |
* |
|
7 |
* The contents of this file are subject to the Mozilla Public License Version 1.1 |
|
8 |
* See LICENSE.TXT at the top of this package for the full license terms. |
|
9 |
*/ |
|
10 |
package eu.etaxonomy.taxeditor.navigation.operation; |
|
11 |
|
|
12 |
import java.util.Set; |
|
13 |
|
|
14 |
import org.eclipse.core.commands.ExecutionException; |
|
15 |
import org.eclipse.core.commands.operations.IUndoContext; |
|
16 |
import org.eclipse.core.runtime.IAdaptable; |
|
17 |
import org.eclipse.core.runtime.IProgressMonitor; |
|
18 |
import org.eclipse.core.runtime.IStatus; |
|
19 |
|
|
20 |
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; |
|
21 |
import eu.etaxonomy.cdm.api.service.IClassificationService; |
|
22 |
import eu.etaxonomy.cdm.api.service.UpdateResult; |
|
23 |
import eu.etaxonomy.cdm.model.common.CdmBase; |
|
24 |
import eu.etaxonomy.cdm.model.taxon.Classification; |
|
25 |
import eu.etaxonomy.taxeditor.model.MessagingUtils; |
|
26 |
import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation; |
|
27 |
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled; |
|
28 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
|
29 |
|
|
30 |
/** |
|
31 |
* @author a.oppermann |
|
32 |
* @date 28.04.2015 |
|
33 |
* |
|
34 |
*/ |
|
35 |
public class CreateNewTaxonHierarchyOperation extends AbstractPersistentPostOperation { |
|
36 |
|
|
37 |
private final Classification classification; |
|
38 |
|
|
39 |
private final IClassificationService service; |
|
40 |
|
|
41 |
/** |
|
42 |
* @param label |
|
43 |
* @param undoContext |
|
44 |
*/ |
|
45 |
public CreateNewTaxonHierarchyOperation(String label, IUndoContext undoContext, Classification classification, |
|
46 |
IPostOperationEnabled postOperationEnabled, |
|
47 |
IConversationEnabled conversationEnabled) { |
|
48 |
super(label, undoContext, postOperationEnabled, conversationEnabled); |
|
49 |
|
|
50 |
this.classification = classification; |
|
51 |
this.service = CdmStore.getService(IClassificationService.class); |
|
52 |
|
|
53 |
} |
|
54 |
|
|
55 |
@Override |
|
56 |
public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { |
|
57 |
|
|
58 |
monitor.worked(20); |
|
59 |
UpdateResult result = service.createHierarchyInClassification(classification, null); |
|
60 |
monitor.worked(60); |
|
61 |
Set<CdmBase> updatedObjects = result.getUpdatedObjects(); |
|
62 |
Set<CdmBase> unchangedObjects = result.getUnchangedObjects(); |
|
63 |
Classification classification2 = CdmBase.deproxy(result.getCdmEntity(), Classification.class); |
|
64 |
|
|
65 |
MessagingUtils.informationDialog("Add Hierarchy successful", "New classification is " |
|
66 |
+ classification2.getTitleCache() + "\nCreated Genus: " + updatedObjects.size() |
|
67 |
+"\nCreated Subspecies: " + unchangedObjects.size()); |
|
68 |
|
|
69 |
return postExecute(result.getCdmEntity()); |
|
70 |
} |
|
71 |
|
|
72 |
@Override |
|
73 |
public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { |
|
74 |
return null; |
|
75 |
} |
|
76 |
|
|
77 |
@Override |
|
78 |
public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { |
|
79 |
return null; |
|
80 |
} |
|
81 |
|
|
82 |
} |
Also available in: Unified diff
Partial fix of Ticket #4728