From 3cbbb67b0c3351f72d4631b3fa07009ccfde2f6c Mon Sep 17 00:00:00 2001 From: Athou Date: Mon, 15 Dec 2014 11:16:22 +0100 Subject: [PATCH] memory optimizations --- src/main/java/com/commafeed/backend/feed/FeedUtils.java | 7 +------ .../java/com/commafeed/backend/feed/HtmlEntities.java | 9 +++++---- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/commafeed/backend/feed/FeedUtils.java b/src/main/java/com/commafeed/backend/feed/FeedUtils.java index 6347051b..c236a29b 100644 --- a/src/main/java/com/commafeed/backend/feed/FeedUtils.java +++ b/src/main/java/com/commafeed/backend/feed/FeedUtils.java @@ -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 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); } /** diff --git a/src/main/java/com/commafeed/backend/feed/HtmlEntities.java b/src/main/java/com/commafeed/backend/feed/HtmlEntities.java index 6c6df31c..3e927c67 100644 --- a/src/main/java/com/commafeed/backend/feed/HtmlEntities.java +++ b/src/main/java/com/commafeed/backend/feed/HtmlEntities.java @@ -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 NUMERIC_MAPPING = Collections.unmodifiableMap(loadMap()); + public static final String[] HTML_ENTITIES; + public static final String[] NUMERIC_ENTITIES; - private static synchronized Map loadMap() { + static { Map map = new LinkedHashMap<>(); map.put("Á", "Á"); map.put("á", "á"); @@ -260,6 +260,7 @@ public class HtmlEntities { map.put("‍", "‍"); map.put("‌", "‌"); - return map; + HTML_ENTITIES = map.keySet().toArray(new String[map.size()]); + NUMERIC_ENTITIES = map.values().toArray(new String[map.size()]); } }