Author: [log in to unmask]
Date: Fri May 15 18:30:03 2015
New Revision: 2980
Log:
Minor improvements to file crawler.
Modified:
java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/EvioFileCrawler.java
java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/EvioFileFilter.java
java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/EvioFileUtilities.java
java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/EvioFileVisitor.java
java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/RunLog.java
java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/RunProcessor.java
Modified: java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/EvioFileCrawler.java
=============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/EvioFileCrawler.java (original)
+++ java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/EvioFileCrawler.java Fri May 15 18:30:03 2015
@@ -17,6 +17,7 @@
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.PosixParser;
+import org.lcsim.util.log.DefaultLogFormatter;
import org.lcsim.util.log.LogUtil;
/**
@@ -28,13 +29,9 @@
*/
public final class EvioFileCrawler {
- private static final Logger LOGGER = LogUtil.create(EvioFileVisitor.class);
+ private static final Logger LOGGER = LogUtil.create(EvioFileVisitor.class, new DefaultLogFormatter(), Level.ALL);
private static final Options OPTIONS = new Options();
-
- static {
- LOGGER.setLevel(Level.ALL);
- }
static {
OPTIONS.addOption("h", "help", false, "print help and exit");
@@ -217,7 +214,7 @@
final RunSummary runSummary = runs.getRunSummary(run);
// Create a processor to process all the EVIO records in the run.
- final RunProcessor processor = createRunProcessor(runSummary);
+ final RunProcessor processor = createRunProcessor(runSummary);
// Process the run, updating the run summary.
processor.process();
@@ -245,7 +242,15 @@
}
final RunLog runs = visitor.getRunLog();
-
+
+ // Print run numbers that were found.
+ StringBuffer sb = new StringBuffer();
+ for (Integer run : runs.getSortedRunNumbers()) {
+ sb.append(run + " ");
+ }
+ LOGGER.info("found files from runs: " + sb.toString());
+
+ // Sort files on their sequence numbers.
LOGGER.fine("sorting files by sequence ...");
runs.sortAllFiles();
@@ -257,7 +262,7 @@
// Process all the files in the runs.
processRuns(runs);
- // Print the run summaries.
+ // Print the run summary information.
if (this.printSummary) {
runs.printRunSummaries();
}
Modified: java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/EvioFileFilter.java
=============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/EvioFileFilter.java (original)
+++ java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/EvioFileFilter.java Fri May 15 18:30:03 2015
@@ -5,8 +5,15 @@
final class EvioFileFilter implements FileFilter {
- @Override
+ @Override
public boolean accept(final File pathname) {
- return pathname.getName().contains(".evio");
+ boolean isEvio = pathname.getName().contains(".evio");
+ boolean hasSeqNum = false;
+ try {
+ EvioFileUtilities.getSequenceNumber(pathname);
+ hasSeqNum = true;
+ } catch (Exception e) {
+ }
+ return isEvio && hasSeqNum;
}
}
Modified: java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/EvioFileUtilities.java
=============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/EvioFileUtilities.java (original)
+++ java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/EvioFileUtilities.java Fri May 15 18:30:03 2015
@@ -137,12 +137,16 @@
}
static EvioReader open(final File file) throws IOException, EvioException {
+ return open(file, false);
+ }
+
+ static EvioReader open(final File file, boolean sequential) throws IOException, EvioException {
File openFile = file;
if (isMssFile(file)) {
openFile = getCachedFile(file);
}
final long start = System.currentTimeMillis();
- final EvioReader reader = new EvioReader(openFile, false, false);
+ final EvioReader reader = new EvioReader(openFile, false, sequential);
final long end = System.currentTimeMillis() - start;
LOGGER.info("opened " + openFile.getPath() + " in " + end / MILLISECONDS + " seconds");
return reader;
Modified: java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/EvioFileVisitor.java
=============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/EvioFileVisitor.java (original)
+++ java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/EvioFileVisitor.java Fri May 15 18:30:03 2015
@@ -8,6 +8,7 @@
import java.nio.file.attribute.BasicFileAttributes;
import java.util.ArrayList;
import java.util.List;
+import java.util.logging.Level;
import java.util.logging.Logger;
import org.lcsim.util.log.LogUtil;
@@ -57,7 +58,6 @@
LOGGER.info("adding file: " + file.getPath() + "; run: " + run + "; seq = " + seq);
this.runs.getRunSummary(run).addFile(file);
-
} else {
LOGGER.info("rejected file: " + file.getPath());
}
Modified: java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/RunLog.java
=============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/RunLog.java (original)
+++ java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/RunLog.java Fri May 15 18:30:03 2015
@@ -20,14 +20,9 @@
Map<Integer, RunSummary> runs = new HashMap<Integer, RunSummary>();
- // void cache() {
- // for (final int run : getSortedRunNumbers()) {
- // this.runs.get(run).getFiles().cache();
- // }
- // }
-
public RunSummary getRunSummary(final int run) {
if (!this.runs.containsKey(run)) {
+ LOGGER.info("creating new RunSummary for run " + run);
this.runs.put(run, new RunSummary(run));
}
return this.runs.get(run);
Modified: java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/RunProcessor.java
=============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/RunProcessor.java (original)
+++ java/trunk/record-util/src/main/java/org/hps/record/evio/crawler/RunProcessor.java Fri May 15 18:30:03 2015
@@ -34,14 +34,13 @@
}
void process() throws Exception {
- if (this.processors.isEmpty()) {
- throw new RuntimeException("The processors list is empty.");
- }
// Run the start of job hooks.
for (final EvioEventProcessor processor : this.processors) {
processor.startJob();
}
+
+
// Process the files.
for (final File file : this.runSummary.getFiles()) {
|