import eu.etaxonomy.cdm.compare.term.OrderedTermComparator;
import eu.etaxonomy.cdm.compare.term.TermIdInVocabularyComparator;
import eu.etaxonomy.cdm.compare.term.TermLanguageComparator;
+import eu.etaxonomy.cdm.compare.term.TermSymbol1Comparator;
+import eu.etaxonomy.cdm.compare.term.TermSymbol2Comparator;
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.Distribution;
return result;
}
+ public <T extends DefinedTermBase<T>> SortedSet<T> getTermsOrderedBySymbol(List<T> namedAreas) {
+ TermSymbol1Comparator<T> comp = new TermSymbol1Comparator<>();
+
+ SortedSet<T> result = new TreeSet<>(comp);
+ if(namedAreas != null){
+ result.addAll(namedAreas);
+ }
+ return result;
+ }
+
+ public <T extends DefinedTermBase<T>> SortedSet<T> getTermsOrderedBySymbol2(List<T> namedAreas) {
+ TermSymbol2Comparator<T> comp = new TermSymbol2Comparator<>();
+
+ SortedSet<T> result = new TreeSet<>(comp);
+ if(namedAreas != null){
+ result.addAll(namedAreas);
+ }
+ return result;
+ }
+
public <T extends DefinedTermBase<T>> SortedSet<T> getTermsOrderedByVocabularyOrder(List<T> listAreas){
OrderedTermComparator<T> comp = new OrderedTermComparator<>();
boolean allOrderedTerms = true;
import eu.etaxonomy.cdm.compare.term.OrderedTermComparator;
import eu.etaxonomy.cdm.compare.term.TermIdInVocabularyComparator;
import eu.etaxonomy.cdm.compare.term.TermLanguageComparator;
+import eu.etaxonomy.cdm.compare.term.TermSymbol1Comparator;
+import eu.etaxonomy.cdm.compare.term.TermSymbol2Comparator;
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
import eu.etaxonomy.cdm.model.location.NamedArea;
import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
-import eu.etaxonomy.cdm.model.metadata.TermOrder;
+import eu.etaxonomy.cdm.model.metadata.TermDisplayEnum;
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
import eu.etaxonomy.cdm.model.term.Representation;
import eu.etaxonomy.taxeditor.preference.CdmPreferenceCache;
Comparator<DefinedTermBase> comp = new OrderedTermComparator<>();
//check the status order preference
- TermOrder order = TermOrder.valueOf(PreferencesUtil.getStringValue(PreferencePredicate.StatusSortedInDistributionEditor.getKey()));
+ TermDisplayEnum order = null;
+ try{
+ order = TermDisplayEnum.valueOf(PreferencesUtil.getStringValue(PreferencePredicate.StatusSortedInDistributionEditor.getKey()));
+ }catch (IllegalArgumentException e){
+ order = TermDisplayEnum.Title;
+ }
- if (order.equals(TermOrder.IdInVoc)){
+ if (order.equals(TermDisplayEnum.IdInVocabulary)){
comp = new TermIdInVocabularyComparator<DefinedTermBase>();
- }else if(order.equals(TermOrder.Label)){
+ }else if(order.equals(TermDisplayEnum.Title)){
comp = new TermLanguageComparator<DefinedTermBase>(Language.DEFAULT(), Language.DEFAULT());
+ }else if(order.equals(TermDisplayEnum.Symbol1)){
+ comp = new TermSymbol1Comparator<DefinedTermBase>();
+ }else if(order.equals(TermDisplayEnum.Symbol2)){
+ comp = new TermSymbol2Comparator<DefinedTermBase>();
}
Collections.sort(inputList, comp);
// Collections.sort(inputList, Collections.reverseOrder());
result = ((TermComboEnum) PreferencePredicate.DisplayOfStatusInCombo.getDefaultValue()).getKey();
}
TermComboEnum comboDisplay = TermComboEnum.byKey(result);
+ label = term.getTitleCache();
if(term.getTitleCache().trim().equals("-")){
label = term.getTitleCache();
- }else if (comboDisplay.equals(TermComboEnum.IdInVocabulary) && term.getIdInVocabulary() != null){
+ }else if (comboDisplay.equals(TermComboEnum.IdInVocabulary) && !StringUtils.isBlank(term.getIdInVocabulary())){
label = term.getIdInVocabulary();
- }else if (comboDisplay.equals(TermComboEnum.Symbol1) && term.getSymbol() != null){
- label = term.getSymbol();
- } else if (comboDisplay.equals(TermComboEnum.Symbol2) && term.getSymbol2() != null){
+ }else if (comboDisplay.equals(TermComboEnum.Symbol1) && !StringUtils.isBlank(term.getSymbol())){
+ if (term.getSymbol() != null){
+ label = term.getSymbol();
+ }
+ } else if (comboDisplay.equals(TermComboEnum.Symbol2) && !StringUtils.isBlank(term.getSymbol2())){
label = term.getSymbol2();
- } else if (comboDisplay.equals(TermComboEnum.Title) && term.getLabel() != null){
+ } else if (comboDisplay.equals(TermComboEnum.Title) && !StringUtils.isBlank(term.getLabel())){
label = term.getLabel();
} else if (comboDisplay.equals(TermComboEnum.TermDisplayPlusTitle)){
if (display.equals(TermDisplayEnum.IdInVocabulary)){
if (prefStatusSort != null){
if (prefStatusSort.getValue() != null){
- this.orderStatus = prefStatusSort.getValue() != null? TermOrder.valueOf(prefStatusSort.getValue().toString()): null;
+ this.orderStatus = prefStatusSort.getValue() != null? TermDisplayEnum.valueOf(prefStatusSort.getValue().toString()): null;
}else{
this.orderStatus = null;
}
boolean isUseLocal;\r
protected Boolean isShowRank;\r
protected TermOrder orderAreas;\r
- protected TermOrder orderStatus;\r
+ protected TermDisplayEnum orderStatus;\r
protected TermDisplayEnum displayStatus;\r
protected TermComboEnum displayStatusCombo;\r
protected TermDisplayEnum displayArea;\r
});\r
}\r
\r
- statusSortSelectionCombo = createCombo(child, TermOrder.values(), PreferencePredicate.StatusSortedInDistributionEditor, Messages.ChecklistEditorGeneralPreference_Configure_status_order, isAdminPreference);\r
+ statusSortSelectionCombo = createCombo(child, TermDisplayEnum.values(), PreferencePredicate.StatusSortedInDistributionEditor, Messages.ChecklistEditorGeneralPreference_Configure_status_order, isAdminPreference);\r
\r
index = 0;\r
\r
return;\r
}\r
\r
- for (TermOrder display : TermOrder.values()) {\r
+ for (TermDisplayEnum display : TermDisplayEnum.values()) {\r
if (text.startsWith(display.getLabel())) {\r
orderStatus = display;\r
break;\r
if (prefStatusSort != null) {\r
if (prefStatusSort.isAllowOverride()){\r
if(overrideOrderStatus) {\r
- orderStatus = TermOrder.valueOf(PreferencesUtil.getStringValue(PreferencePredicate.StatusSortedInDistributionEditor.getKey()));\r
+ orderStatus = TermDisplayEnum.valueOf(PreferencesUtil.getStringValue(PreferencePredicate.StatusSortedInDistributionEditor.getKey()));\r
}else{\r
orderStatus = null;\r
}\r
} else {\r
if (prefStatusSort.getValue() != null) {\r
- orderStatus = prefStatusSort.getValue() != null? TermOrder.valueOf(prefStatusSort.getValue().toString()): null;\r
+ orderStatus = prefStatusSort.getValue() != null? TermDisplayEnum.valueOf(prefStatusSort.getValue().toString()): null;\r
} else {\r
- orderStatus = ((TermOrder) PreferencePredicate.StatusSortedInDistributionEditor.getDefaultValue());\r
+ orderStatus = ((TermDisplayEnum) PreferencePredicate.StatusSortedInDistributionEditor.getDefaultValue());\r
}\r
\r
}\r
} else {\r
if (overrideOrderStatus){\r
- orderStatus = TermOrder.valueOf(PreferencesUtil.getStringValue(PreferencePredicate.StatusSortedInDistributionEditor.getKey()));\r
+ try{\r
+ orderStatus = TermDisplayEnum.valueOf(PreferencesUtil.getStringValue(PreferencePredicate.StatusSortedInDistributionEditor.getKey()));\r
+ }catch (IllegalArgumentException e){\r
+ orderStatus = TermDisplayEnum.Title;\r
+ }\r
}else{\r
orderStatus = null;\r
}\r