Project

General

Profile

« Previous | Next » 

Revision 3ce2af15

Added by Andreas Müller about 3 years ago

ref #9541 further fixes for referencing objects and related issues

View differences:

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