+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
package eu.etaxonomy.cdm.api.service;
import java.util.Map;
import eu.etaxonomy.cdm.model.common.LanguageString;
import eu.etaxonomy.cdm.model.description.TextData;
+/**
+ * @author m.venin
+ * @since 2010-12-02
+ */
public class DeltaTextDataProcessor implements INaturalLanguageTextDataProcessor {
@Override
public void process(TextData textData, TextData previousTextData) {
boolean doItBetter = false;
-
+
Map<Language,LanguageString> previousMultiLanguageText = previousTextData.getMultilanguageText();
Map<Language,LanguageString> multiLanguageText = textData.getMultilanguageText();
-
+
for (Language language : multiLanguageText.keySet()){
LanguageString langString = multiLanguageText.get(language);
String text = langString.getText();
-
+
LanguageString tmpMultilangText = previousMultiLanguageText.get(language);
if( tmpMultilangText != null){
text = StringUtils.remove(text, tmpMultilangText.getText());
}
-
+
if (doItBetter) { //TODO remove the text between brackets
StringBuilder strbuilder = new StringBuilder();
do {
else{
text=StringUtils.replaceChars(text,"<>","");
}
-
+
textData.removeText(language);
textData.putText(language, text);
-
}
-
}
-
}
*/
@Component
public class NaturalLanguageGenerator implements INaturalLanguageGenerator {
+
@SuppressWarnings("unused")
private static final Logger logger = Logger.getLogger(NaturalLanguageGenerator.class);
private String firstSeparator = ",";
private String secondSeparator = ".";
- private List<Integer> levels = new ArrayList<Integer>();
+ private List<Integer> levels = new ArrayList<>();
private DescriptionBuilder<QuantitativeData> quantitativeDescriptionBuilder = new DefaultQuantitativeDescriptionBuilder();
private DescriptionBuilder<CategoricalData> categoricalDescriptionBuilder = new DefaultCategoricalDescriptionBuilder();
private TextData previousTextData;
- DeltaTextDataProcessor deltaTextDataProcessor = new DeltaTextDataProcessor();
+ private DeltaTextDataProcessor deltaTextDataProcessor = new DeltaTextDataProcessor();
private Map<String, INaturalLanguageTextDataProcessor> elementProcessors;