/** * Log the description of a rule. * * @param rule * The rule. */ private void logDescription(LoggingStrategy loggingStrategy, Rule rule) { String description = rule.getDescription(); StringTokenizer tokenizer = new StringTokenizer(description, "\n"); while (tokenizer.hasMoreTokens()) { loggingStrategy.log(tokenizer.nextToken().replaceAll("(\\r|\\n|\\t)", "")); } }
if (severity.getLevel() <= failureSeverity.getLevel()) { Failure failure = new Failure(); failure.setMessage(rule.getDescription()); failure.setContent(content); testcase.getFailure().add(failure); } else if (severity.getLevel() <= errorSeverity.getLevel()) { Error error = new Error(); error.setMessage(rule.getDescription()); error.setContent(content); testcase.getError().add(error);
/** * Escape the id of the given rule in a way such that it can be used as file * name. * * @param rule * The rule. * @return The escaped name. */ public static String escapeRuleId(Rule rule) { return rule != null ? rule.getId().replaceAll("\\:", "_") : null; }
@Override public void setResult(Result<? extends ExecutableRule> result) throws ReportException { Rule rule = result.getRule(); Set<String> selectedReports = result.getRule().getReport().getSelectedTypes(); if ((selectedReports != null && selectedReports.contains(GRAPHML)) || (rule instanceof Concept && rule.getId().matches(conceptPattern))) { SubGraph subGraph = subGraphFactory.createSubGraph(result); try { String fileName = ReportHelper.escapeRuleId(rule); if (!fileName.endsWith(FILEEXTENSION_GRAPHML)) { fileName = fileName + FILEEXTENSION_GRAPHML; } File file = new File(reportDirectory, fileName); xmlGraphMLWriter.write(result, subGraph, file); reportContext.addReport("GraphML", result.getRule(), ReportContext.ReportType.LINK, file.toURI().toURL()); } catch (IOException | XMLStreamException e) { throw new ReportException("Cannot write custom report.", e); } } } }