andre
unread,Sep 22, 2014, 4:04:10 PM9/22/14Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to mmbase...@googlegroups.com
Author: andre
Date: 2014-09-22 22:04:08 +0200 (Mon, 22 Sep 2014)
New Revision: 46711
Modified:
mmbase/branches/MMBase-1_9/applications/streams/src/main/java/org/mmbase/streams/createcaches/Job.java
Log:
checking if directory exists where file should be created
Modified: mmbase/branches/MMBase-1_9/applications/streams/src/main/java/org/mmbase/streams/createcaches/Job.java
===================================================================
--- mmbase/branches/MMBase-1_9/applications/streams/src/main/java/org/mmbase/streams/createcaches/Job.java 2014-09-05 13:13:20 UTC (rev 46710)
+++ mmbase/branches/MMBase-1_9/applications/streams/src/main/java/org/mmbase/streams/createcaches/Job.java 2014-09-22 20:04:08 UTC (rev 46711)
@@ -21,21 +21,36 @@
package org.mmbase.streams.createcaches;
-import java.io.File;
-import java.net.URI;
-import java.util.*;
-import java.util.concurrent.Future;
-
-import org.mmbase.applications.media.*;
-import org.mmbase.bridge.*;
+import org.mmbase.applications.media.State;
+import org.mmbase.bridge.Cloud;
+import org.mmbase.bridge.ContextProvider;
+import org.mmbase.bridge.Node;
+import org.mmbase.bridge.NodeList;
+import org.mmbase.bridge.NodeManager;
+import org.mmbase.bridge.NodeQuery;
import org.mmbase.bridge.util.Queries;
import org.mmbase.servlet.FileServlet;
import org.mmbase.storage.search.FieldCompareConstraint;
import org.mmbase.streams.transcoders.CommandTranscoder;
-import org.mmbase.util.*;
+import org.mmbase.util.MimeType;
+import org.mmbase.util.ResourceLoader;
+import org.mmbase.util.ThreadPools;
import org.mmbase.util.externalprocess.CommandExecutor;
-import org.mmbase.util.logging.*;
+import org.mmbase.util.logging.BufferedLogger;
+import org.mmbase.util.logging.ChainedLogger;
+import org.mmbase.util.logging.Level;
+import org.mmbase.util.logging.Logger;
+import org.mmbase.util.logging.Logging;
+import java.io.File;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.Future;
+
/**
* A Job is associated with a 'source' node, and describes what is currently happening to create
* 'caches' nodes for it. Such a Job object is created everytime somebody creates a new source
@@ -251,8 +266,22 @@
assert outFileName != null;
assert outFileName.length() > 0;
dest.setStringValue("url", outFileName);
+
+ int pos = outFileName.lastIndexOf("/");
+ if (pos > 0) { // check if directory exists
+ String dirName = outFileName.substring(0, pos);
+ File dir = new File(processor.getDirectory(), dirName);
+ if (!dir.exists()) {
+ LOG.warn("The directory '" + dir.toString() + "' does NOT exist, will try to create it.");
+ try {
+ dir.mkdir();
+ } catch (SecurityException se) {
+ LOG.error("SecurityException while trying creating directory '" + dir.toString() + "' : " + se);
+ }
+ }
+ }
+
jd.transcoder.init(dest);
-
dest.commit();