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);
-// }
-
+
}