memory optimizations

This commit is contained in:
Athou
2014-12-15 11:16:22 +01:00
parent 7879f66e78
commit 3cbbb67b0c
2 changed files with 6 additions and 10 deletions

View File

@@ -10,7 +10,6 @@ import java.util.Collections;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
@@ -133,11 +132,7 @@ public class FeedUtils {
}
public static String replaceHtmlEntitiesWithNumericEntities(String source) {
String result = source;
for (Map.Entry<String, String> entry : HtmlEntities.NUMERIC_MAPPING.entrySet()) {
result = StringUtils.replace(result, entry.getKey(), entry.getValue());
}
return result;
return StringUtils.replaceEach(source, HtmlEntities.HTML_ENTITIES, HtmlEntities.NUMERIC_ENTITIES);
}
/**

View File

@@ -1,13 +1,13 @@
package com.commafeed.backend.feed;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
public class HtmlEntities {
public static final Map<String, String> NUMERIC_MAPPING = Collections.unmodifiableMap(loadMap());
public static final String[] HTML_ENTITIES;
public static final String[] NUMERIC_ENTITIES;
private static synchronized Map<String, String> loadMap() {
static {
Map<String, String> map = new LinkedHashMap<>();
map.put("&Aacute;", "&#193;");
map.put("&aacute;", "&#225;");
@@ -260,6 +260,7 @@ public class HtmlEntities {
map.put("&zwj;", "&#8205;");
map.put("&zwnj;", "&#8204;");
return map;
HTML_ENTITIES = map.keySet().toArray(new String[map.size()]);
NUMERIC_ENTITIES = map.values().toArray(new String[map.size()]);
}
}