From c9e66e1537e7f9543a33cc34497946c798011d33 Mon Sep 17 00:00:00 2001 From: Katja Luther Date: Mon, 15 Jun 2020 10:58:37 +0200 Subject: [PATCH] ref #8990: use the extendedTimePeriodPartialFormatter --- .../taxeditor/model/DescriptionHelper.java | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/DescriptionHelper.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/DescriptionHelper.java index 2768fdb7d..c3eb09931 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/DescriptionHelper.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/DescriptionHelper.java @@ -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){ -- 2.34.1