Author: mcardle
Date: Wed Aug  2 07:19:13 2006
New Revision: 14822

URL: https://svndev.jahia.net/websvn/listing.php?sc=1&rev=14822&repname=jahia
Log:
* prevents import/exports from triggering constant invalidations

Modified:
    trunk/core/src/java/org/jahia/operations/valves/EsiInvalidateValve.java
    
trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseService.java

Modified: 
trunk/core/src/java/org/jahia/operations/valves/EsiInvalidateValve.java
URL: 
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/java/org/jahia/operations/valves/EsiInvalidateValve.java&rev=14822&repname=jahia
==============================================================================
--- trunk/core/src/java/org/jahia/operations/valves/EsiInvalidateValve.java 
(original)
+++ trunk/core/src/java/org/jahia/operations/valves/EsiInvalidateValve.java Wed 
Aug  2 07:19:13 2006
@@ -115,6 +115,17 @@
         }
         else if (esiService.checkForAnyContentToInvalidate()) {
 
+            ParamBean paramBean = null;
+            if (pc instanceof ParamBean) {
+                paramBean = (ParamBean)pc;
+                if ( 
paramBean.getRealRequest().getHeader(JesiConst.ESI_IMPORT_HEADER) !=null ) {
+                    if (logger.isDebugEnabled()) {
+                        logger.debug("Ignoring any incurred invalidations from 
Import request : " +paramBean.getRealRequest().getRequestURL() );
+                        return;
+                    }
+                }
+            }
+
             //Get ESI invalidation message for all objects to invalidate
             String invMessage = 
ServicesRegistry.getInstance().getEsiInvalidationWriterService().getPendingObjectsToInvalidate(pc);
 
@@ -124,8 +135,7 @@
 
                 boolean invDone = false;
                 if (!forceSOAPInvalidation && 
pc.settings().getEsiUsePiggyBackInvalidation()) {
-                    if (pc instanceof ParamBean) {
-                        ParamBean paramBean = (ParamBean)pc;
+                    if (paramBean!=null) {
                         //only return piggyback invalidations when the request 
comes from an ESI server
                         if (org.jahia.taglibs.esi.JesiTag.requestFromESI_10( 
paramBean.getRealRequest() )
                                 //the latter header is sent even for POST 
request (unlike the one above)

Modified: 
trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseService.java
URL: 
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseService.java&rev=14822&repname=jahia
==============================================================================
--- 
trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseService.java
 (original)
+++ 
trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseService.java
 Wed Aug  2 07:19:13 2006
@@ -69,6 +69,7 @@
 import org.jahia.services.version.VersioningDifferenceStatus;
 import org.jahia.services.webdav.DAVFileAccess;
 import org.jahia.services.webdav.JahiaWebdavBaseService;
+import org.jahia.taglibs.esi.JesiConst;
 import org.quartz.CronTrigger;
 import org.quartz.JobDataMap;
 import org.quartz.JobDetail;
@@ -1573,6 +1574,10 @@
             } else {
                 method.addRequestHeader(TokenAuthValveImpl.addToken(user));
             }
+            //notify EsiInvalidateValve that these requests are due to imports 
(so as not to invalidate content)
+            if (Jahia.getSettings().isEsiCacheActivated()) {
+                method.addRequestHeader(JesiConst.ESI_IMPORT_HEADER, "yes" );
+            }
             // Execute the method.
             int result = client.executeMethod(method);
             logger.debug("Response status code for ["+url +"] is : " + result);

Reply via email to