Update of /var/cvs/applications/media/src/org/mmbase/applications/media/filters
In directory
james.mmbase.org:/tmp/cvs-serv12599/src/org/mmbase/applications/media/filters
Modified Files:
Tag: MMBase-1_8
MainFilter.java
Log Message:
MMB-1784 : media application makes use of resource loader now.
See also:
http://cvs.mmbase.org/viewcvs/applications/media/src/org/mmbase/applications/media/filters
See also: http://www.mmbase.org/jira/browse/MMB-1784
Index: MainFilter.java
===================================================================
RCS file:
/var/cvs/applications/media/src/org/mmbase/applications/media/filters/MainFilter.java,v
retrieving revision 1.13.2.1
retrieving revision 1.13.2.2
diff -u -b -r1.13.2.1 -r1.13.2.2
--- MainFilter.java 10 Jul 2007 12:11:03 -0000 1.13.2.1
+++ MainFilter.java 4 Feb 2009 13:53:43 -0000 1.13.2.2
@@ -16,9 +16,12 @@
import org.mmbase.util.*;
import org.w3c.dom.Element;
+import org.xml.sax.InputSource;
import java.util.*;
import java.io.File;
+import java.io.Reader;
+import java.io.IOException;
/**
* This is the main class for the filter process. It maintains list of
@@ -48,25 +51,27 @@
public static final String ID_ATT = "id";
public static final String CONFIG_FILE = "media" + File.separator +
"filters.xml";
- private FileWatcher configWatcher = new FileWatcher(true) {
- public void onChange(File file) {
- readConfiguration(file);
+ private ResourceWatcher configWatcher = new ResourceWatcher() {
+ public void onChange(String res) {
+ try {
+ Reader reader = getResourceLoader().getReader(res);
+ readConfiguration(reader);
+ } catch (IOException ie) {
+ log.warn("Can't load "+CONFIG_FILE);
+ log.warn("Message "+ie.getMessage());
+ }
}
};
+
private List filters = new ArrayList();
/**
* 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;
- }
- readConfiguration(configFile);
- configWatcher.add(configFile);
+ configWatcher.add(CONFIG_FILE);
+ configWatcher.onChange();
configWatcher.setDelay(10 * 1000); // check every 10 secs if config
changed
configWatcher.start();
}
@@ -83,13 +88,13 @@
/**
* read the MainFilter configuration
*/
- private synchronized void readConfiguration(File configFile) {
+ private synchronized void readConfiguration(Reader configreader) {
if (log.isServiceEnabled()) {
- log.service("Reading " + configFile);
+ log.service("Reading " + CONFIG_FILE);
}
filters.clear();
- DocumentReader reader = new XMLBasicReader(configFile.toString(),
getClass());
+ DocumentReader reader = new XMLBasicReader(new
InputSource(configreader), getClass());
Element filterConfigs = reader.getElementByPath(MAIN_TAG + "." +
FILTERCONFIGS_TAG);
ChainSorter chainComp = new ChainSorter();
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs