Project

General

Profile

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

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

    
4
import eu.etaxonomy.cdm.model.molecular.DnaSample;
5
import eu.etaxonomy.cdm.model.occurrence.DerivationEventType;
6
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
7
import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
8
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
9

    
10
public class AddDnaSampleHandler extends AbstractAddDerivativeHandler{
11

    
12
    @Override
13
    protected boolean isAllowed(Object derivative) {
14
        if(derivative instanceof FieldUnit || (derivative instanceof DerivedUnit
15
                && ((DerivedUnit) derivative).getRecordBasis().equals(SpecimenOrObservationType.PreservedSpecimen))
16
                || (derivative instanceof DnaSample && ((DnaSample)derivative).getRecordBasis()==SpecimenOrObservationType.TissueSample)){
17
            return true;
18
        }
19
        return false;
20
    }
21

    
22
    /**
23
     * {@inheritDoc}
24
     */
25
    @Override
26
    protected DerivedUnit createDerivative() {
27
        DnaSample dnaSample = DnaSample.NewInstance();
28
        dnaSample.setRecordBasis(SpecimenOrObservationType.DnaSample);
29
        return dnaSample;
30
    }
31

    
32
    /**
33
     * {@inheritDoc}
34
     */
35
    @Override
36
    protected DerivationEventType getDerivationeType() {
37
        return DerivationEventType.DNA_EXTRACTION();
38
    }
39

    
40
}
(3-3/18)