Merge branch 'release/5.8.0'
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / checklist / e4 / StatusHelper.java
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/StatusHelper.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/StatusHelper.java
new file mode 100755 (executable)
index 0000000..5d72834
--- /dev/null
@@ -0,0 +1,74 @@
+/**
+* Copyright (C) 2019 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.editor.view.checklist.e4;
+
+import org.apache.commons.lang.StringUtils;
+
+import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
+import eu.etaxonomy.cdm.model.metadata.TermComboEnum;
+import eu.etaxonomy.cdm.model.metadata.TermDisplayEnum;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+
+/**
+ * @author k.luther
+ * @since 27.05.2019
+ *
+ */
+public class StatusHelper {
+    PresenceAbsenceTerm term;
+    String label;
+
+    public StatusHelper(PresenceAbsenceTerm term){
+        this.term = term;
+        TermDisplayEnum display;
+        try{
+            display = TermDisplayEnum.byKey(PreferencesUtil.displayStatusInChecklistEditor());
+        }catch(IllegalArgumentException e){
+            display = TermDisplayEnum.Title;
+        }
+        String result = PreferencesUtil.getStringValue(PreferencePredicate.DisplayOfStatusInCombo.getKey());
+        if (StringUtils.isBlank(result)){
+            result = ((TermComboEnum) PreferencePredicate.DisplayOfStatusInCombo.getDefaultValue()).getKey();
+        }
+        TermComboEnum comboDisplay = TermComboEnum.byKey(result);
+        if(term.getTitleCache().trim().equals("-")){
+            label = term.getTitleCache();
+        }else if (comboDisplay.equals(TermComboEnum.IdInVocabulary) && term.getIdInVocabulary() != null){
+            label = term.getIdInVocabulary();
+        }else if (comboDisplay.equals(TermComboEnum.Symbol1) && term.getSymbol() != null){
+            label =  term.getSymbol();
+        } else if (comboDisplay.equals(TermComboEnum.Symbol2) && term.getSymbol2() != null){
+            label = term.getSymbol2();
+        } else if (comboDisplay.equals(TermComboEnum.Title) && term.getLabel() != null){
+            label = term.getLabel();
+        } else if (comboDisplay.equals(TermComboEnum.TermDisplayPlusTitle)){
+            if (display.equals(TermDisplayEnum.IdInVocabulary)){
+                label = "["+term.getIdInVocabulary()+"] "+ term.getTitleCache();
+            }else if (display.equals(TermDisplayEnum.Symbol1)){
+                label = "["+term.getSymbol()+"] "+ term.getTitleCache();
+            }else if (display.equals(TermDisplayEnum.Symbol2)){
+                label = "["+term.getSymbol2()+"] "+ term.getTitleCache();
+            } else if (display.equals(TermDisplayEnum.Title)){
+                label = term.getLabel();
+            }else{
+                label = term.getTitleCache();
+            }
+
+
+        }
+
+
+    }
+    @Override
+    public String toString(){
+        return label;
+    }
+
+}