Project

General

Profile

Download (1.69 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.media.Media;
9
import eu.etaxonomy.cdm.model.molecular.DnaSample;
10
import eu.etaxonomy.cdm.model.occurrence.DerivationEventType;
11
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
12
import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
13
import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen;
14
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
15

    
16
public class AddMediaSpecimenHandler extends AbstractAddDerivativeHandler{
17

    
18
//    @Inject
19
//    private EModelService modelService;
20

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

    
32
    /**
33
     * {@inheritDoc}
34
     */
35
    @Override
36
    protected DerivedUnit createDerivative() {
37
    	MediaSpecimen mediaSpecimen =  MediaSpecimen.NewInstance(SpecimenOrObservationType.StillImage);
38
    	mediaSpecimen.setMediaSpecimen(Media.NewInstance());
39
        return mediaSpecimen;
40
    }
41

    
42
    /**
43
     * {@inheritDoc}
44
     */
45
    @Override
46
    protected DerivationEventType getDerivationeType() {
47
        return DerivationEventType.ACCESSIONING();
48
    }
49

    
50
}
(5-5/18)