import eu.etaxonomy.cdm.model.common.Representation;
import eu.etaxonomy.cdm.model.common.TermIdInVocabularyComparator;
import eu.etaxonomy.cdm.model.common.TermLanguageComparator;
+import eu.etaxonomy.cdm.model.common.TermType;
import eu.etaxonomy.cdm.model.common.TermVocabulary;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.Distribution;
GridData gridData2 = new GridData();
gridData2.horizontalSpan = 1;
gridData2.horizontalAlignment = SWT.RIGHT;
+
button1.setLayoutData(gridData2);
GridData gridData2 = new GridData();
gridData2.horizontalSpan = 1;
gridData2.horizontalAlignment = SWT.RIGHT;
+ gridData2.horizontalIndent = 3;
parent.setLayoutData(gridData2);
parent.setLayout(gridLayout);
searchText = createSearchBar(parent);
}
loadNamedAreas();
+ if (areas == null){
+ areas = new TreeSet<>();
+ }
for (DefinedTermBase area: areas) {
this.areaToColumnIndexMap.put(index++, (NamedArea)area);
String areaLabel;
String property = areaLabel;
propertyToLabelMap.put(property, areaLabel);
}
+
}
private SortedSet<DefinedTermBase> loadNamedAreas() {
String valuesAreas = PreferencesUtil.getStringValue(EditorPreferencePredicate.AvailableDistributionAreaTerms.getKey());
String values = PreferencesUtil.getStringValue(PreferencePredicate.AvailableDistributionAreaVocabularies.getKey());
+ Set<UUID> uuidList = new HashSet<UUID>();
+ String[] split;
+ List<String> listValue;
+ List<DefinedTermBase> termlist = new ArrayList<DefinedTermBase>();
if (values != null && values != "") { //$NON-NLS-1$
- String[] split = values.split(";"); //$NON-NLS-1$
- List<String> listValue = Arrays.asList(split);
- List<DefinedTermBase> termlist = new ArrayList<DefinedTermBase>();
- Set<UUID> uuidList = new HashSet<UUID>();
+ split = values.split(";"); //$NON-NLS-1$
+ listValue = Arrays.asList(split);
+
+
UUID uuid;
for(String s : listValue){
uuid = UUID.fromString(s);
uuidList.add(uuid);
}
- IVocabularyService service = CdmStore.getService(IVocabularyService.class);
- List<TermVocabulary> vocs = service.find(uuidList);
- split = valuesAreas.split(";");
- listValue = Arrays.asList(split);
- for (TermVocabulary voc: vocs){
- termlist.addAll(service.getTerms(voc, null, null, null, null).getRecords());
- }
- List<DefinedTermBase> filteredList = new ArrayList();
- for (DefinedTermBase area: termlist){
- if (listValue.contains(area.getUuid().toString())) {
- filteredList.add(area);
- }
+ }
+ List<TermVocabulary> vocs = new ArrayList<>();
+ IVocabularyService service = CdmStore.getService(IVocabularyService.class);
+ if (uuidList.isEmpty()){
+ List<TermVocabulary<DefinedTermBase>> vocList = CdmStore.getService(IVocabularyService.class).findByTermType(TermType.NamedArea, null);
+ vocs.addAll(vocList);
+ }else{
+ vocs= service.find(uuidList);
+ }
+ split = valuesAreas.split(";");
+ listValue = Arrays.asList(split);
+ for (TermVocabulary voc: vocs){
+ termlist.addAll(service.getTerms(voc, null, null, null, null).getRecords());
+ }
+ List<DefinedTermBase> filteredList = new ArrayList();
+ for (DefinedTermBase area: termlist){
+ if (listValue.contains(area.getUuid().toString())) {
+ filteredList.add(area);
}
- if (PreferencesUtil.isSortNamedAreaByOrderInVocabulary()){
- areas = getTermsOrderedByVocabularyOrder(filteredList);
- } else if (PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){
- areas = getTermsOrderedByIdInVocabulary(filteredList);
- }else{
- areas = getTermsOrderedByLabels(filteredList, CdmStore.getDefaultLanguage());
- }
}
+
+ if (PreferencesUtil.isSortNamedAreaByOrderInVocabulary()){
+ areas = getTermsOrderedByVocabularyOrder(filteredList);
+ } else if (PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){
+ areas = getTermsOrderedByIdInVocabulary(filteredList);
+ }else{
+ areas = getTermsOrderedByLabels(filteredList, CdmStore.getDefaultLanguage());
+ }
+
return null;
}