1 |
48e42214
|
Patrick Plitzner
|
|
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 |
0c3d26b2
|
Katja Luther
|
import eu.etaxonomy.cdm.model.media.Media;
|
9 |
48e42214
|
Patrick Plitzner
|
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 |
0c3d26b2
|
Katja Luther
|
// @Inject
|
19 |
|
|
// private EModelService modelService;
|
20 |
48e42214
|
Patrick Plitzner
|
|
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 |
0c3d26b2
|
Katja Luther
|
MediaSpecimen mediaSpecimen = MediaSpecimen.NewInstance(SpecimenOrObservationType.StillImage);
|
38 |
|
|
mediaSpecimen.setMediaSpecimen(Media.NewInstance());
|
39 |
|
|
return mediaSpecimen;
|
40 |
48e42214
|
Patrick Plitzner
|
}
|
41 |
|
|
|
42 |
|
|
/**
|
43 |
|
|
* {@inheritDoc}
|
44 |
|
|
*/
|
45 |
|
|
@Override
|
46 |
|
|
protected DerivationEventType getDerivationeType() {
|
47 |
|
|
return DerivationEventType.ACCESSIONING();
|
48 |
|
|
}
|
49 |
|
|
|
50 |
|
|
}
|