package edu.sc.seis.sod.source.seismogram; import org.w3c.dom.Element; import edu.iris.Fissures.IfSeismogramDC.RequestFilter; import edu.iris.Fissures.network.ChannelImpl; import edu.sc.seis.fissuresUtil.cache.CacheEvent; import edu.sc.seis.seisFile.waveserver.WaveServer; import edu.sc.seis.sod.CookieJar; import edu.sc.seis.sod.SodElement; import edu.sc.seis.sod.SodUtil; public class WinstonWaveServer implements SeismogramSourceLocator, SodElement { public WinstonWaveServer(Element config){ this(config, "eeyore.seis.sc.edu"); } public WinstonWaveServer(Element config, String defaultHost){ host = SodUtil.loadText(config, "host", defaultHost); port = SodUtil.loadInt(config, "port", 16022); } public WinstonWaveServer(String host, int port){ this.host = host; this.port = port; } @Override public SeismogramSource getSeismogramSource(CacheEvent event, ChannelImpl channel, RequestFilter[] infilters, CookieJar cookieJar) throws Exception { return new WinstonWaveServerSource(getWaveServer()); } public WaveServer getWaveServer() { if (ws == null) { ws = new WaveServer(host, port); } return ws; } private WaveServer ws; String host; int port; }