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,