Author: [log in to unmask]
Date: Mon May 11 15:02:56 2015
New Revision: 2954
Log:
Merge in EVIO sequential read branch. HPSJAVA-494
Modified:
java/trunk/evio/src/main/java/org/hps/evio/BasicEvioFileReader.java
java/trunk/evio/src/main/java/org/hps/evio/EvioToLcio.java
java/trunk/parent/pom.xml
java/trunk/record-util/src/main/java/org/hps/record/evio/EvioFileProducer.java
java/trunk/record-util/src/main/java/org/hps/record/evio/EvioFileSource.java
Modified: java/trunk/evio/src/main/java/org/hps/evio/BasicEvioFileReader.java
=============================================================================
--- java/trunk/evio/src/main/java/org/hps/evio/BasicEvioFileReader.java (original)
+++ java/trunk/evio/src/main/java/org/hps/evio/BasicEvioFileReader.java Mon May 11 15:02:56 2015
@@ -20,7 +20,7 @@
throw new RuntimeException("File " + evioFileName + " does not exist.");
}
try {
- org.jlab.coda.jevio.EvioReader reader = new org.jlab.coda.jevio.EvioReader(evioFile);
+ org.jlab.coda.jevio.EvioReader reader = new org.jlab.coda.jevio.EvioReader(evioFile,true,false);
int eventN = 1;
int badEvents = 0;
fileLoop:
Modified: java/trunk/evio/src/main/java/org/hps/evio/EvioToLcio.java
=============================================================================
--- java/trunk/evio/src/main/java/org/hps/evio/EvioToLcio.java (original)
+++ java/trunk/evio/src/main/java/org/hps/evio/EvioToLcio.java Mon May 11 15:02:56 2015
@@ -115,6 +115,7 @@
options.addOption(new Option("v", false, "print EVIO XML for each event"));
options.addOption(new Option("m", true, "set the max event buffer size"));
options.addOption(new Option("t", true, "specify a conditions system tag to use"));
+ options.addOption(new Option("M", false,"Memory map file before reading"));
logger.setLevel(Level.FINE);
}
@@ -342,7 +343,7 @@
// Open the EVIO reader.
try {
- reader = new EvioReader(evioFile);
+ reader = new EvioReader(evioFile,false,!cl.hasOption("M"));
} catch (Exception e) {
throw new RuntimeException("Error opening the EVIO file reader.", e);
}
@@ -531,15 +532,10 @@
EvioEvent evioEvent = null;
while (eventQueue.size() < maxBufferSize) {
try {
- // Break if no more events from reader.
- if (reader.getNumEventsRemaining() == 0) {
- break;
- }
-
// Read the next event.
evioEvent = reader.nextEvent();
- if (evioEvent == null) {
+ if (evioEvent == null) { // This catches an end of file or bad event.
break;
}
Modified: java/trunk/parent/pom.xml
=============================================================================
--- java/trunk/parent/pom.xml (original)
+++ java/trunk/parent/pom.xml Mon May 11 15:02:56 2015
@@ -31,6 +31,11 @@
<id>lcsim-repo-public</id>
<name>LCSIM Public Maven Repository</name>
<url>http://srs.slac.stanford.edu/nexus/content/groups/lcsim-maven2-public/</url>
+ </repository>
+ <repository>
+ <id>jlab-coda-repo-public</id>
+ <name>JLAB CODA Maven Repository</name>
+ <url>https://coda.jlab.org/maven/</url>
</repository>
<repository>
<id>maven-central-repo</id>
@@ -184,7 +189,7 @@
<dependency>
<groupId>org.jlab.coda</groupId>
<artifactId>jevio</artifactId>
- <version>4.4.3</version>
+ <version>4.4.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.jlab.coda</groupId>
Modified: java/trunk/record-util/src/main/java/org/hps/record/evio/EvioFileProducer.java
=============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/evio/EvioFileProducer.java (original)
+++ java/trunk/record-util/src/main/java/org/hps/record/evio/EvioFileProducer.java Mon May 11 15:02:56 2015
@@ -338,13 +338,10 @@
// Loop over input EVIO file list.
for (final File evioFile : this.evioFiles) {
- // Open a new EVIO reader.
+ // Open a new EVIO reader in sequential read mode so events are immediately streamed to server.
LOGGER.info("Opening next EVIO file " + evioFile.getPath() + " ...");
- reader = new EvioReader(evioFile.getPath(), false);
+ reader = new EvioReader(evioFile.getPath(), false, true);
LOGGER.info("Done opening file!");
-
- // Print the number of events.
- LOGGER.info("EVIO file opened with " + reader.getEventCount() + " events.");
// Reference to the current EVIO event.
EvioEvent event;
@@ -423,6 +420,7 @@
LOGGER.finest("Sucessfully wrote " + eventCount + " event to ET which was EVIO event number "
+ event.getEventNumber() + " from file " + evioFile.getPath() + ".");
}
+ LOGGER.info(eventCount + " events were read from " + evioFile.getPath());
reader.close();
}
Modified: java/trunk/record-util/src/main/java/org/hps/record/evio/EvioFileSource.java
=============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/evio/EvioFileSource.java (original)
+++ java/trunk/record-util/src/main/java/org/hps/record/evio/EvioFileSource.java Mon May 11 15:02:56 2015
@@ -151,7 +151,7 @@
private void openReader() {
try {
System.out.println("Opening reader for file " + this.files.get(this.fileIndex) + " ...");
- this.reader = new EvioReader(this.files.get(this.fileIndex), false);
+ this.reader = new EvioReader(this.files.get(this.fileIndex), false,true);
System.out.println("Done opening file.");
} catch (EvioException | IOException e) {
throw new RuntimeException(e);
|