Project

General

Profile

Download (1.54 KB) Statistics
| Branch: | Tag: | Revision:
1

    
2
package eu.etaxonomy.taxeditor.editor.view.derivate.handler;
3

    
4
import javax.inject.Inject;
5

    
6
import org.eclipse.e4.ui.workbench.modeling.EModelService;
7

    
8
import eu.etaxonomy.cdm.model.molecular.DnaSample;
9
import eu.etaxonomy.cdm.model.occurrence.DerivationEventType;
10
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
11
import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
12
import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen;
13
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
14

    
15
public class AddMediaSpecimenHandler extends AbstractAddDerivativeHandler{
16

    
17
    @Inject
18
    private EModelService modelService;
19

    
20
    @Override
21
    protected boolean isAllowed(Object derivative) {
22
        if(derivative instanceof FieldUnit
23
                || (derivative instanceof DerivedUnit && ((DerivedUnit) derivative).getRecordBasis().equals(SpecimenOrObservationType.PreservedSpecimen))
24
                || (derivative instanceof DnaSample && ((DnaSample)derivative).getRecordBasis()==SpecimenOrObservationType.TissueSample)
25
                || (derivative instanceof DnaSample && ((DnaSample)derivative).getRecordBasis()==SpecimenOrObservationType.DnaSample)){
26
            return true;
27
        }
28
        return false;
29
    }
30

    
31
    /**
32
     * {@inheritDoc}
33
     */
34
    @Override
35
    protected DerivedUnit createDerivative() {
36
        return MediaSpecimen.NewInstance(SpecimenOrObservationType.StillImage);
37
    }
38

    
39
    /**
40
     * {@inheritDoc}
41
     */
42
    @Override
43
    protected DerivationEventType getDerivationeType() {
44
        return DerivationEventType.ACCESSIONING();
45
    }
46

    
47
}
(5-5/17)