ref #9071 use ExtendedTimePeriodFormatter in DescriptionHelper and improve formatting...
authorAndreas Müller <a.mueller@bgbm.org>
Sat, 27 Jun 2020 09:52:36 +0000 (11:52 +0200)
committerAndreas Müller <a.mueller@bgbm.org>
Sat, 27 Jun 2020 09:52:36 +0000 (11:52 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/DescriptionHelper.java

index 25a81d55e730319fed6e1c9bf6023f81438bdec8..6520ec1ec64da76868a4c0cebc24331a5212fd53 100644 (file)
@@ -20,9 +20,8 @@ import org.hibernate.LazyInitializationException;
 
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.common.CdmUtils;
-import eu.etaxonomy.cdm.format.description.DefaultCategoricalDescriptionBuilder;
-import eu.etaxonomy.cdm.format.description.DefaultQuantitativeDescriptionBuilder;
-import eu.etaxonomy.cdm.format.description.DescriptionBuilder;
+import eu.etaxonomy.cdm.format.common.ExtendedTimePeriodFormatter;
+import eu.etaxonomy.cdm.format.description.CategoricalDataFormatter;
 import eu.etaxonomy.cdm.format.description.QuantitativeDataFormatter;
 import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.common.CdmBase;
@@ -86,6 +85,8 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  */
 public class DescriptionHelper {
 
+    public static final String NO_LABEL_STRING = "[no label]";
+
        /**
         * Returns whatever the element's title cache equivalent is,
         * depending on its class.
@@ -120,7 +121,6 @@ public class DescriptionHelper {
                        }
                }
 
-
                String cache = null;
                if (element instanceof TextData) {
                        //cache = ((TextData) element).getText(language);
@@ -136,7 +136,6 @@ public class DescriptionHelper {
                        }else{
                                cache = "No taxon chosen";
                        }
-
                }
                if (element instanceof Distribution) {
                        Distribution distribution = (Distribution) element;
@@ -534,26 +533,19 @@ public class DescriptionHelper {
 
        public static String getQuantitativeDataText(QuantitativeData element) {
            QuantitativeDataFormatter formatter = new QuantitativeDataFormatter(null, null);
-           String label = formatter.doFormat(element);
-
+           String label = formatter.format(element, getLanguageList());
                return label;
        }
 
        public static String getCategoricalDataText(CategoricalData element) {
-               TextData textData = categoricalDescriptionBuilder.build(element, getLanguageList());
-
-               return textData.getText(CdmStore.getDefaultLanguage());
+           CategoricalDataFormatter formatter = new CategoricalDataFormatter(null, null);
+               return formatter.format(element, getLanguageList());
        }
 
        private static List<Language> getLanguageList(){
                return Arrays.asList(new Language[]{CdmStore.getDefaultLanguage()});
        }
 
-       private static DescriptionBuilder<QuantitativeData> quantitativeDescriptionBuilder = new DefaultQuantitativeDescriptionBuilder();
-       private static DescriptionBuilder<CategoricalData> categoricalDescriptionBuilder = new DefaultCategoricalDescriptionBuilder();
-    public static final String NO_LABEL_STRING = "[no label]";
-
-
        public static String getDistributionText(Distribution element) {
 
                String text = "EMPTY";
@@ -699,12 +691,9 @@ public class DescriptionHelper {
        }
 
     private static String getTemporalDataText(TemporalData element) {
-        String result = "";
         ExtendedTimePeriod period = element.getPeriod();
-        if (period != null){
-            result = period.toString();
-        }
-        return result;
+        ExtendedTimePeriodFormatter formatter = ExtendedTimePeriodFormatter.NewDefaultInstance();
+        return period == null ? NO_LABEL_STRING : formatter.format(period);
     }
 
     private static boolean isNotBlank(String str){