package edu.sc.seis.sod.process.waveform; import org.w3c.dom.Element; 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.ConfigurationException; import edu.sc.seis.sod.CookieJar; import edu.sc.seis.sod.status.StringTreeLeaf; import edu.sc.seis.sod.subsetter.channel.Sampling; public class SeismogramSampling implements WaveformProcess { public SeismogramSampling(Element el) throws ConfigurationException { chanSampleSubsetter = new Sampling(el); } Sampling chanSampleSubsetter; public WaveformResult accept(CacheEvent event, ChannelImpl channel, RequestFilter[] original, RequestFilter[] available, LocalSeismogramImpl[] seismograms, CookieJar cookieJar) throws Exception { for(int i = 0; i < seismograms.length; i++) { if(!chanSampleSubsetter.accept(seismograms[i].getSampling())) { return new WaveformResult(seismograms, new StringTreeLeaf(this, false, " seismogram " + i + " failed:" + seismograms[i].getSampling())); } } return new WaveformResult(true, seismograms, this); } }