package edu.sc.seis.sod.process.waveform; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; 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.SodUtil; public abstract class ResultWrapper implements WaveformProcess { public ResultWrapper(Element config) throws ConfigurationException { NodeList children = config.getChildNodes(); for(int i = 0; i < children.getLength(); i++) { Node node = children.item(i); if(node instanceof Element && !node.getLocalName().equals("classname")) { subprocess = (WaveformProcess)SodUtil.load((Element)node, "waveform"); } } } public abstract WaveformResult accept(CacheEvent event, ChannelImpl channel, RequestFilter[] original, RequestFilter[] available, LocalSeismogramImpl[] seismograms, CookieJar cookieJar) throws Exception; protected WaveformProcess subprocess; }