Project

General

Profile

Download (1.9 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,
35
                null);
36
        if(media!=null){
37
            //create MediaSpecimen
38
            mediaSpecimen = MediaSpecimen.NewInstance(SpecimenOrObservationType.StillImage);
39
            mediaSpecimen.setMediaSpecimen(media);
40
        }
41
        return mediaSpecimen;
42
    }
43

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

    
52
}
(4-4/18)