From c43c3e8790adb73a4237d491cdd31e4cd416baa1 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Tue, 2 Jun 2026 21:48:30 -0400 Subject: [PATCH 1/2] avoid listeners and timers and call event action manually (#1301) --- .../org/jlab/io/task/DataSourceProcessorPane.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/common-tools/clas-io/src/main/java/org/jlab/io/task/DataSourceProcessorPane.java b/common-tools/clas-io/src/main/java/org/jlab/io/task/DataSourceProcessorPane.java index 569d720f47..c7516586f7 100644 --- a/common-tools/clas-io/src/main/java/org/jlab/io/task/DataSourceProcessorPane.java +++ b/common-tools/clas-io/src/main/java/org/jlab/io/task/DataSourceProcessorPane.java @@ -210,13 +210,18 @@ public void openAndRun(String filename) { DataSource source = filename.endsWith(".hipo") ? new HipoDataSource() : new EvioSource(); source.open(filename); - this.dataProcessor.setSource(source); + dataProcessor.setSource(source); statusLabel.setText(dataProcessor.getStatusString()); mediaPlay.setEnabled(false); - mediaPause.setEnabled(true); - mediaNext.setEnabled(true); - mediaPrev.setEnabled(true); - this.startProcessorTimer(); + mediaPause.setEnabled(false); + mediaNext.setEnabled(false); + mediaPrev.setEnabled(false); + while (dataProcessor.dataSource.hasEvent()) { + DataEvent e = dataProcessor.dataSource.getNextEvent(); + for(IDataEventListener processor : dataProcessor.eventListeners){ + processor.dataEventAction(e); + } + } } @Override From c9a055e1cd394d0958e70ee4e941cbde8d1c55c0 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Tue, 2 Jun 2026 22:06:32 -0400 Subject: [PATCH 2/2] remove unused wrapper class (#1296) --- .../org/jlab/io/clara/EvioToEvioSource.java | 64 ------------------- 1 file changed, 64 deletions(-) delete mode 100644 common-tools/clara-io/src/main/java/org/jlab/io/clara/EvioToEvioSource.java diff --git a/common-tools/clara-io/src/main/java/org/jlab/io/clara/EvioToEvioSource.java b/common-tools/clara-io/src/main/java/org/jlab/io/clara/EvioToEvioSource.java deleted file mode 100644 index 667659be12..0000000000 --- a/common-tools/clara-io/src/main/java/org/jlab/io/clara/EvioToEvioSource.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.jlab.io.clara; - -import java.nio.ByteBuffer; -import java.nio.ByteOrder; -import java.nio.file.Path; - -import org.jlab.clara.engine.EngineDataType; -import org.jlab.clara.std.services.AbstractEventReaderService; -import org.jlab.clara.std.services.EventReaderException; -import org.jlab.coda.jevio.EvioException; -import org.jlab.io.evio.EvioDataEvent; -import org.jlab.io.evio.EvioSource; -import org.json.JSONObject; - -/** - * Converter service that converts EvIO persistent data to EvIO transient data - * (i.e. Reads EvIO events from an input file) - */ -public class EvioToEvioSource extends AbstractEventReaderService { - - private ByteOrder byteOrder; - private long maxEvents; - - @Override - protected EvioSource createReader(Path file, JSONObject opts) throws EventReaderException { - EvioSource s = new EvioSource(); - s.open(file.toString()); - byteOrder = s.getFileByteOrder(); - maxEvents = s.getEventCount(); - return s; - } - - @Override - protected void closeReader() { - reader.close(); - } - - @Override - public int readEventCount() throws EventReaderException { - return reader.getEventCount(); - } - - @Override - public ByteOrder readByteOrder() throws EventReaderException { - return reader.getFileByteOrder(); - } - - @Override - public Object readEvent(int eventNumber) throws EventReaderException { - if (eventNumber >= maxEvents) return null; - try { - ByteBuffer bb = reader.getEventBuffer(++eventNumber, true); - EvioDataEvent event = new EvioDataEvent(bb.array(), byteOrder); - return event; - } catch (EvioException e) { - throw new EventReaderException(e); - } - } - - @Override - protected EngineDataType getDataType() { - return Clas12Types.EVIO; - } -}