/**
* ThreeComponentData.java
*
* @author Created by Omnicore CodeGuide
*/
package edu.sc.seis.sod.process.waveform;
import edu.iris.Fissures.IfSeismogramDC.RequestFilter;
import edu.iris.Fissures.seismogramDC.LocalSeismogramImpl;
import edu.sc.seis.fissuresUtil.cache.CacheEvent;
import edu.sc.seis.fissuresUtil.hibernate.ChannelGroup;
import edu.sc.seis.sod.CookieJar;
import edu.sc.seis.sod.process.waveform.vector.WaveformVectorProcess;
import edu.sc.seis.sod.process.waveform.vector.WaveformVectorResult;
import edu.sc.seis.sod.status.StringTreeLeaf;
public class ThreeComponentData implements WaveformVectorProcess {
public WaveformVectorResult accept(CacheEvent event,
ChannelGroup channelGroup,
RequestFilter[][] original,
RequestFilter[][] available,
LocalSeismogramImpl[][] seismograms,
CookieJar cookieJar) {
for (int i = 0; i < seismograms.length; i++) {
if (seismograms[i].length == 0) {
return new WaveformVectorResult(seismograms,
new StringTreeLeaf(this,
false,
"seismograms["+i+"] is empty"));
}
if (seismograms[i][0].num_points == 0) {
return new WaveformVectorResult(seismograms,
new StringTreeLeaf(this,
false,
"seismograms["+i+"][0] has zero data points"));
}
}
return new WaveformVectorResult(seismograms,
new StringTreeLeaf(this,
true));
}
}