package edu.sc.seis.sod.subsetter.channel; import java.util.regex.Pattern; import org.w3c.dom.Element; import edu.iris.Fissures.network.ChannelImpl; import edu.sc.seis.sod.SodUtil; import edu.sc.seis.sod.source.network.NetworkSource; import edu.sc.seis.sod.status.Fail; import edu.sc.seis.sod.status.Pass; import edu.sc.seis.sod.status.StringTree; /** * @author Srinivasa Telukutla */ public class SiteCode implements ChannelSubsetter { public SiteCode(Element config) { this.code = SodUtil.getNestedText(config); if(code == null || code.trim().length() == 0) { // site codes can be space-space and some // xml editors will prune the empty space, so we take // the empty siteCode tag to mean the same as space-space code = edu.sc.seis.seisFile.fdsnws.stationxml.Channel.EMPTY_LOC_CODE; } pattern = Pattern.compile(code); } public StringTree accept(ChannelImpl chan, NetworkSource network) { if(pattern.matcher(chan.getSite().get_id().site_code).matches()) { return new Pass(this); } else { return new Fail(this); } } public String getCode() { return code; } private String code; Pattern pattern; }