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