Update of /var/cvs/applications/media/src/org/mmbase/applications/media
In directory
james.mmbase.org:/tmp/cvs-serv12599/src/org/mmbase/applications/media
Modified Files:
Tag: MMBase-1_8
Format.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
See also: http://www.mmbase.org/jira/browse/MMB-1784
Index: Format.java
===================================================================
RCS file:
/var/cvs/applications/media/src/org/mmbase/applications/media/Format.java,v
retrieving revision 1.19.2.2
retrieving revision 1.19.2.3
diff -u -b -r1.19.2.2 -r1.19.2.3
--- Format.java 2 Oct 2007 13:36:04 -0000 1.19.2.2
+++ Format.java 4 Feb 2009 13:53:43 -0000 1.19.2.3
@@ -10,12 +10,15 @@
package org.mmbase.applications.media;
import java.io.File;
+import java.io.Reader;
+import java.io.IOException;
import java.util.*;
import org.mmbase.util.*;
import org.mmbase.util.logging.Logger;
import org.mmbase.util.logging.Logging;
import org.mmbase.module.core.MMBaseContext;
import org.w3c.dom.Element;
+import org.xml.sax.InputSource;
// import org.mmbase.util.ConstantsBundle;
@@ -24,7 +27,7 @@
* Makes the 'Format' constants available.
*
* @author Michiel Meeuwissen
- * @version $Id: Format.java,v 1.19.2.2 2007/10/02 13:36:04 michiel Exp $
+ * @version $Id: Format.java,v 1.19.2.3 2009/02/04 13:53:43 rico Exp $
* @since MMBase-1.7
*/
// See http://www.javaworld.com/javaworld/jw-07-1997/jw-07-enumerated.html
@@ -34,7 +37,7 @@
public final static String RESOURCE =
"org.mmbase.applications.media.resources.formats";
public static final String PUBLIC_ID_MIMEMAPPING_1_0 = "-//MMBase//DTD
mimemapping config 1.0//EN";
public static final String DTD_MIMEMAPPING_1_0 =
"mimemapping_1_0.dtd";
-
+ public static final String CONFIG_FILE= "media" + File.separator +
"mimemapping.xml";
// in case you want i18ed format strings.
@@ -43,25 +46,29 @@
XMLEntityResolver.registerPublicID(PUBLIC_ID_MIMEMAPPING_1_0,
DTD_MIMEMAPPING_1_0, Format.class);
- File mimeMappingFile = new File(MMBaseContext.getConfigPath() +
File.separator + "media" + File.separator + "mimemapping.xml");
- readMimeMapping(mimeMappingFile);
- FileWatcher watcher = new FileWatcher() {
- public void onChange(File file) {
- readMimeMapping(file);
+ ResourceWatcher configWatcher = new ResourceWatcher() {
+ public void onChange(String res) {
+ try {
+ Reader reader = getResourceLoader().getReader(res);
+ readMimeMapping(reader);
+ } catch (IOException ie) {
+ log.warn("Can't load "+CONFIG_FILE);
+ log.warn("Message "+ie.getMessage());
+ }
}
};
- watcher.add(mimeMappingFile);
- watcher.start();
+ configWatcher.add(CONFIG_FILE);
+ configWatcher.onChange();
+ configWatcher.start();
}
- static void readMimeMapping(File mimeMappingFile) {
+ static void readMimeMapping(Reader mimeMappingFile) {
mimeMapping = new HashMap();
- if (mimeMappingFile.canRead()) {
- log.service("Reading " + mimeMappingFile);
- XMLBasicReader reader = new
XMLBasicReader(mimeMappingFile.toString(), Format.class);
+ log.service("Reading " + CONFIG_FILE);
+ XMLBasicReader reader = new XMLBasicReader(new
InputSource(mimeMappingFile), Format.class);
for(Iterator e = reader.getChildElements("mimemapping", "map");
e.hasNext();) {
Element map = (Element)e.next();
@@ -72,9 +79,6 @@
mimeMapping.put(format + "/" + codec,mime);
log.debug("Adding mime mapping " + format + "/" + codec + " ->
" + mime);
}
- } else {
- log.service("The file " + mimeMappingFile + " can not be read");
- }
}
private static List formats = new ArrayList(); // to make possible to get
the Format object by int.
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs