Merge branch 'develop' into feature/cdm-4.7
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / derivate / handler / AddConsensusSequenceHandler.java
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 }