Project

General

Profile

Download (2.72 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.taxeditor.bulkeditor.handler.defaultHandler;
2

    
3
import org.eclipse.e4.ui.workbench.modeling.EPartService;
4
import org.eclipse.swt.widgets.Shell;
5

    
6
import eu.etaxonomy.cdm.model.agent.AgentBase;
7
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
8
import eu.etaxonomy.cdm.model.media.Media;
9
import eu.etaxonomy.cdm.model.name.TaxonName;
10
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
11
import eu.etaxonomy.cdm.model.reference.Reference;
12
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
13
import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
14
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil;
15
import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
16
import eu.etaxonomy.taxeditor.handler.defaultHandler.e4.DefaultOpenHandlerBaseE4;
17

    
18
public class OpenBulkEditorForIdentifiableEntityE4 extends DefaultOpenHandlerBaseE4<Object>{
19

    
20
    /**
21
     * {@inheritDoc}
22
     */
23
//    @Override
24
//    protected IdentifiableEntity getEntity(UUID uuid) {
25
//        return CdmStore.getCommonService().find(IdentifiableEntity.class, uuid);
26
//    }
27

    
28
    /**
29
     * {@inheritDoc}
30
     */
31
    @Override
32
    protected void open(Object entity, Shell shell, EPartService partService) {
33
        AbstractBulkEditorInput input = null;
34
        if (entity instanceof UuidAndTitleCache){
35
            AbstractBulkEditorInput.NewInstance(((UuidAndTitleCache)entity).getClass(), ((UuidAndTitleCache)entity).getUuid());
36
        }else if (entity instanceof IdentifiableEntity){
37
            input = AbstractBulkEditorInput.NewInstance((IdentifiableEntity)entity);
38
        }
39
        BulkEditorUtil.openBulkEditor(input, modelService, partService, application);
40
    }
41

    
42
    /**
43
     * {@inheritDoc}
44
     */
45
    @Override
46
    protected boolean canExecute(Object entity) {
47
        if (entity instanceof UuidAndTitleCache){
48
            return (TaxonName.class.isAssignableFrom(((UuidAndTitleCache)entity).getType())
49
                    || AgentBase.class.isAssignableFrom(((UuidAndTitleCache)entity).getType())
50
                    || SpecimenOrObservationBase.class.isAssignableFrom(((UuidAndTitleCache)entity).getType())
51
                    || TaxonBase.class.isAssignableFrom(((UuidAndTitleCache)entity).getType())
52
                    || Reference.class.isAssignableFrom(((UuidAndTitleCache)entity).getType()));
53
        }
54

    
55
        return entity instanceof Reference
56
            || entity instanceof TaxonName
57
            || entity instanceof AgentBase
58
            || entity instanceof SpecimenOrObservationBase
59
            || entity instanceof TaxonBase
60
            || entity instanceof Media
61
            ;
62

    
63
   }
64

    
65
    @Override
66
    protected String getPartId() {
67
        return eu.etaxonomy.taxeditor.bulkeditor.AppModelId.PARTDESCRIPTOR_BULKEDITOR_EDITOR;
68
    }
69

    
70
}
(1-1/2)