in uimafit-maven-plugin/src/main/java/org/apache/uima/fit/maven/EnhanceMojo.java [659:696]
private void readMissingMetaDataReport(File aReportFile, Multimap<String, String> aReportData)
throws MojoExecutionException {
if (!aReportFile.exists()) {
// Ignore if the file is missing
return;
}
LineIterator i = null;
try {
String clazz = null;
i = IOUtils.lineIterator(new FileInputStream(aReportFile), encoding);
while (i.hasNext()) {
String line = i.next();
// Report say there is no missing meta data
if (line.startsWith(MARK_NO_MISSING_META_DATA)) {
return;
}
// Line containing class name
if (line.startsWith(MARK_CLASS)) {
clazz = line.substring(MARK_CLASS.length()).trim();
} else if (StringUtils.isBlank(line)) {
// Empty line, ignore
} else {
// Line containing a missing meta data instance
if (clazz == null) {
throw new MojoExecutionException("Missing meta data report has invalid format.");
}
aReportData.put(clazz, line.trim());
}
}
} catch (IOException e) {
throw new MojoExecutionException(
"Unable to read missing meta data report: " + ExceptionUtils.getRootCauseMessage(e),
e);
} finally {
LineIterator.closeQuietly(i);
}
}