package edu.sc.seis.sod.tools;
import org.apache.velocity.VelocityContext;
import com.martiansoftware.jsap.FlaggedOption;
import com.martiansoftware.jsap.JSAP;
import com.martiansoftware.jsap.JSAPException;
import edu.sc.seis.sod.subsetter.channel.ResponseWriter;
import edu.sc.seis.sod.subsetter.channel.SacPoleZeroWriter;
public class find_responses extends find_stations {
public find_responses(String[] args) throws JSAPException {
super(args);
}
public VelocityContext getContext() {
VelocityContext con = super.getContext();
if(result.getString(FILE_TEMPLATE_OPTION).equals(DEFAULT_TEMPLATE)) {
if(result.getString("type").equals("polezero")) {
con.put(FILE_TEMPLATE_OPTION, SacPoleZeroWriter.DEFAULT_DIRECTORY
+ SacPoleZeroWriter.DEFAULT_TEMPLATE);
} else {
con.put(FILE_TEMPLATE_OPTION, ResponseWriter.DEFAULT_DIRECTORY
+ ResponseWriter.DEFAULT_TEMPLATE);
}
}
return con;
}
protected void addParams() throws JSAPException {
super.addDefaultParams();
add(createListOption("sites",
'l',
"sites",
"The codes of sites(location codes) to retrieve",
null,
new SiteCodeParser()));
add(createListOption("channels",
'c',
"channels",
"The codes of channels to retrieve",
"BH*"));
add(new FlaggedOption(FILE_TEMPLATE_OPTION,
JSAP.STRING_PARSER,
DEFAULT_TEMPLATE,
false,
'f',
"filename",
"Filename template for responses"));
add(new FlaggedOption("type",
new ResponseFormatParser(),
"polezero",
false,
't',
"type",
"The type of responses to write out. Can be polezero or resp"));
}
private static final String FILE_TEMPLATE_OPTION = "fileTemplate";
private static final String DEFAULT_TEMPLATE = "DEFAULT_TEMPLATE";
public static void main(String[] args) throws Exception {
CommandLineTool.run(new find_responses(args));
}
}