Update of /var/cvs/applications/media/src/org/mmbase/applications/media/filters
In directory james.mmbase.org:/tmp/cvs-serv7141/media/filters

Modified Files:
        MainFilter.java 
Log Message:
use resource loader, don't use deprecated XMLBasicReader


See also: 
http://cvs.mmbase.org/viewcvs/applications/media/src/org/mmbase/applications/media/filters


Index: MainFilter.java
===================================================================
RCS file: 
/var/cvs/applications/media/src/org/mmbase/applications/media/filters/MainFilter.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- MainFilter.java     10 Jul 2007 12:11:31 -0000      1.16
+++ MainFilter.java     3 Sep 2008 21:27:22 -0000       1.17
@@ -19,7 +19,6 @@
 import org.w3c.dom.Element;
 
 import java.util.*;
-import java.io.File;
 
 /**
  * This is the main class for the filter process. It maintains list of
@@ -47,11 +46,11 @@
     public static final String FILTER_TAG        = "filter";
     public static final String FILTER_ATT        = "filter";
     public static final String ID_ATT            = "id";
-    public static final String CONFIG_FILE       = "media" + File.separator + 
"filters.xml";
+    public static final String CONFIG_FILE       = "media/filters.xml";
 
-    private FileWatcher configWatcher = new FileWatcher(true) {
-        public void onChange(File file) {
-            readConfiguration(file);
+    private ResourceWatcher configWatcher = new ResourceWatcher() {
+        public void onChange(String resource) {
+            readConfiguration(resource);
         }
     };
 
@@ -61,11 +60,7 @@
      * Construct the MainFilter
      */
     private MainFilter() {
-        File configFile = new 
File(org.mmbase.module.core.MMBaseContext.getConfigPath(), CONFIG_FILE);
-        if (! configFile.exists()) {
-            log.error("Configuration file for mediasourcefilter " + configFile 
+ " does not exist");
-            return;
-        }
+        String configFile = CONFIG_FILE;
         readConfiguration(configFile);
         configWatcher.add(configFile);
         configWatcher.setDelay(10 * 1000); // check every 10 secs if config 
changed
@@ -84,16 +79,17 @@
     /**
      * read the MainFilter configuration
      */
-    private synchronized void readConfiguration(File configFile) {
+    private synchronized void readConfiguration(String configFile) {
         if (log.isServiceEnabled()) {
             log.service("Reading " + configFile);
         }
         filters.clear();
+        ChainSorter chainComp = new ChainSorter();
 
-        DocumentReader reader = new XMLBasicReader(configFile.toString(), 
getClass());
+        try {
+            DocumentReader reader = new 
DocumentReader(ResourceLoader.getConfigurationRoot().getDocument(configFile, 
DocumentReader.validate(), getClass()));
         Element filterConfigs = reader.getElementByPath(MAIN_TAG + "." + 
FILTERCONFIGS_TAG);
 
-        ChainSorter chainComp = new ChainSorter();
         // When chaining 'comparators' then they are combined to one comparator
         // Then only one 'sort' has to be done, which is more efficient.
 
@@ -133,6 +129,9 @@
                 log.error("Cannot load filter " + clazz + "\n" + ex2);
             }
         }
+        } catch (Exception e) {
+            log.warn(e);
+        }
         if (chainComp.size() > 0) {
             filters.add(chainComp); // make sure it is at least empty
         }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to