Author: tdraier
Date: Fri Sep 21 10:36:47 2007
New Revision: 18589

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18589&repname=
=3Djahia
Log:
fixed invalidation with display mode instead of workflow state ( port 18405=
 )

Modified:
    trunk/core/src/java/org/jahia/services/cache/CacheEventListener.java
    trunk/core/src/java/org/jahia/services/cache/ContainerHTMLCache.java

Modified: trunk/core/src/java/org/jahia/services/cache/CacheEventListener.j=
ava
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/CacheEventListener.java&rev=3D18589&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/cache/CacheEventListener.java (o=
riginal)
+++ trunk/core/src/java/org/jahia/services/cache/CacheEventListener.java Fr=
i Sep 21 10:36:47 2007
@@ -1,16 +1,17 @@
 package org.jahia.services.cache;
 =

-import org.jahia.data.events.JahiaEventListener;
+import org.jahia.content.*;
+import org.jahia.content.events.ContentActivationEvent;
+import org.jahia.data.containers.JahiaContainerList;
 import org.jahia.data.events.JahiaEvent;
 import org.jahia.services.workflow.WorkflowEvent;
+import org.jahia.data.events.JahiaEventListener;
+import org.jahia.exceptions.JahiaException;
+import org.jahia.exceptions.JahiaInitializationException;
+import org.jahia.params.ProcessingContext;
+import org.jahia.registries.ServicesRegistry;
 import org.jahia.services.fields.ContentField;
 import org.jahia.services.version.EntryLoadRequest;
-import org.jahia.services.containers.ContentContainer;
-import org.jahia.content.*;
-import org.jahia.content.events.ContentActivationEvent;
-import org.jahia.registries.ServicesRegistry;
-import org.jahia.exceptions.JahiaInitializationException;
-import org.jahia.exceptions.JahiaException;
 =

 import java.util.*;
 =

@@ -57,7 +58,9 @@
         }
         for (Iterator iterator =3D myEvents.iterator(); iterator.hasNext()=
;) {
             Object[] objs =3D (Object[]) iterator.next();
-            invalidate((ContentObjectKey) objs[0], EntryLoadRequest.STAGIN=
G_WORKFLOW_STATE, (String) objs[1]);
+            invalidate((ContentObjectKey) objs[0], ProcessingContext.EDIT,=
 (String) objs[1]);
+            invalidate((ContentObjectKey) objs[0], ProcessingContext.PREVI=
EW, (String) objs[1]);
+            invalidate((ContentObjectKey) objs[0], ProcessingContext.COMPA=
RE, (String) objs[1]);
         }
     }
 =

@@ -74,7 +77,8 @@
         }
         for (Iterator iterator =3D myEvents.iterator(); iterator.hasNext()=
;) {
             Object[] objs =3D (Object[]) iterator.next();
-            invalidate((ContentObjectKey) objs[0], EntryLoadRequest.ACTIVE=
_WORKFLOW_STATE, (String) objs[1]);
+            invalidate((ContentObjectKey) objs[0], ProcessingContext.NORMA=
L, (String) objs[1]);
+            invalidate((ContentObjectKey) objs[0], ProcessingContext.COMPA=
RE, (String) objs[1]);
         }
     }
 =

@@ -93,6 +97,18 @@
         return chtmlCache;
     }
 =

+    public void containerListPropertiesSet(JahiaEvent je) {
+        JahiaContainerList containerList =3D (JahiaContainerList) je.getOb=
ject();
+        if (containerList !=3D null) {
+            ContentObjectKey key =3D (ContentObjectKey) containerList.getC=
ontentContainerList().getObjectKey();
+            String locale =3D je.getProcessingContext().getLocale().toStri=
ng();
+            invalidate(key,ProcessingContext.EDIT, locale);
+            invalidate(key,ProcessingContext.NORMAL, locale);
+            invalidate(key,ProcessingContext.PREVIEW, locale);
+            invalidate(key,ProcessingContext.COMPARE, locale);
+        }
+    }
+
     private void addObjectKey(ContentObjectKey objectKey, Set languageCode=
s, List myEvents, Set viewed) {
         if (ContentPageKey.PAGE_TYPE.equals(objectKey.getType())) {
             objectKey =3D objectKey.getParent(EntryLoadRequest.STAGED);
@@ -119,8 +135,8 @@
         }
     }
 =

-    private void invalidate(ContentObjectKey object, int entryLoadRequest,=
 String locale) {
-        getChtmlCache().invalidateContainerEntries(object.toString(), entr=
yLoadRequest, locale);
+    private void invalidate(ContentObjectKey object, String mode, String l=
ocale) {
+        getChtmlCache().invalidateContainerEntries(object.toString(), mode=
, locale);
     }
 =

 }

Modified: trunk/core/src/java/org/jahia/services/cache/ContainerHTMLCache.j=
ava
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/cache/ContainerHTMLCache.java&rev=3D18589&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/cache/ContainerHTMLCache.java (o=
riginal)
+++ trunk/core/src/java/org/jahia/services/cache/ContainerHTMLCache.java Fr=
i Sep 21 10:36:47 2007
@@ -47,7 +47,7 @@
      * @param group
      [EMAIL PROTECTED] user          the user name
      * @param languageCode  the language code
-     * @param mode          the workflow state
+     * @param mode          the mode
      * @param scheme        the request scheme (http/https)
      * @return  the generated cache key
      */
@@ -102,23 +102,23 @@
 =

     /**
      * <p>Invalidates all the cache entries related to the specified conta=
iner <code>containerID</code>,
-     * and workflow state by removing the cache entries.</p>
+     * and mode by removing the cache entries.</p>
      *
      * @param containerID  the container identification number
-     * @param workflowState the workflow state for which to invalidate the=
 containers.
+     * @param mode the mode for which to invalidate the containers.
      * @param languageCode the language code for which to invalidate the c=
ontainers.
      */
 =

-    public synchronized void invalidateContainerEntries(String containerID=
, int workflowState, String languageCode) {
+    public synchronized void invalidateContainerEntries(String containerID=
, String mode, String languageCode) {
 =

         if (containerID =3D=3D null) {
             logger.debug ("Cannot remove a null container ID from the cach=
e!");
             return;
         }
 =

-        logger.debug ("Removing cache entries for container/containerlist =
["+ containerID + "], workflow ["+workflowState+"], lang ["+languageCode+"]=
");
+        logger.debug ("Removing cache entries for container/containerlist =
["+ containerID + "], mode ["+mode+"], lang ["+languageCode+"]");
 =

-        String pageKey =3D containerID + WORKFLOWSTATE_PREFIX + workflowSt=
ate + LANGUAGECODE_PREFIX + languageCode;
+        String pageKey =3D containerID + WORKFLOWSTATE_PREFIX + mode + LAN=
GUAGECODE_PREFIX + languageCode;
 =

         flushGroup(pageKey);
     }

_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to