ref #6460 show feature for textData in refObjView and better handling for empty term...
authorAndreas Müller <a.mueller@bgbm.org>
Wed, 8 Mar 2023 13:33:52 +0000 (14:33 +0100)
committerAndreas Müller <a.mueller@bgbm.org>
Wed, 8 Mar 2023 13:33:52 +0000 (14:33 +0100)
cdmlib-model/src/main/java/eu/etaxonomy/cdm/format/description/DescriptionElementFormatter.java
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/term/TermBase.java

index deb599bdd1e2e87fca1f596e4f2aef14960e9694..b6656d15c429050ed104eebce4a49e94f42536ad 100644 (file)
@@ -10,6 +10,7 @@ package eu.etaxonomy.cdm.format.description;
 
 import org.apache.commons.lang3.StringUtils;
 
+import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.description.CategoricalData;
@@ -53,8 +54,11 @@ public class DescriptionElementFormatter {
         element = CdmBase.deproxy(element);
         String cache = null;
         if (element instanceof TextData) {
-            //cache = ((TextData) element).getText(language);
-            cache = "Text Data";
+//            LanguageString ls = ((TextData) element).getPreferredLanguageString(Language.DEFAULT());
+//            cache = "Text Data" + ((ls == null|| isBlank(ls.getText())) ?
+//                        "" : "("+ls.getText()+")");
+            String feature = element.getFeature() == null? null : element.getFeature().getLabel();
+            cache = "Text Data" + (isBlank(feature)? "" : " ("+ feature +")");
         }else if (element instanceof CommonTaxonName) {
             cache = ((CommonTaxonName) element).getName();
         }else if (element instanceof TaxonInteraction) {
@@ -85,15 +89,11 @@ public class DescriptionElementFormatter {
             cache = formatter.format(element, defaultLanguage);
         }
 
-        String result = (cache == null) ? "" : cache;
-//        if (isNotBlank(mainElementLabel)){
-//            result = CdmUtils.concat(" ", result, "(" + mainElementLabel + ")");
-//        }
+        String result = CdmUtils.Nz(cache);
         return result;
-
     }
 
-    private static boolean isNotBlank(String str) {
-        return StringUtils.isNotBlank(str);
+    private static boolean isBlank(String str) {
+        return StringUtils.isBlank(str);
     }
 }
index 17092c2da2ae7d3b30253f995c5200eecc9b3d40..0bab59584f1be7f790ba12769d1da504f6990b70 100644 (file)
@@ -212,12 +212,11 @@ public abstract class TermBase
 
     @Transient
     public String getLabel() {
-        if(getLabel(Language.DEFAULT())!=null){
-            Representation repr = getRepresentation(Language.DEFAULT());
-            return (repr == null)? null :repr.getLabel();
+        if(isNotBlank(getLabel(Language.DEFAULT()))){
+            return getLabel(Language.DEFAULT());
         }else{
             for (Representation r : representations){
-                if (r.getLabel()!= null){
+                if (isNotBlank(r.getLabel())){
                     return r.getLabel();
                 }
             }