in java/src/org/apache/qetest/QetestFactory.java [116:181]
public static Reporter newReporter(Properties options)
{
Reporter reporter = null;
if (null == options)
{
// Return a default Reporter
reporter = new Reporter(null);
reporter.addDefaultLogger(); // add default logger automatically
return reporter;
}
// Setup appropriate defaults for the Reporter
// Ensure we have an XMLFileLogger if we have a logName
String logF = options.getProperty(Logger.OPT_LOGFILE);
if ((logF != null) && (!logF.equals("")))
{
// We should ensure there's an XMLFileReporter
String r = options.getProperty(Reporter.OPT_LOGGERS);
if (r == null)
{
// Create the property if needed...
options.put(Reporter.OPT_LOGGERS,
"org.apache.qetest.XMLFileLogger");
}
else if (r.indexOf("XMLFileLogger") <= 0)
{
// ...otherwise append to existing list
options.put(Reporter.OPT_LOGGERS,
r + Reporter.LOGGER_SEPARATOR
+ "org.apache.qetest.XMLFileLogger");
}
}
// Ensure we have a ConsoleLogger unless asked not to
// @todo improve and document this feature
String noDefault = options.getProperty("noDefaultReporter");
if (noDefault == null)
{
// We should ensure there's an XMLFileReporter
String r = options.getProperty(Reporter.OPT_LOGGERS);
if (r == null)
{
options.put(Reporter.OPT_LOGGERS,
"org.apache.qetest.ConsoleLogger");
}
else if (r.indexOf("ConsoleLogger") <= 0)
{
options.put(Reporter.OPT_LOGGERS,
r + Reporter.LOGGER_SEPARATOR
+ "org.apache.qetest.ConsoleLogger");
}
}
// Pass our options directly to the reporter
// so it can use the same values in initialization
// A Reporter will auto-initialize from the values
// in the properties block
reporter = new Reporter(options);
return reporter;
}