Revision be7068cc
Added by Katja Luther over 5 years ago
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistLabelProvider.java | ||
---|---|---|
32 | 32 |
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; |
33 | 33 |
import eu.etaxonomy.cdm.model.common.DefinedTermBase; |
34 | 34 |
import eu.etaxonomy.cdm.model.common.Language; |
35 |
import eu.etaxonomy.cdm.model.common.OrderedTermBase; |
|
35 | 36 |
import eu.etaxonomy.cdm.model.common.OrderedTermComparator; |
36 | 37 |
import eu.etaxonomy.cdm.model.common.TermIdInVocabularyComparator; |
37 | 38 |
import eu.etaxonomy.cdm.model.common.TermLanguageComparator; |
... | ... | |
185 | 186 |
} |
186 | 187 |
IVocabularyService service = CdmStore.getService(IVocabularyService.class); |
187 | 188 |
List<TermVocabulary> vocs = service.find(uuidList); |
188 |
split = valuesAreas.split(",");
|
|
189 |
split = valuesAreas.split(";");
|
|
189 | 190 |
listValue = Arrays.asList(split); |
190 | 191 |
for (TermVocabulary voc: vocs){ |
191 | 192 |
termlist.addAll(service.getTerms(voc, null, null, null, null).getRecords()); |
... | ... | |
222 | 223 |
public SortedSet<DefinedTermBase> getTermsOrderedByVocabularyOrder(List<DefinedTermBase> listAreas){ |
223 | 224 |
HashMap<TermVocabulary<DefinedTermBase>, List<DefinedTermBase>> vocs = new HashMap<>(); |
224 | 225 |
OrderedTermComparator<?> comp = new OrderedTermComparator<>(); |
226 |
boolean allOrderedTerms = true; |
|
227 |
List<TermVocabulary> alreadyOrderIndexNull = new ArrayList<>(); |
|
228 |
for (DefinedTermBase term: listAreas){ |
|
229 |
if (!(term instanceof OrderedTermBase)){ |
|
230 |
allOrderedTerms = false; |
|
231 |
break; |
|
232 |
}else if (((OrderedTermBase)term).getOrderIndex() == 0){ |
|
233 |
if(alreadyOrderIndexNull.contains(term.getVocabulary())) { |
|
234 |
allOrderedTerms = false; |
|
235 |
break; |
|
236 |
}else{ |
|
237 |
alreadyOrderIndexNull.add(term.getVocabulary()); |
|
238 |
} |
|
239 |
|
|
240 |
|
|
241 |
} |
|
242 |
} |
|
243 |
if (allOrderedTerms){ |
|
244 |
SortedSet<DefinedTermBase> result = new TreeSet(comp.reversed()); |
|
245 |
result.addAll(listAreas); |
|
246 |
return result; |
|
247 |
}else{ |
|
248 |
return getTermsOrderedByLabels(listAreas, PreferencesUtil.getGlobalLanguage()); |
|
249 |
} |
|
225 | 250 |
|
226 |
SortedSet<DefinedTermBase> result = new TreeSet(comp.reversed()); |
|
227 |
result.addAll(listAreas); |
|
228 | 251 |
|
229 |
return result; |
|
230 | 252 |
} |
231 | 253 |
|
232 | 254 |
/** |
Also available in: Unified diff
ref #7063:handle orderedTerms without orderindex and order by lable