Print

Print


Commit in lcsim/src/org/lcsim/job on MAIN
JobControlManager.java+33-161.30 -> 1.31
add dry run feature for checking input parameters without running job

lcsim/src/org/lcsim/job
JobControlManager.java 1.30 -> 1.31
diff -u -r1.30 -r1.31
--- JobControlManager.java	5 Oct 2009 20:36:50 -0000	1.30
+++ JobControlManager.java	5 Oct 2009 21:03:37 -0000	1.31
@@ -70,6 +70,7 @@
 	boolean printVersion;
 	boolean verbose;
 	boolean wasSetup;
+	boolean dryRun;
 	PrintStream logStream = System.out;
 	LCSimLoop loop;
 	Element root;
@@ -134,26 +135,33 @@
 			if (printDriverStatistics)
 				statsStream = logStream;
 			
-			if (verbose)
-			{
-				logStream.println("Start time: " + (new Date()));
-				logStream.println();
-			}
-			
-			if (skipEvents != -1)
+			if (!dryRun)
 			{
 				if (verbose)
-					logStream.println("Skipping " + skipEvents + " events.");
-				loop.skip(skipEvents);
+				{
+					logStream.println("Start time: " + (new Date()));
+					logStream.println();
+				}
+
+				if (skipEvents != -1)
+				{
+					if (verbose)
+						logStream.println("Skipping " + skipEvents + " events.");
+					loop.skip(skipEvents);
+				}
+
+				// Execute the loop.
+				loop.loop(maxEvents, statsStream);
+
+				if (verbose)
+				{
+					logStream.println();
+					logStream.println("End time: " + (new Date()));
+				}
 			}
-			
-			// Execute the loop.
-			loop.loop(maxEvents, statsStream);
-			
-			if (verbose)
+			else
 			{
-				logStream.println();
-				logStream.println("End time: " + (new Date()));
+				logStream.println("Executed dry run.  No events processed!");
 			}
 		} 
 		catch (Exception x)
@@ -293,6 +301,7 @@
 		printVersion = false;
 		verbose = false;
 		wasSetup = false;
+		dryRun = false;
 		logStream = System.out;
 		loop = new LCSimLoop();
 		root = null;
@@ -505,6 +514,14 @@
 				if (verbose)
 					logStream.println("skipEvents = " + skipEvents);
 			}
+			
+			Element dryRunElement = control.getChild("dryRun");
+			if (dryRunElement != null)
+			{
+				dryRun = Boolean.valueOf(dryRunElement.getText());
+				if (verbose)
+					logStream.println("dryRun = " + dryRun);				
+			}
 
 			// The cache directory.  Defaults to the current directory.
 			Element cacheDirElement = control.getChild("cacheDirectory");
CVSspam 0.2.8