Project

General

Profile

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

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

    
4
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
5
import eu.etaxonomy.cdm.model.molecular.DnaSample;
6
import eu.etaxonomy.cdm.model.molecular.Sequence;
7
import eu.etaxonomy.cdm.model.occurrence.DerivationEventType;
8
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
9
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
10
import eu.etaxonomy.taxeditor.store.CdmStore;
11

    
12
public class AddConsensusSequenceHandler extends AbstractAddDerivativeHandler{
13

    
14
    @Override
15
    protected boolean isAllowed(Object derivative) {
16
        if(derivative instanceof DnaSample && ((DnaSample)derivative).getRecordBasis()==SpecimenOrObservationType.DnaSample){
17
            return true;
18
        }
19
        return false;
20
    }
21

    
22
    /**
23
     * {@inheritDoc}
24
     */
25
    @Override
26
    protected Object addElement(Object selectedDerivative) {
27
        Sequence newInstance = Sequence.NewInstance((DnaSample) selectedDerivative, "", 0); //$NON-NLS-1$
28
        CdmStore.getService(IOccurrenceService.class).merge((DnaSample) selectedDerivative, true);
29
        return newInstance;
30
    }
31

    
32
    /**
33
     * {@inheritDoc}
34
     */
35
    @Override
36
    protected DerivedUnit createDerivative() {
37
        //not used here
38
        return null;
39
    }
40

    
41
    /**
42
     * {@inheritDoc}
43
     */
44
    @Override
45
    protected DerivationEventType getDerivationeType() {
46
        //not used here
47
        return null;
48
    }
49

    
50
}
(2-2/16)