lcsim/src/org/lcsim/job
diff -u -r1.32 -r1.33
--- JobControlManager.java 7 Oct 2009 08:06:10 -0000 1.32
+++ JobControlManager.java 19 Mar 2010 22:33:40 -0000 1.33
@@ -27,6 +27,7 @@
import org.freehep.application.studio.Studio;
import org.freehep.jas.services.DynamicClassLoader;
import org.freehep.util.FreeHEPLookup;
+import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.Text;
@@ -45,13 +46,16 @@
* @author jeremym
* @verbose $id: $
*/
-//TODO: additional parameter types (SymmetricMatrix, etc.)
-//TODO: example XML steering file generation (e.g. like Marlin)
-//TODO: basic command line arg support:
+// TODO: Additional input parameter types (SymmetricMatrix, etc.).
+// TODO: Example XML steering file generation (e.g. like Marlin).
+// TODO: Basic command line argument support:
// -s steeringFile
// -e exampleSteeringOutput.xml
// -d debug only; don't actually run the job.
// etc.
+// TODO: Allow input data files to be specified from command-line.
+// TODO: Implement some kind of auto-naming output scheme,
+// possibly with a new Driver extending LCIODriver.
public class JobControlManager
{
Map<String, Driver> driverMap;
@@ -332,7 +336,8 @@
logStream.println();
}
- private void setupInputFiles()
+ @SuppressWarnings("unchecked")
+ private void setupInputFiles()
{
// Read local files.
List<Element> files = root.getChild("inputFiles").getChildren("file");
@@ -428,6 +433,24 @@
throw new RuntimeException(x);
}
}
+
+ // Read fileSets.
+ List<Element> fileSets = (List<Element>)root.getChild("inputFiles").getChildren("fileSet");
+ for (Element fileSet : fileSets)
+ {
+ Attribute basedirAttrib = fileSet.getAttribute("baseDir");
+ String basedir = "";
+ if (basedirAttrib != null)
+ {
+ basedir = basedirAttrib.getValue();
+ }
+ List<Element> fsFiles = fileSet.getChildren("file");
+ for (Element file : fsFiles)
+ {
+ String filePath = basedir + File.separator + file.getText();
+ inputFiles.add(new File(filePath));
+ }
+ }
// Check and print out input files.
if (verbose)