Print

Print


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()) {