- fixed saving problem due to cloning of FieldUnit
[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.taxeditor.ui.campanula.compatibility.ICdmFormElement;
12 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
13 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
14 import eu.etaxonomy.cdm.model.common.OriginalSourceType;
15
16 import eu.etaxonomy.taxeditor.ui.dialog.selection.OriginalSourceTypeSelectionDialog;;
17
18 /**
19 * <p>SourceSection class.</p>
20 *
21 * @author n.hoffmann
22 * @created Nov 17, 2009
23 * @version 1.0
24 */
25 public class SourceSection extends AbstractEntityCollectionSection<IIdentifiableEntity, IdentifiableSource> {
26
27 /**
28 * <p>Constructor for SourceSection.</p>
29 *
30 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
31 * @param style a int.
32 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
33 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
34 */
35 public SourceSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
36 super(cdmFormFactory, conversation, parentElement, "Sources", style);
37 }
38
39 /** {@inheritDoc} */
40 @Override
41 public IdentifiableSource createNewElement() {
42 return IdentifiableSource.NewInstance(OriginalSourceType.PrimaryTaxonomicSource);
43 }
44
45 /** {@inheritDoc} */
46 @Override
47 public Collection<IdentifiableSource> getCollection(
48 IIdentifiableEntity entity) {
49 return entity.getSources();
50 }
51
52 /** {@inheritDoc} */
53 @Override
54 public String getEmptyString() {
55 return "No references yet.";
56 }
57
58 /** {@inheritDoc} */
59 @Override
60 protected String getTooltipString() {
61 return "Create a new reference.";
62 }
63
64 /** {@inheritDoc} */
65 @Override
66 public void addElement(IdentifiableSource element) {
67 getEntity().addSource(element);
68 }
69
70 /** {@inheritDoc} */
71 @Override
72 public void removeElement(IdentifiableSource element) {
73 getEntity().removeSource(element);
74 }
75
76 }