ref #8990: use the extendedTimePeriodPartialFormatter
authorKatja Luther <k.luther@bgbm.org>
Mon, 15 Jun 2020 08:58:37 +0000 (10:58 +0200)
committerKatja Luther <k.luther@bgbm.org>
Mon, 15 Jun 2020 08:58:37 +0000 (10:58 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/DescriptionHelper.java

index 2768fdb7d5911e2a5fe4846769edba68ea72b40d..c3eb099319a3b2e866a9df09862df12e673b746b 100644 (file)
@@ -17,6 +17,9 @@ import java.util.Set;
 
 import org.apache.commons.lang.StringUtils;
 import org.hibernate.LazyInitializationException;
+import org.joda.time.DateTimeFieldType;
+import org.joda.time.Partial;
+import org.joda.time.format.DateTimeFormatter;
 
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.common.CdmUtils;
@@ -26,6 +29,7 @@ import eu.etaxonomy.cdm.format.description.DescriptionBuilder;
 import eu.etaxonomy.cdm.format.description.QuantitativeDataFormatter;
 import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.common.ExtendedTimePeriod;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
 import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.common.LanguageString;
@@ -75,6 +79,7 @@ import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
 import eu.etaxonomy.cdm.model.term.Representation;
+import eu.etaxonomy.cdm.strategy.cache.common.ExtendedTimePeriodPartialFormatter;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 
 /**
@@ -781,8 +786,31 @@ public class DescriptionHelper {
      * @return
      */
     private static String getTemporalDataText(TemporalData element) {
+        ExtendedTimePeriod period = element.getPeriod();
+        Partial end = period.getEnd().without(DateTimeFieldType.year());
+        Partial extremeEnd = period.getExtremeEnd().without(DateTimeFieldType.year());
 
-        return element.getPeriod().toString();
+        Partial start = period.getStart().without(DateTimeFieldType.year());
+        Partial extremeStart = period.getExtremeStart().without(DateTimeFieldType.year());
+
+        String result = "";
+        DateTimeFormatter formatter = ExtendedTimePeriodPartialFormatter.NewInstance();
+        if (extremeStart != null){
+            result = "(" + extremeStart.toString(formatter) +"-)";
+        }
+        if (start != null){
+            result += start.toString(formatter);
+        }
+        if (end != null){
+            result += "-" + end.toString(formatter);
+        }
+
+        if (extremeEnd != null){
+            result += "(-" + extremeEnd.toString(formatter)+")";
+        }
+        return result;
+
+//        return element.getPeriod().toString();
     }
 
     private static boolean isNotBlank(String str){