You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2018/04/03 19:28:03 UTC
svn commit: r1828272 -
/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/GlyphList.java
Author: tilman
Date: Tue Apr 3 19:28:03 2018
New Revision: 1828272
URL: http://svn.apache.org/viewvc?rev=1828272&view=rev
Log:
PDFBOX-4181: use ConcurrentHashMap instead of HashMap because of concurrent writing, as suggested by Michael Klink
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/GlyphList.java
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/GlyphList.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/GlyphList.java?rev=1828272&r1=1828271&r2=1828272&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/GlyphList.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/encoding/GlyphList.java Tue Apr 3 19:28:03 2018
@@ -25,6 +25,7 @@ import org.apache.commons.logging.LogFac
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
/**
* PostScript glyph list, maps glyph names to sequences of Unicode characters.
@@ -96,7 +97,7 @@ public final class GlyphList
private final Map<String, String> unicodeToName;
// additional read/write cache for uniXXXX names
- private final Map<String, String> uniNameToUnicodeCache = new HashMap<String, String>();
+ private final Map<String, String> uniNameToUnicodeCache = new ConcurrentHashMap<String, String>();
/**
* Creates a new GlyphList from a glyph list file.
@@ -290,7 +291,11 @@ public final class GlyphList
LOG.warn("Not a number in Unicode character name: " + name);
}
}
- uniNameToUnicodeCache.put(name, unicode);
+ if (unicode != null)
+ {
+ // null value not allowed in ConcurrentHashMap
+ uniNameToUnicodeCache.put(name, unicode);
+ }
}
return unicode;
}