4 package eu
.etaxonomy
.taxeditor
.ui
.section
.supplemental
;
6 import java
.util
.ArrayList
;
7 import java
.util
.Collection
;
8 import java
.util
.Collections
;
11 import eu
.etaxonomy
.cdm
.api
.conversation
.ConversationHolder
;
12 import eu
.etaxonomy
.cdm
.model
.common
.IIdentifiableEntity
;
13 import eu
.etaxonomy
.cdm
.model
.common
.IdentifiableSource
;
14 import eu
.etaxonomy
.cdm
.model
.common
.OriginalSourceType
;
15 import eu
.etaxonomy
.cdm
.model
.media
.Media
;
16 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
17 import eu
.etaxonomy
.taxeditor
.ui
.element
.ICdmFormElement
;
18 import eu
.etaxonomy
.taxeditor
.ui
.section
.AbstractEntityCollectionSection
;
19 import eu
.etaxonomy
.taxeditor
.ui
.section
.description
.SourceComparator
;
22 * <p>SourceSection class.</p>
25 * @created Nov 17, 2009
28 public class SourceSection
extends AbstractEntityCollectionSection
<IIdentifiableEntity
, IdentifiableSource
> {
31 * <p>Constructor for SourceSection.</p>
33 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
35 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
36 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
38 public SourceSection(CdmFormFactory cdmFormFactory
, ConversationHolder conversation
, ICdmFormElement parentElement
, int style
) {
39 super(cdmFormFactory
, conversation
, parentElement
, "Sources", style
);
44 public IdentifiableSource
createNewElement() {
45 IIdentifiableEntity entity
= getEntity();
46 OriginalSourceType type
;
47 if(entity
instanceof Media
) {
48 type
= OriginalSourceType
.PrimaryMediaSource
;
52 type
= OriginalSourceType
.PrimaryTaxonomicSource
;
54 return IdentifiableSource
.NewInstance(type
);
59 public Collection
<IdentifiableSource
> getCollection(
60 IIdentifiableEntity entity
) {
61 List
<IdentifiableSource
> sources
= new ArrayList
<IdentifiableSource
>(entity
.getSources());
62 Collections
.sort(sources
, new SourceComparator());
68 public String
getEmptyString() {
69 return "No references yet.";
74 protected String
getTooltipString() {
75 return "Create a new reference.";
80 public void addElement(IdentifiableSource element
) {
81 getEntity().addSource(element
);
86 public void removeElement(IdentifiableSource element
) {
87 getEntity().removeSource(element
);