Revision 3ce2af15
Added by Andreas Müller about 3 years ago
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/handler/OpenChecklistEditorHandlerE4.java | ||
---|---|---|
19 | 19 |
import org.eclipse.e4.ui.workbench.modeling.EPartService; |
20 | 20 |
import org.eclipse.swt.widgets.Shell; |
21 | 21 |
|
22 |
import eu.etaxonomy.cdm.api.service.IClassificationService; |
|
22 | 23 |
import eu.etaxonomy.cdm.model.description.Distribution; |
23 | 24 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
24 | 25 |
import eu.etaxonomy.cdm.model.permission.Operation; |
26 |
import eu.etaxonomy.cdm.model.taxon.Classification; |
|
25 | 27 |
import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode; |
26 | 28 |
import eu.etaxonomy.cdm.model.taxon.TaxonNode; |
27 |
import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
|
|
29 |
import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
|
|
28 | 30 |
import eu.etaxonomy.taxeditor.editor.AppModelId; |
29 | 31 |
import eu.etaxonomy.taxeditor.editor.EditorUtil; |
30 | 32 |
import eu.etaxonomy.taxeditor.handler.defaultHandler.e4.DefaultOpenSetBaseHandler; |
31 | 33 |
import eu.etaxonomy.taxeditor.preference.PreferencesUtil; |
32 | 34 |
import eu.etaxonomy.taxeditor.security.RequiredPermissions; |
33 | 35 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
36 |
import eu.etaxonomy.taxeditor.view.DtoWithEntity; |
|
34 | 37 |
|
35 | 38 |
/** |
36 | 39 |
* Handler to open the distribution editor via context menu |
37 | 40 |
*/ |
38 |
public class OpenChecklistEditorHandlerE4 extends DefaultOpenSetBaseHandler<ITaxonTreeNode, TaxonNodeDto> {
|
|
41 |
public class OpenChecklistEditorHandlerE4 extends DefaultOpenSetBaseHandler<ITaxonTreeNode, UuidAndTitleCache<ITaxonTreeNode>> {
|
|
39 | 42 |
|
40 | 43 |
@Override |
41 |
protected void open(List<TaxonNodeDto> entities, Shell shell, EPartService partService) { |
|
44 |
protected void open(List<UuidAndTitleCache<ITaxonTreeNode>> entities, Shell shell, EPartService partService) { |
|
45 |
replaceClassificationsByRootNode(entities); |
|
42 | 46 |
EditorUtil.openDistributionEditor(entities, modelService, partService, application); |
43 | 47 |
} |
44 | 48 |
|
49 |
public void replaceClassificationsByRootNode(List<UuidAndTitleCache<ITaxonTreeNode>> entities) { |
|
50 |
for (UuidAndTitleCache<ITaxonTreeNode> entity : entities){ |
|
51 |
if (Classification.class.isAssignableFrom(entity.getType())){ |
|
52 |
Classification c = CdmStore.getService(IClassificationService.class).find(entity.getUuid()); |
|
53 |
DtoWithEntity<ITaxonTreeNode> dto = new DtoWithEntity<ITaxonTreeNode>(c.getRootNode()); |
|
54 |
entities.set(entities.indexOf(entity),dto); |
|
55 |
} |
|
56 |
} |
|
57 |
} |
|
58 |
|
|
45 | 59 |
@CanExecute |
46 | 60 |
@Override |
47 | 61 |
public boolean canExecute(MHandledMenuItem menuItem, |
... | ... | |
80 | 94 |
} |
81 | 95 |
|
82 | 96 |
@Override |
83 |
protected boolean canExecute(TaxonNodeDto entity) {
|
|
97 |
protected boolean canExecute(UuidAndTitleCache<ITaxonTreeNode> entity) {
|
|
84 | 98 |
//FIXME DTO |
85 | 99 |
return true; |
86 | 100 |
} |
Also available in: Unified diff
ref #9541 further fixes for referencing objects and related issues