--- /dev/null
+/**
+* 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;
+ }
+
+}