Revision 208a9050
Added by Andreas Kohlbecker over 11 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/ProtologueSection.java | ||
---|---|---|
10 | 10 |
|
11 | 11 |
package eu.etaxonomy.taxeditor.ui.section.name; |
12 | 12 |
|
13 |
import java.util.ArrayList; |
|
13 | 14 |
import java.util.Collection; |
15 |
import java.util.List; |
|
14 | 16 |
|
15 | 17 |
import eu.etaxonomy.cdm.api.conversation.ConversationHolder; |
16 | 18 |
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; |
... | ... | |
58 | 60 |
|
59 | 61 |
/** {@inheritDoc} */ |
60 | 62 |
@Override |
61 |
public Collection<DescriptionElementBase> getCollection( |
|
62 |
TaxonNameBase entity) { |
|
63 |
return getTaxonNameDescription(entity).getElements(); |
|
63 |
public Collection<DescriptionElementBase> getCollection(TaxonNameBase entity) { |
|
64 |
Collection<DescriptionElementBase> result = new ArrayList<DescriptionElementBase>(); |
|
65 |
List<TaxonNameDescription> descriptions = getTaxonNameDescriptions(entity); |
|
66 |
for (TaxonNameDescription desc : descriptions){ |
|
67 |
result.addAll(desc.getElements()); |
|
68 |
} |
|
69 |
return result; |
|
70 |
//OLD: return getTaxonNameDescription(entity).getElements(); |
|
64 | 71 |
} |
65 | 72 |
|
66 | 73 |
|
... | ... | |
80 | 87 |
/** {@inheritDoc} */ |
81 | 88 |
@Override |
82 | 89 |
public void addElement(DescriptionElementBase element) { |
90 |
//for simplification we always use the first description to add elements here |
|
83 | 91 |
getTaxonNameDescription(getEntity()).addElement(element); |
84 | 92 |
} |
85 | 93 |
|
86 | 94 |
/** {@inheritDoc} */ |
87 | 95 |
@Override |
88 | 96 |
public void removeElement(DescriptionElementBase element) { |
89 |
getTaxonNameDescription(getEntity()).removeElement(element); |
|
97 |
List<TaxonNameDescription> descriptions = getTaxonNameDescriptions(getEntity()); |
|
98 |
for (TaxonNameDescription desc : descriptions){ |
|
99 |
desc.removeElement(element); |
|
100 |
} |
|
90 | 101 |
} |
91 | 102 |
|
92 | 103 |
/** {@inheritDoc} */ |
... | ... | |
96 | 107 |
setEntity(name); |
97 | 108 |
} |
98 | 109 |
|
110 |
/** |
|
111 |
* NOTE: returns first description |
|
112 |
* @param name |
|
113 |
* @return |
|
114 |
*/ |
|
99 | 115 |
private TaxonNameDescription getTaxonNameDescription(TaxonNameBase name){ |
100 |
// FIXME does not handle multiple name descriptions at the moment |
|
101 | 116 |
if(name.getDescriptions().size() == 0){ |
102 | 117 |
name.addDescription(TaxonNameDescription.NewInstance(name)); |
103 | 118 |
} |
104 | 119 |
return (TaxonNameDescription) name.getDescriptions().iterator().next(); |
105 | 120 |
} |
121 |
|
|
122 |
/** |
|
123 |
* Try to fix FIXME in {@link #getTaxonNameDescription(TaxonNameBase)} |
|
124 |
* @param name |
|
125 |
* @return |
|
126 |
*/ |
|
127 |
private List<TaxonNameDescription> getTaxonNameDescriptions(TaxonNameBase<?,?> name){ |
|
128 |
List<TaxonNameDescription> result = new ArrayList<TaxonNameDescription>(); |
|
129 |
if(name.getDescriptions().size() == 0){ |
|
130 |
name.addDescription(TaxonNameDescription.NewInstance(name)); |
|
131 |
} |
|
132 |
for (TaxonNameDescription desc : name.getDescriptions()){ |
|
133 |
result.add(desc); |
|
134 |
} |
|
135 |
return result; |
|
136 |
} |
|
106 | 137 |
|
107 | 138 |
/* (non-Javadoc) |
108 | 139 |
* @see eu.etaxonomy.taxeditor.section.ITaxonDetailSection#getTaxon(eu.etaxonomy.cdm.model.taxon.TaxonBase) |
Also available in: Unified diff
merging in latest changes from trunk, up to r15854 (editor starts without issues)