add symbol1 and symbol2 to sort order of drop down in distribution editor
authorKatja Luther <k.luther@bgbm.org>
Tue, 4 May 2021 10:20:08 +0000 (12:20 +0200)
committerKatja Luther <k.luther@bgbm.org>
Tue, 4 May 2021 10:21:28 +0000 (12:21 +0200)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/DistributionEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/StatusComboBoxDataProvider.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/StatusHelper.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/ChecklistEditorGeneralAdminPreference.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/ChecklistEditorGeneralPreference.java

index ab7c83508bcd8f5f9f0f91638cc08f1e7e65d5d6..4ee8065c7da0a466eb159ab387d9b31c7eae2bbf 100755 (executable)
@@ -76,6 +76,8 @@ import eu.etaxonomy.cdm.api.service.dto.TaxonDistributionDTO;
 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;
@@ -674,6 +676,26 @@ public class DistributionEditor extends Composite implements IDistributionEditor
         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;
index 45275e61da7b0c8aa6e4a67676ac27d94d6881f1..22d63a878b073ace9f4a1c79c4ecbfba0fbdb284 100755 (executable)
@@ -20,6 +20,8 @@ import org.eclipse.nebula.widgets.nattable.edit.editor.IComboBoxDataProvider;
 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;
@@ -27,7 +29,7 @@ import eu.etaxonomy.cdm.model.metadata.CdmPreference;
 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;
@@ -98,12 +100,21 @@ public class StatusComboBoxDataProvider implements IComboBoxDataProvider {
 
         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());
index 73020cdd1846404cd036bb06dfa716254687497d..e43d681d9a8988f306e5e37617e9a9b697ec0571 100755 (executable)
@@ -38,15 +38,18 @@ public class StatusHelper {
             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)){
index 9592753260e1bc86557a792f33e057a44aed54a7..010cac56683fff29e5a30b2bd4400746735886a8 100755 (executable)
@@ -172,7 +172,7 @@ public class ChecklistEditorGeneralAdminPreference extends ChecklistEditorGenera
 
         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;
             }
index 4ba1e0fbca7b10af312e6be5630531c43259f672..d131fc09dde05fb3df638e30d84650b0b93a4e47 100644 (file)
@@ -48,7 +48,7 @@ public class ChecklistEditorGeneralPreference extends CdmPreferencePage implemen
     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
@@ -353,7 +353,7 @@ public class ChecklistEditorGeneralPreference extends CdmPreferencePage implemen
                 });\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
@@ -648,7 +648,7 @@ public class ChecklistEditorGeneralPreference extends CdmPreferencePage implemen
                 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
@@ -850,21 +850,25 @@ public class ChecklistEditorGeneralPreference extends CdmPreferencePage implemen
         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