package edu.sc.seis.sod.subsetter.requestGenerator; import org.w3c.dom.Element; import edu.iris.Fissures.IfEvent.Origin; import edu.iris.Fissures.IfSeismogramDC.RequestFilter; import edu.iris.Fissures.model.MicroSecondDate; import edu.iris.Fissures.model.TimeInterval; import edu.iris.Fissures.network.ChannelImpl; import edu.sc.seis.fissuresUtil.cache.CacheEvent; import edu.sc.seis.fissuresUtil.cache.EventUtil; import edu.sc.seis.fissuresUtil.display.configuration.DOMHelper; import edu.sc.seis.sod.ConfigurationException; import edu.sc.seis.sod.CookieJar; import edu.sc.seis.sod.SodUtil; /** * OriginOffsetRequest.java Created: Wed Apr 2 16:06:39 2003 * * @author <a href="mailto:crotwell@owl.seis.sc.edu">Philip Crotwell </a> * @version 1.0 */ public class OriginOffsetRequest implements RequestGenerator { public OriginOffsetRequest(Element config) throws ConfigurationException { Element beginEl = DOMHelper.extractElement(config, "beginOffset"); beginOffset = SodUtil.loadTimeInterval(beginEl); Element endEl = DOMHelper.extractElement(config, "endOffset"); endOffset = SodUtil.loadTimeInterval(endEl); } public RequestFilter[] generateRequest(CacheEvent event, ChannelImpl channel, CookieJar cookieJar) throws Exception { Origin origin = EventUtil.extractOrigin(event); MicroSecondDate originDate = new MicroSecondDate(origin.getOriginTime()); MicroSecondDate bDate = originDate.add(beginOffset); MicroSecondDate eDate = originDate.add(endOffset); RequestFilter[] filters = {new RequestFilter(channel.get_id(), bDate.getFissuresTime(), eDate.getFissuresTime())}; return filters; } private TimeInterval beginOffset, endOffset; } // OriginOffsetRequest