Author: mcardle
Date: Thu Aug  3 07:08:57 2006
New Revision: 14833

URL: https://svndev.jahia.net/websvn/listing.php?sc=1&rev=14833&repname=jahia
Log:
* adds more debug info

Modified:
    trunk/core/src/java/org/jahia/engines/rights/ManageRights.java

Modified: trunk/core/src/java/org/jahia/engines/rights/ManageRights.java
URL: 
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/java/org/jahia/engines/rights/ManageRights.java&rev=14833&repname=jahia
==============================================================================
--- trunk/core/src/java/org/jahia/engines/rights/ManageRights.java (original)
+++ trunk/core/src/java/org/jahia/engines/rights/ManageRights.java Thu Aug  3 
07:08:57 2006
@@ -785,6 +785,7 @@
                 "\ncurrentInheritance: " + inheritance);
         //keeps track of wether the current ACL was modified (for ESI)
         boolean aclAltered = false;
+        boolean aclInheritanceAltered = false;
         try {
             //(esi) holds all users whos entries should be invalidated
             HashSet esiUsersToInvalidate = new HashSet();
@@ -805,8 +806,9 @@
                     final JahiaUser user = (JahiaUser) usr_grp;
                     acl.setUserEntry(user, entry);
                     
htmlCacheInstance.invalidateUserEntries(user.getUsername());
-                    if (processingContext.settings().isEsiCacheActivated())
+                    if (processingContext.settings().isEsiCacheActivated()) {
                         esiUsersToInvalidate.add(user);
+                    }
                 } else {
                     final JahiaGroup group = (JahiaGroup) usr_grp;
                     acl.setGroupEntry(group, entry);
@@ -846,6 +848,7 @@
                 aclAltered = true;
             }
             if (acl.getInheritance()!=inheritance.intValue()) {
+                aclInheritanceAltered = true;
                 aclAltered = true;
             }
             acl.setInheritance(inheritance.intValue());
@@ -864,12 +867,16 @@
                     JahiaContainer jahiaContainer = ((JahiaContainer) 
engineMap.get("theContainer"));
                     pageID = jahiaContainer.getPageID();
                     if (processingContext.settings().isEsiCacheActivated()) {
+                        if (logger.isDebugEnabled())
+                            logger.debug("ACL ["+acl+"] was altered so 
triggering invalidation of container :" + jahiaContainer.getID() );
                         
ServicesRegistry.getInstance().getEsiService().ctnRequiresInvalidation(
                                 jahiaContainer,
                                 new 
ContentInfo(EsiService.CONTAINER,jahiaContainer.getID(), 
EsiInvalidationEventListener.ACL_CHANGE_EVENT)
                         );
                         int parentContainerListID = jahiaContainer.getListID();
                         if (parentContainerListID>0) {
+                            if (logger.isDebugEnabled())
+                                logger.debug("ACL ["+acl+"] was altered so 
triggering invalidation of parent container :" + parentContainerListID );
                             
ServicesRegistry.getInstance().getEsiService().ctnRequiresInvalidation(
                                     jahiaContainer,
                                     new 
ContentInfo(EsiService.CONTAINERLIST,jahiaContainer.getListID(), 
EsiInvalidationEventListener.ACL_CHANGE_EVENT)
@@ -881,20 +888,28 @@
                 for (int i = 0; i < childs.size(); i++) {
                     JahiaPage aPage = (JahiaPage) childs.get(i);
                     pageService.invalidatePageCache(aPage.getID());
-                    if (processingContext.settings().isEsiCacheActivated()) {
+                    //only invalidate esi cache entries of sub-pages if 
inheritance is changed
+                    if (aclInheritanceAltered && 
processingContext.settings().isEsiCacheActivated()) {
                         if (logger.isDebugEnabled())
-                            logger.debug("ACL ["+acl+"] was altered so trigger 
invalidation of subpage " + aPage.getID() );
+                            logger.debug("ACL ["+acl+"] was altered so 
triggering invalidation of subpage :" + aPage.getID() );
                         esiPagesToInvalidate.add(new Integer(aPage.getID()));
                     }
                 }
                 if (processingContext.settings().isEsiCacheActivated()) {
                     if (logger.isDebugEnabled())
-                        logger.debug("ACL ["+acl+"] was altered so trigger 
invalidation of root page " + pageID );
+                        logger.debug("ACL ["+acl+"] was altered so triggering 
invalidation of root page :" + pageID );
                     esiPagesToInvalidate.add(new Integer(pageID));
                 }
                 pageService.invalidatePageCache(pageID);
 
                 if (processingContext.settings().isEsiCacheActivated()) {
+                    if (logger.isDebugEnabled()) {
+                        Iterator iterUsers = esiUsersToInvalidate.iterator();
+                        while(iterUsers.hasNext()) {
+                            JahiaUser jahiaUser = (JahiaUser) iterUsers.next();
+                            logger.debug("ACL ["+acl+"] was altered so 
triggering invalidation of user : " + jahiaUser.getUsername());
+                        }
+                    }
                     
ServicesRegistry.getInstance().getEsiSOAPInvalidatorService()
                             .SOAPInvalidatePagesAndAllFragsAndAllUserEntries( 
Jahia.getThreadParamBean() ,
                                     esiPagesToInvalidate,

Reply via email to