Update of /var/cvs/src/org/mmbase/module/core
In directory james.mmbase.org:/tmp/cvs-serv12859
Modified Files:
Tag: MMBase-1_8
MMBase.java
Log Message:
ported getDataDir from HEAD
See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/module/core
Index: MMBase.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/module/core/MMBase.java,v
retrieving revision 1.200.2.12
retrieving revision 1.200.2.13
diff -u -b -r1.200.2.12 -r1.200.2.13
--- MMBase.java 12 Apr 2008 10:43:05 -0000 1.200.2.12
+++ MMBase.java 16 Apr 2008 12:20:29 -0000 1.200.2.13
@@ -46,7 +46,7 @@
* @author Pierre van Rooden
* @author Johannes Verelst
* @author Ernst Bunders
- * @version $Id: MMBase.java,v 1.200.2.12 2008/04/12 10:43:05 nklasens Exp $
+ * @version $Id: MMBase.java,v 1.200.2.13 2008/04/16 12:20:29 michiel Exp $
*/
public class MMBase extends ProcessorModule {
@@ -1493,5 +1493,56 @@
}
}
+ /**
+ * A setting 'datadir' can be specified in mmbaseroot.xml (and hence in
your context xml). This
+ * serves as a default for the 'blobs on disk' directory, but it can be
used on other spots as well.
+ * @since MMBase-1.8.6
+ */
+ public File getDataDir() {
+ String dataDirString = getInitParameter("datadir");
+
+ javax.servlet.ServletContext sc = MMBaseContext.getServletContext();
+ if (dataDirString == null || dataDirString.equals("")) {
+ if (sc == null) {
+ dataDirString = "data";
+ } else {
+ dataDirString = "WEB-INF/data";
+ }
+ }
+ File dataDir = new File(dataDirString);
+
+ if (! dataDir.isAbsolute()) {
+ if (sc != null) {
+ dataDir = new File(sc.getRealPath("/" + dataDirString));
+ } else {
+ dataDir = new File(System.getProperty("user.dir"),
dataDirString);
+ }
+ }
+
+ if (! dataDir.exists()) {
+ try {
+ if (dataDir.mkdirs()) {
+ log.info("Created " + dataDir);
+ }
+ } catch (SecurityException se) {
+ log.warn(se);
+ }
+ }
+
+ if (! dataDir.isDirectory()) {
+ log.warn("Datadir " + dataDir + " is not a directory");
+ }
+ if (! dataDir.canRead()) {
+ log.warn("Datadir " + dataDir + " is not readable");
+ }
+ if (! dataDir.canWrite()) {
+ log.warn("Datadir " + dataDir + " is not writable");
+ }
+
+ log.info("MMBase data dir: " + dataDir);
+ return dataDir;
+
+ }
+
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs