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);
                         }
+                        }
                     }
                 }
             }

Reply via email to