Author: xlawrence
Date: Fri Nov  9 14:51:59 2007
New Revision: 19109

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D19109&repname=
=3Djahia
Log:
invalidate cached sitemap view helpers upon modification of the page proper=
ties

Modified:
    trunk/core/src/java/org/jahia/data/viewhelper/sitemap/SiteMapEventListe=
ner.java

Modified: trunk/core/src/java/org/jahia/data/viewhelper/sitemap/SiteMapEven=
tListener.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/data/viewhelper/sitemap/SiteMapEventListener.java&rev=3D19109&repn=
ame=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/data/viewhelper/sitemap/SiteMapEventListe=
ner.java (original)
+++ trunk/core/src/java/org/jahia/data/viewhelper/sitemap/SiteMapEventListe=
ner.java Fri Nov  9 14:51:59 2007
@@ -46,13 +46,18 @@
 =

 package org.jahia.data.viewhelper.sitemap;
 =

+import org.jahia.data.containers.JahiaContainer;
+import org.jahia.data.containers.JahiaContainerList;
 import org.jahia.data.events.JahiaEvent;
 import org.jahia.data.events.JahiaEventListener;
 import org.jahia.data.fields.FieldTypes;
 import org.jahia.data.fields.JahiaField;
+import org.jahia.exceptions.JahiaException;
 import org.jahia.registries.ServicesRegistry;
-import org.jahia.services.usermanager.JahiaUser;
 import org.jahia.services.sitemap.JahiaSiteMapService;
+import org.jahia.services.usermanager.JahiaUser;
+
+import java.util.Enumeration;
 =

 /**
  * <p>Title: Jahia View Helper</p>
@@ -63,17 +68,21 @@
  * </p>
  * <p>Copyright: MAP (Jahia Solutions S=C3=A0rl 2002)</p>
  * <p>Company: Jahia Solutions S=C3=A0rl</p>
+ *
  * @author MAP
  * @version 1.0
  */
 public class SiteMapEventListener extends JahiaEventListener {
 =

+    /**
+     * logging
+     */
+    private static final org.apache.log4j.Logger logger =3D
+            org.apache.log4j.Logger.getLogger(SiteMapEventListener.class);
+
     private static final JahiaSiteMapService jahiaSiteMapService =3D
             ServicesRegistry.getInstance().getJahiaSiteMapService();
 =

-    public SiteMapEventListener() {
-    }
-
     /**
      * Reset engines that implement the site map view helper if a page was=
 added.
      * Called when a page is added to Jahia CMS.
@@ -92,7 +101,7 @@
      * @param je The Jahia event in question
      */
     public void fieldDeleted(JahiaEvent je) {
-        final JahiaField theField =3D (JahiaField)je.getObject();
+        final JahiaField theField =3D (JahiaField) je.getObject();
         if (theField.getType() =3D=3D FieldTypes.PAGE) {
             jahiaSiteMapService.resetSiteMap();
         }
@@ -107,11 +116,29 @@
      * Called when a user logout.
      *
      * @param je The Jahia event in question. C'est fou ce qu'on peut se m=
arrer
-     * a repeter les memes aneries.
+     *           a repeter les memes aneries.
      */
     public void userLoggedOut(JahiaEvent je) {
-        final JahiaUser theUser =3D (JahiaUser)je.getObject();
+        final JahiaUser theUser =3D (JahiaUser) je.getObject();
         jahiaSiteMapService.removeUserSiteMap(theUser.getUserKey());
     }
 =

+    public void containerListPropertiesSet(JahiaEvent je) {
+        try {
+            final JahiaContainerList theList =3D (JahiaContainerList) je.g=
etObject();
+            if (theList.size() > 0) {
+                final JahiaContainer ctn =3D theList.getContainer(0);
+                final Enumeration fields =3D ctn.getFields();
+                while (fields.hasMoreElements()) {
+                    final JahiaField f =3D (JahiaField) fields.nextElement=
();
+                    if (f.getType() =3D=3D FieldTypes.PAGE) {
+                        jahiaSiteMapService.resetSiteMap();
+                        return;
+                    }
+                }
+            }
+        } catch (final JahiaException e) {
+            logger.error(e, e);
+        }
+    }
 }

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

Reply via email to