You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by re...@apache.org on 2007/02/22 19:12:11 UTC

svn commit: r510611 - /cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/servlet/CocoonReloadingListener.java

Author: reinhard
Date: Thu Feb 22 10:12:11 2007
New Revision: 510611

URL: http://svn.apache.org/viewvc?view=rev&rev=510611
Log:
- only reload if Spring or Avalon config files change
- use logging instead of System.out

Modified:
    cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/servlet/CocoonReloadingListener.java

Modified: cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/servlet/CocoonReloadingListener.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/servlet/CocoonReloadingListener.java?view=diff&rev=510611&r1=510610&r2=510611
==============================================================================
--- cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/servlet/CocoonReloadingListener.java (original)
+++ cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/servlet/CocoonReloadingListener.java Thu Feb 22 10:12:11 2007
@@ -17,66 +17,38 @@
 package org.apache.cocoon.servlet;
 
 import java.io.File;
-//import java.util.ArrayList;
-//import java.util.Iterator;
-//import java.util.List;
 
 import org.apache.commons.jci.listeners.ReloadingListener;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 public class CocoonReloadingListener extends ReloadingListener {
 
+    private final Log log = LogFactory.getLog(CocoonReloadingListener.class);
+
     private static boolean reload = false;
-//    private static List subscribers = new ArrayList();
-    
+
     public CocoonReloadingListener(File file) {
         super(file);
     }
 
     public void onChangeFile(File changedFile) {
-        String changedFilePath = changedFile.getAbsolutePath().replace('\\', '/');
-        String changedFileParent = changedFile.getParent().replace('\\', '/');
-        
-        
-        System.out.println("A file changed: " + changedFile.getAbsolutePath());
-        System.out.println("Parent: " + changedFile.getParent());
         super.onChangeFile(changedFile);
+        String changedFileParent = changedFile.getParent().replace('\\', '/');
 
-        
-        // TODO be more specific when to reload. Not every change needs a reload of the Spring
-        // application context
-        if(changedFileParent.endsWith("META-INF/cocoon/spring") ||
-                changedFilePath.endsWith(".xmap") ||
-                changedFilePath.endsWith(".xmap.xml") ||
-                changedFileParent.endsWith("config/spring")) {
-            System.out.println("File change detected: " + changedFile);       
-            reload = true;            
+        if (changedFileParent.endsWith("META-INF/cocoon/spring") || changedFileParent.endsWith("config/avalon")
+                || changedFileParent.endsWith("config/spring")) {
+            log.info("File change detected: " + changedFile);
+            reload = true;
         }
-        
-//        notifySubscribers();        
-
     }
 
-    public void onChangeDirectory(File changedDirectory) {
-        super.onChangeDirectory(changedDirectory);
-//        notifySubscribers();        
-    }    
-    
     public static synchronized boolean isReload() {
-        if(reload == true) {
+        if (reload == true) {
             reload = false;
             return true;
         }
         return reload;
     }
-//    
-//    private void notifySubscribers() {
-//        for(Iterator nIt = subscribers.iterator(); nIt.hasNext(); ) {
-//            ((ReloadingNotificationSubscriber) nIt.next()).handleNotification();
-//        }
-//    }
-//    
-//    public static void subscribe(ReloadingNotificationSubscriber subscriber) {
-//        subscribers.add(subscriber);
-//    }
-    
+
 }