Project

General

Profile

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

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

    
4
import eu.etaxonomy.cdm.model.media.Media;
5
import eu.etaxonomy.cdm.model.molecular.DnaSample;
6
import eu.etaxonomy.cdm.model.occurrence.DerivationEventType;
7
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
8
import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
9
import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen;
10
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
11
import eu.etaxonomy.taxeditor.model.AbstractUtility;
12
import eu.etaxonomy.taxeditor.ui.dialog.selection.MediaSelectionDialog;
13

    
14
public class AddExistingMediaHandler extends AbstractAddDerivativeHandler{
15

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

    
27
    /**
28
     * {@inheritDoc}
29
     */
30
    @Override
31
    protected DerivedUnit createDerivative() {
32
        MediaSpecimen mediaSpecimen = null;
33
        //select media
34
        Media media = MediaSelectionDialog.select(AbstractUtility.getShell(), null, null);
35
        if(media!=null){
36
            //create MediaSpecimen
37
            mediaSpecimen = MediaSpecimen.NewInstance(SpecimenOrObservationType.StillImage);
38
            mediaSpecimen.setMediaSpecimen(media);
39
        }
40
        return mediaSpecimen;
41
    }
42

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

    
51
}
(4-4/16)