Revision 24d1dcbf
Added by Katja Luther over 2 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameDetailElement.java | ||
---|---|---|
23 | 23 |
import eu.etaxonomy.cdm.model.name.NomenclaturalCode; |
24 | 24 |
import eu.etaxonomy.cdm.model.name.Rank; |
25 | 25 |
import eu.etaxonomy.cdm.model.name.TaxonNameFactory; |
26 |
import eu.etaxonomy.cdm.model.term.DefinedTermBase; |
|
26 | 27 |
import eu.etaxonomy.cdm.model.term.TermType; |
27 | 28 |
import eu.etaxonomy.cdm.strategy.parser.ParserProblem; |
28 | 29 |
import eu.etaxonomy.taxeditor.preference.NameDetailsConfigurator; |
29 | 30 |
import eu.etaxonomy.taxeditor.preference.PreferencesUtil; |
31 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
|
30 | 32 |
import eu.etaxonomy.taxeditor.ui.combo.term.TermComboElement; |
31 | 33 |
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; |
32 | 34 |
import eu.etaxonomy.taxeditor.ui.element.CheckboxElement; |
... | ... | |
95 | 97 |
} |
96 | 98 |
if (config == null){ |
97 | 99 |
toggleable_cache = formFactory.createToggleableTextField(this, "Name Cache", nonViralName.getNameCache(), nonViralName.isProtectedNameCache(), style); |
100 |
List<Rank> ranks = getRanks(nonViralName, false); |
|
101 |
combo_rank = formFactory.createDefinedTermComboElement(ranks, this, "Rank", nonViralName.getRank(),style); |
|
102 |
combo_rank.setTermComparator(comparator); |
|
98 | 103 |
|
99 |
combo_rank = formFactory.createDefinedTermComboElement(TermType.Rank, this, "Rank", nonViralName.getRank(), style, comparator); |
|
100 | 104 |
createGenusOrUninomialControls(this, nonViralName, style); |
101 | 105 |
createInfragenerericEpithetControls(this, nonViralName, style); |
102 | 106 |
createSpecificEpithetControls(this, nonViralName, style); |
... | ... | |
109 | 113 |
} |
110 | 114 |
|
111 | 115 |
if (config.isRankActivated()){ |
112 |
combo_rank = formFactory.createDefinedTermComboElement(TermType.Rank, this, "Rank", nonViralName.getRank(), style, comparator); |
|
116 |
List<Rank> ranks = getRanks(nonViralName, false); |
|
117 |
combo_rank = formFactory.createDefinedTermComboElement(ranks, this, "Rank", nonViralName.getRank(),style); |
|
118 |
combo_rank.setTermComparator(comparator); |
|
113 | 119 |
} |
114 | 120 |
|
115 | 121 |
if (config.isAtomisedEpithetsActivated()){ |
... | ... | |
224 | 230 |
|
225 | 231 |
private void createCultivarNameParts(ICdmFormElement formElement, INonViralName nonViralName, int style) { |
226 | 232 |
ICultivarPlantName cultivarName = (ICultivarPlantName)nonViralName; |
227 |
List<Rank> cultivarRanks = new ArrayList<>(); |
|
228 |
cultivarRanks.add(Rank.CULTIVAR()); |
|
229 |
cultivarRanks.add(Rank.CULTIVARGROUP()); |
|
230 |
cultivarRanks.add(Rank.GREX()); |
|
231 |
if (cultivarName.isCultivar()){ |
|
232 |
combo_rank.setTerms(cultivarRanks); |
|
233 |
} |
|
233 |
|
|
234 |
List<Rank> cultivarRanks = getRanks(cultivarName, true); |
|
235 |
combo_rank.setTerms(cultivarRanks); |
|
234 | 236 |
combo_rank.setSelection(cultivarName.getRank()); |
235 | 237 |
|
236 | 238 |
Rank rank = cultivarName.getRank(); |
... | ... | |
242 | 244 |
} |
243 | 245 |
} |
244 | 246 |
|
247 |
private List<Rank> getRanks(INonViralName name, boolean isCultivar) { |
|
248 |
List<Rank> ranks = new ArrayList<>(); |
|
249 |
List<DefinedTermBase> allRanks = CdmStore.getTermManager().getPreferredTerms(TermType.Rank); |
|
250 |
for(DefinedTermBase term: allRanks){ |
|
251 |
Rank rank = (Rank)term; |
|
252 |
if (rank.isCultivar() == isCultivar){ |
|
253 |
ranks.add(rank); |
|
254 |
} |
|
255 |
} |
|
256 |
return ranks; |
|
257 |
} |
|
258 |
|
|
245 | 259 |
private void createBotanicalNameParts(ICdmFormElement formElement, INonViralName nonViralName, int style){ |
246 | 260 |
//nothing to do |
247 | 261 |
} |
Also available in: Unified diff
ref #9762: remove cultivar ranks for non cultivar codes and use isCultivar()