Project

General

Profile

Download (2.35 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.taxeditor.editor.view.derivate.handler;
2

    
3
import java.util.Collections;
4
import java.util.UUID;
5

    
6
import org.eclipse.e4.ui.workbench.modeling.EPartService;
7
import org.eclipse.jface.viewers.IStructuredSelection;
8
import org.eclipse.swt.widgets.Shell;
9

    
10
import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
11
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
12
import eu.etaxonomy.taxeditor.editor.AppModelId;
13
import eu.etaxonomy.taxeditor.editor.EditorUtil;
14
import eu.etaxonomy.taxeditor.editor.l10n.Messages;
15
import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateViewEditorInput;
16
import eu.etaxonomy.taxeditor.handler.defaultHandler.e4.DefaultOpenHandlerBaseE4;
17
import eu.etaxonomy.taxeditor.model.MessagingUtils;
18

    
19
public class OpenDerivativeEditorForDescriptionElement extends DefaultOpenHandlerBaseE4<IndividualsAssociation> {
20

    
21
//    @Override
22
//    protected IndividualsAssociation getEntity(UUID uuid) {
23
//        DescriptionElementBase descriptionElement = CdmStore.getService(IDescriptionService.class).loadDescriptionElement(uuid, null);
24
//        if(descriptionElement!=null && descriptionElement.isInstanceOf(IndividualsAssociation.class)){
25
//            return (IndividualsAssociation) descriptionElement;
26
//        }
27
//        return null;
28
//    }
29

    
30
    @Override
31
    protected void open(IndividualsAssociation entity, Shell shell, EPartService partService) {
32
    	if(entity==null || entity.getAssociatedSpecimenOrObservation()==null){
33
    		MessagingUtils.messageDialog(Messages.OpenDerivativeEditorForDescriptionElement_NO_SPECIMENS, this, Messages.OpenDerivativeEditorForDescriptionElement_NO_SPECIMENS_MESSAGE);
34
    		return;
35
    	}
36
        SpecimenOrObservationBase associatedSpecimenOrObservation = entity.getAssociatedSpecimenOrObservation();
37
        if(associatedSpecimenOrObservation!=null){
38
            UUID specimenUuid = associatedSpecimenOrObservation.getUuid();
39
            EditorUtil.openSpecimenEditor(new DerivateViewEditorInput(Collections.singletonList(specimenUuid)), modelService, partService, application);
40
        }
41
    }
42

    
43
    /**
44
     * {@inheritDoc}
45
     */
46
    @Override
47
    protected boolean canExecute(IStructuredSelection entity) {
48
        return true;
49
    }
50

    
51
    @Override
52
    protected String getPartId() {
53
        return AppModelId.PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DERIVATE_DERIVATEVIEW;
54
    }
55

    
56

    
57
}
(11-11/18)