Author: cmailleux
Date: Wed Aug 2 16:39:17 2006
New Revision: 14831
URL: https://svndev.jahia.net/websvn/listing.php?sc=1&rev=14831&repname=jahia
Log:
Avoid some concurrent modifications exceptions and NPE
Modified:
trunk/core/src/java/org/jahia/services/esi/tagstack/JesiObject.java
Modified: trunk/core/src/java/org/jahia/services/esi/tagstack/JesiObject.java
URL:
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/java/org/jahia/services/esi/tagstack/JesiObject.java&rev=14831&repname=jahia
==============================================================================
--- trunk/core/src/java/org/jahia/services/esi/tagstack/JesiObject.java
(original)
+++ trunk/core/src/java/org/jahia/services/esi/tagstack/JesiObject.java Wed Aug
2 16:39:17 2006
@@ -833,17 +833,20 @@
if (node!=null) {
Set contentIdKeys = node.getDataKeys();
if (contentIdKeys !=null) {
+ contentIdKeys = new HashSet(node.getDataKeys());
for (Iterator iterator = contentIdKeys.iterator();
iterator.hasNext();) {
String contentIdKey = (String) iterator.next();
//remove entry for the current node
String trackbackNodeKey = TRACKBACK_OVERALL_NODEKEY +
typeNodeKey + "/" + contentIdKey;
DataNode trackbackNode = cache.get(trackbackNodeKey);
+ if(trackbackNode!=null) {
//cache.remove(TRACKBACK_OVERALL_NODEKEY+typeNodeKey+"/"+contentIdKey, nodeKey);
trackbackNode.remove(nodeKey);
//safely remove this trackback node if it is empty
if (trackbackNode.getDataKeys().isEmpty()) {
cache.remove(trackbackNodeKey);
}
+ }
}
}
}