private static StylesheetDatalet readXsltmarkDatalet()

in java/src/org/apache/qetest/xsl/StylesheetDataletManager.java [412:488]


    private static StylesheetDatalet readXsltmarkDatalet(Logger logger, BufferedReader br, 
                                                String firstLine, String fileName, 
                                                String desc, Properties defaults)
    {
        final String STYLESHEET_MARKER = "stylesheet=";
        final String INPUT_MARKER = "input=";
        final String OUTPUT_MARKER = "output=";
        final String REFERENCE_MARKER = "reference=";
        final String ITERATIONS_MARKER = "iterations=";
        
        String line = firstLine;
        StylesheetDatalet d = new StylesheetDatalet();

        // Also pass over the default properties as well
        d.options = new Properties(defaults);

        // Parse lines throughout the section to build the datalet
        for (;;)
        {
            // Each .ini file line starts with name of item to fill
            if (line.startsWith(STYLESHEET_MARKER))
            {
                d.inputName = line.substring(STYLESHEET_MARKER.length());
            } 
            else if (line.startsWith(INPUT_MARKER))
            {
                d.xmlName = line.substring(INPUT_MARKER.length());
            } 
            else if (line.startsWith(OUTPUT_MARKER))
            {
                d.outputName = line.substring(OUTPUT_MARKER.length());
            } 
            else if (line.startsWith(REFERENCE_MARKER))
            {
                d.goldName = line.substring(REFERENCE_MARKER.length());
            } 
            else if (line.startsWith(XSLTMARK_CHAR))
            {
                d.setDescription(line);
            } 
            else if (line.startsWith(ITERATIONS_MARKER))
            {
                d.options.put("iterations", line.substring(ITERATIONS_MARKER.length()));
            } 
            else if (line.length() == 0)
            {
                // Blank lines mean end-of-section; return datalet
                // This is the primary exit point for this method
                return d;
            }
            else
            {
                logger.logMsg(Logger.WARNINGMSG, "readXsltmarkDatalet, unknown line: " 
                              + line);
            }

            // Read next line and loop
            try
            {
                line = br.readLine();
            }
            catch (IOException ioe2)
            {
                // Just force us out of the loop; if we've already 
                //  read part of the file, fine
                logger.logMsg(Logger.WARNINGMSG, "readXsltmarkDatalet: " 
                              + fileName + " threw: " + ioe2.toString());
                break;
            }

            if (line == null)
                break;
        } // end of for (;;)
        logger.logMsg(Logger.ERRORMSG, "readXsltmarkDatalet: " + fileName
                      + " no data found!");
        return null;
    }