Project

General

Profile

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

    
3
import java.util.HashMap;
4
import java.util.Iterator;
5
import java.util.List;
6
import java.util.Map;
7

    
8
import org.apache.commons.lang.StringUtils;
9

    
10
import eu.etaxonomy.cdm.model.description.TextData;
11
import eu.etaxonomy.cdm.model.common.Language;
12

    
13
import eu.etaxonomy.cdm.model.common.LanguageString;
14

    
15
public class DeltaTextDataProcessor implements INaturalLanguageTextDataProcessor {
16

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

    
49
}
(14-14/75)