reintegrated model changes from branch 3.3-MC-SNAPSHOT
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / supplemental / SourceSection.java
1 /**
2 *
3 */
4 package eu.etaxonomy.taxeditor.ui.section.supplemental;
5
6 import java.util.Collection;
7
8 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
9 import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
10 import eu.etaxonomy.cdm.model.common.IdentifiableSource;
11 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
12 import eu.etaxonomy.taxeditor.ui.dialog.selection.DerivedUnitSelectionDialog;
13 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
14 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
15 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
16 import eu.etaxonomy.cdm.model.common.OriginalSourceType;
17
18 import eu.etaxonomy.taxeditor.ui.dialog.selection.OriginalSourceTypeSelectionDialog;;
19
20 /**
21 * <p>SourceSection class.</p>
22 *
23 * @author n.hoffmann
24 * @created Nov 17, 2009
25 * @version 1.0
26 */
27 public class SourceSection extends AbstractEntityCollectionSection<IIdentifiableEntity, IdentifiableSource> {
28
29 /**
30 * <p>Constructor for SourceSection.</p>
31 *
32 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
33 * @param style a int.
34 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
35 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
36 */
37 public SourceSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
38 super(cdmFormFactory, conversation, parentElement, "Sources", style);
39 }
40
41 /** {@inheritDoc} */
42 @Override
43 public IdentifiableSource createNewElement() {
44 return IdentifiableSource.NewInstance(OriginalSourceType.PrimaryTaxonomicSource);
45 }
46
47 /** {@inheritDoc} */
48 @Override
49 public Collection<IdentifiableSource> getCollection(
50 IIdentifiableEntity entity) {
51 return entity.getSources();
52 }
53
54 /** {@inheritDoc} */
55 @Override
56 public String getEmptyString() {
57 return "No references yet.";
58 }
59
60 /** {@inheritDoc} */
61 @Override
62 protected String getTooltipString() {
63 return "Create a new reference.";
64 }
65
66 /** {@inheritDoc} */
67 @Override
68 public void addElement(IdentifiableSource element) {
69 getEntity().addSource(element);
70 }
71
72 /** {@inheritDoc} */
73 @Override
74 public void removeElement(IdentifiableSource element) {
75 getEntity().removeSource(element);
76 }
77
78 }