package edu.sc.seis.sod.subsetter.eventStation; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import edu.iris.Fissures.event.EventAttrImpl; import edu.iris.Fissures.event.OriginImpl; import edu.iris.Fissures.network.StationImpl; 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; import edu.sc.seis.sod.status.StringTree; import edu.sc.seis.sod.status.StringTreeBranch; import edu.sc.seis.sod.subsetter.origin.OriginSubsetter; public class EmbeddedOriginSubsetter implements EventStationSubsetter { public EmbeddedOriginSubsetter(Element config) throws ConfigurationException { NodeList childNodes = config.getChildNodes(); for(int counter = 0; counter < childNodes.getLength(); counter++) { Node node = childNodes.item(counter); if(node instanceof Element) { originSubsetter = (OriginSubsetter)SodUtil.load((Element)node, "origin"); nodeName = ((Element)node).getTagName(); break; } } } public StringTree accept(CacheEvent eventAccess, StationImpl station, CookieJar cookieJar) throws Exception { StringTree result = originSubsetter.accept(eventAccess, (EventAttrImpl)eventAccess.get_attributes(), (OriginImpl)eventAccess.get_preferred_origin()); return new StringTreeBranch(this, result.isSuccess(), result); } private String nodeName; private OriginSubsetter originSubsetter = null; }// EmbeddedOriginSubsetter