public void stream(final SMHierarchicCursor rootCursor) throws XMLStreamException { rootCursor.advance(); collectPackageMeasures(rootCursor.descendantElementCursor("package")); }
@Override public void stream(SMHierarchicCursor rootCursor) throws XMLStreamException { rootCursor.advance(); SMInputCursor items = rootCursor.descendantElementCursor(); List<String> sourceDirectories = new LinkedList<>(); while (items.getNext() != null) { String localName = items.getLocalName(); if ("Project".equals(localName)) { extractSourceDirectories(items, sourceDirectories); } else if ("Package".equals(localName)) { extractIssues(items, sourceDirectories); } } }
/** * Parse a Cobertura xml report and create measures accordingly */ public static void parseReport(File xmlFile, final SensorContext context) { StaxParser parser = new StaxParser(rootCursor -> { rootCursor.advance(); collectPackageMeasures(rootCursor.descendantElementCursor("package"), context); }); try { parser.parse(xmlFile); } catch (XMLStreamException e) { throw new IllegalStateException(e); } }
@Override public void stream(SMHierarchicCursor rootCursor) throws XMLStreamException { rootCursor.advance(); SMInputCursor fileCursor = rootCursor.descendantElementCursor("srcfile"); while (fileCursor.getNext() != null) { CoverageFileData data = collectCoverageData(fileCursor); saveCoverageData(data); } }
private void parseSources(File xmlFile) throws XMLStreamException { StaxParser sourceParser = new StaxParser(rootCursor -> { rootCursor.advance(); sourceDirs = collectSourceDirs(rootCursor.descendantElementCursor("source")); }); sourceParser.parse(xmlFile); }
private void parsePackages(File xmlFile) throws XMLStreamException { StaxParser fileParser = new StaxParser(rootCursor -> { rootCursor.advance(); collectPackageMeasures(rootCursor.descendantElementCursor("package")); }); fileParser.parse(xmlFile); }
@Override public void stream(SMHierarchicCursor rootCursor) throws XMLStreamException { rootCursor.advance(); SMInputCursor fileCursor = rootCursor.descendantElementCursor("file"); while (fileCursor.getNext() != null) { String fileName = fileCursor.getAttrValue("name"); SMInputCursor violationCursor = fileCursor.descendantElementCursor("violation"); while (violationCursor.getNext() != null) { String beginLine = violationCursor.getAttrValue("beginline"); String ruleKey = violationCursor.getAttrValue("rule"); String message = StringUtils.trim(violationCursor.collectDescendantText()); addIssue(ruleKey, fileName, Integer.parseInt(beginLine), message); } } } });