Revision 325e86cf
Added by Patrick Plitzner over 5 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/e4/handler/DeleteTermBaseHandlerE4.java | ||
---|---|---|
8 | 8 |
*/ |
9 | 9 |
package eu.etaxonomy.taxeditor.editor.definedterm.e4.handler; |
10 | 10 |
|
11 |
import java.util.UUID; |
|
12 |
|
|
11 | 13 |
import javax.inject.Named; |
12 | 14 |
|
13 | 15 |
import org.eclipse.core.commands.operations.IUndoContext; |
... | ... | |
21 | 23 |
import org.eclipse.jface.dialogs.MessageDialog; |
22 | 24 |
import org.eclipse.jface.viewers.IStructuredSelection; |
23 | 25 |
|
24 |
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
|
|
25 |
import eu.etaxonomy.cdm.model.common.TermBase;
|
|
26 |
import eu.etaxonomy.cdm.model.common.TermVocabulary;
|
|
26 |
import eu.etaxonomy.cdm.persistence.dto.AbstractTermDto;
|
|
27 |
import eu.etaxonomy.cdm.persistence.dto.TermDto;
|
|
28 |
import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto;
|
|
27 | 29 |
import eu.etaxonomy.taxeditor.editor.definedterm.e4.DefinedTermEditorE4; |
28 | 30 |
import eu.etaxonomy.taxeditor.editor.definedterm.operation.DeleteTermBaseOperation; |
29 | 31 |
import eu.etaxonomy.taxeditor.model.AbstractUtility; |
... | ... | |
59 | 61 |
AbstractPostOperation operation = |
60 | 62 |
new DeleteTermBaseOperation(label, |
61 | 63 |
undoContext, |
62 |
(TermBase) selection.getFirstElement(),
|
|
64 |
(AbstractTermDto) selection.getFirstElement(),
|
|
63 | 65 |
termEditor.getDefinedTermEditorInput(), |
64 | 66 |
termEditor); |
65 | 67 |
AbstractUtility.executeOperation(operation, sync); |
... | ... | |
71 | 73 |
boolean canExecute = false; |
72 | 74 |
Object firstElement = selection.getFirstElement(); |
73 | 75 |
canExecute = selection.size()==1 |
74 |
&& |
|
75 |
(firstElement instanceof DefinedTermBase |
|
76 |
|| firstElement instanceof TermVocabulary); |
|
77 |
TermVocabulary vocabulary = null; |
|
78 |
if(firstElement instanceof DefinedTermBase){ |
|
79 |
vocabulary = ((DefinedTermBase) firstElement).getVocabulary(); |
|
80 |
}else if(firstElement instanceof TermVocabulary){ |
|
81 |
vocabulary = (TermVocabulary) firstElement; |
|
76 |
&& (firstElement instanceof AbstractTermDto); |
|
77 |
UUID vocabularyUuid = null; |
|
78 |
if(firstElement instanceof TermDto){ |
|
79 |
vocabularyUuid = ((TermDto) firstElement).getVocabularyUuid(); |
|
80 |
}else if(firstElement instanceof TermVocabularyDto){ |
|
81 |
vocabularyUuid = ((TermVocabularyDto) firstElement).getUuid(); |
|
82 | 82 |
} |
83 |
canExecute &= vocabulary!=null; |
|
83 |
canExecute &= vocabularyUuid!=null;
|
|
84 | 84 |
menuItem.setVisible(canExecute); |
85 | 85 |
return canExecute; |
86 | 86 |
} |
Also available in: Unified diff
ref #7887 Convert delete handler/operation to DTOs