Project

General

Profile

Download (1.44 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.cdm.api.service;
2

    
3
import java.util.Map;
4

    
5
import org.apache.commons.lang.StringUtils;
6

    
7
import eu.etaxonomy.cdm.model.common.Language;
8
import eu.etaxonomy.cdm.model.common.LanguageString;
9
import eu.etaxonomy.cdm.model.description.TextData;
10

    
11
public class DeltaTextDataProcessor implements INaturalLanguageTextDataProcessor {
12

    
13
	@Override
14
	public void process(TextData textData, TextData previousTextData) {
15
		boolean doItBetter = false;
16
		
17
		Map<Language,LanguageString> previousMultiLanguageText = previousTextData.getMultilanguageText();
18
		Map<Language,LanguageString> multiLanguageText = textData.getMultilanguageText();
19
		
20
		for (Language language : multiLanguageText.keySet()){
21
			LanguageString langString = multiLanguageText.get(language);
22
			String text = langString.getText();
23
			
24
			LanguageString tmpMultilangText = previousMultiLanguageText.get(language);
25
			if( tmpMultilangText != null){
26
				text = StringUtils.remove(text, tmpMultilangText.getText());
27
			}
28
			
29
			if (doItBetter) { //TODO remove the text between brackets
30
				StringBuilder strbuilder = new StringBuilder();
31
				do	{
32
					strbuilder.append(StringUtils.substringBefore(text, "<"));
33
				}
34
				while (!(text=StringUtils.substringAfter(text, ">")).equals(""));
35
				StringUtils.substringBeforeLast(strbuilder.toString()," ");
36
			}
37
			else{
38
				text=StringUtils.replaceChars(text,"<>","");
39
			}
40
			
41
			textData.removeText(language);
42
			textData.putText(language, text);
43
			
44
		}
45
		
46
	}
47

    
48
}
(13-13/76)