package edu.sc.seis.sod.process.waveform;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import edu.iris.Fissures.IfSeismogramDC.RequestFilter;
import edu.iris.Fissures.network.ChannelImpl;
import edu.iris.Fissures.seismogramDC.LocalSeismogramImpl;
import edu.sc.seis.fissuresUtil.cache.CacheEvent;
import edu.sc.seis.sod.CookieJar;
import edu.sc.seis.sod.status.Pass;
public class QuitOnce implements WaveformProcess {
public WaveformResult accept(CacheEvent event,
ChannelImpl channel,
RequestFilter[] original,
RequestFilter[] available,
LocalSeismogramImpl[] seismograms,
CookieJar cookieJar) throws Exception {
File f = new File("QuitOnceRan");
if(f.exists()) {
logger.info("Found my file");
return new WaveformResult(seismograms, new Pass(this));
}
OutputStream s = new FileOutputStream(f);
s.write("Hello, World!".getBytes());
s.close();
// Sleep for 20 seconds to allow the db to actually output the status
// changes made in the waveform arm
Thread.sleep(20 * 1000);
System.exit(1);
return new WaveformResult(seismograms, new Pass(this));
}
private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(QuitOnce.class);
}