Merge branch 'develop' into feature/cdm-4.7
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / derivate / handler / AddTissueSampleHandler.java
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 AddTissueSampleHandler 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 return true;
17 }
18 return false;
19 }
20
21
22 /**
23 * {@inheritDoc}
24 */
25 @Override
26 protected DerivedUnit createDerivative() {
27 DnaSample dnaSample = DnaSample.NewInstance();
28 dnaSample.setRecordBasis(SpecimenOrObservationType.TissueSample);
29 return dnaSample;
30 }
31
32 /**
33 * {@inheritDoc}
34 */
35 @Override
36 protected DerivationEventType getDerivationeType() {
37 return DerivationEventType.PREPARATION();
38 }
39
40 }