import java.util.List;
import java.util.Set;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.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;
-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;
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;
/**
*/
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.
}
}
-
String cache = null;
if (element instanceof TextData) {
//cache = ((TextData) element).getText(language);
}else{
cache = "No taxon chosen";
}
-
}
if (element instanceof Distribution) {
Distribution distribution = (Distribution) element;
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";
text += source.getCitation().getTitleCache();
}
if(source.getNameUsedInSource() != null){
- text += " [ " + source.getNameUsedInSource().getTitleCache() + " ]";
+ text += " [" + source.getNameUsedInSource().getTitleCache() + "]";
}
}
if(isBlank(text)){
}
private static String getTemporalDataText(TemporalData element) {
- String result = "";
-
ExtendedTimePeriod period = element.getPeriod();
-
- if(period != null){
- Partial end = period.getEnd()==null? null :period.getEnd().without(DateTimeFieldType.year());
- Partial extremeEnd = period.getExtremeEnd()== null? null: period.getExtremeEnd().without(DateTimeFieldType.year());
-
- Partial start = period.getStart()==null? null: period.getStart().without(DateTimeFieldType.year());
- Partial extremeStart = period.getExtremeStart()==null? null : period.getExtremeStart().without(DateTimeFieldType.year());
-
- 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();
+ ExtendedTimePeriodFormatter formatter = ExtendedTimePeriodFormatter.NewDefaultInstance();
+ return period == null ? NO_LABEL_STRING : formatter.format(period);
}
private static boolean isNotBlank(String str){