public static Reporter newReporter()

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;
    }