mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-23 04:24:49 +02:00
Merge
This commit is contained in:
commit
fddda74b98
1 changed files with 11 additions and 5 deletions
|
@ -70,10 +70,13 @@ public class IdResolver {
|
||||||
*/
|
*/
|
||||||
public static void registerElementById(Element element, String idValue) {
|
public static void registerElementById(Element element, String idValue) {
|
||||||
Document doc = element.getOwnerDocument();
|
Document doc = element.getOwnerDocument();
|
||||||
WeakHashMap elementMap = (WeakHashMap) docMap.get(doc);
|
WeakHashMap elementMap;
|
||||||
if(elementMap == null) {
|
synchronized (docMap) {
|
||||||
elementMap = new WeakHashMap();
|
elementMap = (WeakHashMap) docMap.get(doc);
|
||||||
docMap.put(doc, elementMap);
|
if (elementMap == null) {
|
||||||
|
elementMap = new WeakHashMap();
|
||||||
|
docMap.put(doc, elementMap);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
elementMap.put(idValue, new WeakReference(element));
|
elementMap.put(idValue, new WeakReference(element));
|
||||||
}
|
}
|
||||||
|
@ -153,7 +156,10 @@ public class IdResolver {
|
||||||
private static Element getElementByIdType(Document doc, String id) {
|
private static Element getElementByIdType(Document doc, String id) {
|
||||||
if (log.isLoggable(java.util.logging.Level.FINE))
|
if (log.isLoggable(java.util.logging.Level.FINE))
|
||||||
log.log(java.util.logging.Level.FINE, "getElementByIdType() Search for ID " + id);
|
log.log(java.util.logging.Level.FINE, "getElementByIdType() Search for ID " + id);
|
||||||
WeakHashMap elementMap = (WeakHashMap) docMap.get(doc);
|
WeakHashMap elementMap;
|
||||||
|
synchronized (docMap) {
|
||||||
|
elementMap = (WeakHashMap) docMap.get(doc);
|
||||||
|
}
|
||||||
if (elementMap != null) {
|
if (elementMap != null) {
|
||||||
WeakReference weakReference = (WeakReference) elementMap.get(id);
|
WeakReference weakReference = (WeakReference) elementMap.get(id);
|
||||||
if (weakReference != null) {
|
if (weakReference != null) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue