private void parse(InputStream inputStream, SensorContext context) throws XMLStreamException { new StaxParser(rootCursor -> { rootCursor.advance(); parseRootNode(rootCursor, context); }).parse(inputStream); }
private void parse(InputStream inputStream, SensorContext context) throws XMLStreamException { new StaxParser(rootCursor -> { rootCursor.advance(); parseRootNode(rootCursor, context); }).parse(inputStream); }
public void stream(SMHierarchicCursor rootCursor) throws XMLStreamException { rootCursor.advance(); while (rootCursor.getNext() != null) { } } };
/** * Loads rules by reading the XML input stream. The reader is not closed by the method, so it * should be handled by the caller. * @since 4.3 */ public void load(RulesDefinition.NewRepository repo, Reader reader) { XMLInputFactory xmlFactory = XMLInputFactory.newInstance(); xmlFactory.setProperty(XMLInputFactory.IS_COALESCING, Boolean.TRUE); xmlFactory.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, Boolean.FALSE); // just so it won't try to load DTD in if there's DOCTYPE xmlFactory.setProperty(XMLInputFactory.SUPPORT_DTD, Boolean.FALSE); xmlFactory.setProperty(XMLInputFactory.IS_VALIDATING, Boolean.FALSE); SMInputFactory inputFactory = new SMInputFactory(xmlFactory); try { SMHierarchicCursor rootC = inputFactory.rootElementCursor(reader); rootC.advance(); // <rules> SMInputCursor rulesC = rootC.childElementCursor("rule"); while (rulesC.getNext() != null) { // <rule> processRule(repo, rulesC); } } catch (XMLStreamException e) { throw new IllegalStateException("XML is not valid", e); } }
public List<Rule> parse(Reader reader) { XMLInputFactory xmlFactory = XMLInputFactory.newInstance(); xmlFactory.setProperty(XMLInputFactory.IS_COALESCING, Boolean.TRUE); xmlFactory.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, Boolean.FALSE); // just so it won't try to load DTD in if there's DOCTYPE xmlFactory.setProperty(XMLInputFactory.SUPPORT_DTD, Boolean.FALSE); xmlFactory.setProperty(XMLInputFactory.IS_VALIDATING, Boolean.FALSE); SMInputFactory inputFactory = new SMInputFactory(xmlFactory); try { SMHierarchicCursor rootC = inputFactory.rootElementCursor(reader); rootC.advance(); // <rules> List<Rule> rules = new ArrayList<>(); SMInputCursor rulesC = rootC.childElementCursor("rule"); while (rulesC.getNext() != null) { // <rule> Rule rule = Rule.create(); rules.add(rule); processRule(rule, rulesC); } return rules; } catch (XMLStreamException e) { throw new SonarException("XML is not valid", e); } }
SMInputFactory inputFactory = initStax(); SMHierarchicCursor root = inputFactory.rootElementCursor(new StringReader(duplicationsData)); root.advance(); // <duplications> SMInputCursor cursor = root.childElementCursor("g"); while (cursor.getNext() != null) {
public List<RuleDebt> importXML(Reader xml, ValidationMessages validationMessages) { List<RuleDebt> ruleDebts = newArrayList(); try { SMInputFactory inputFactory = initStax(); SMHierarchicCursor cursor = inputFactory.rootElementCursor(xml); // advance to <sqale> cursor.advance(); SMInputCursor rootCursor = cursor.childElementCursor(CHARACTERISTIC); while (rootCursor.getNext() != null) { process(ruleDebts, validationMessages, rootCursor); } cursor.getStreamReader().closeCompletely(); } catch (XMLStreamException e) { throw new IllegalStateException("XML is not valid", e); } return ruleDebts; }
SMInputFactory inputFactory = initStax(); SMHierarchicCursor rootC = inputFactory.rootElementCursor(backup); rootC.advance(); // <profile> if (!"profile".equals(rootC.getLocalName())) { throw new IllegalArgumentException("Backup XML is not valid. Root element must be <profile>.");
public RulesProfile parse(Reader reader, ValidationMessages messages) { RulesProfile profile = RulesProfile.create(); SMInputFactory inputFactory = initStax(); try { SMHierarchicCursor rootC = inputFactory.rootElementCursor(reader); rootC.advance(); // <profile> SMInputCursor cursor = rootC.childElementCursor(); while (cursor.getNext() != null) { String nodeName = cursor.getLocalName(); if (StringUtils.equals("rules", nodeName)) { SMInputCursor rulesCursor = cursor.childElementCursor("rule"); processRules(rulesCursor, profile, messages); } else if (StringUtils.equals("name", nodeName)) { profile.setName(StringUtils.trim(cursor.collectDescendantText(false))); } else if (StringUtils.equals("language", nodeName)) { profile.setLanguage(StringUtils.trim(cursor.collectDescendantText(false))); } } } catch (XMLStreamException e) { messages.addErrorText("XML is not valid: " + e.getMessage()); } checkProfile(profile, messages); return profile; }
public void stream(SMHierarchicCursor rootCursor) throws XMLStreamException { try { collectProjectMeasures(rootCursor.advance()); } catch (ParseException e) { throw new XMLStreamException(e); } } });
public void stream(final SMHierarchicCursor rootCursor) throws XMLStreamException { rootCursor.advance(); collectPackageMeasures(rootCursor.descendantElementCursor("package")); }
private Collection<String> getAllRuleKeysFromFile(InputStream inputStream) { SMInputFactory inputFactory = ZapUtils.newStaxParser(); try { SMHierarchicCursor rootC = inputFactory.rootElementCursor(inputStream); SMInputCursor rulesCursor = rootC.advance(); return processRules(rulesCursor); } catch (XMLStreamException e) { throw new IllegalStateException("XML is not valid", e); } }
@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); } } }
public void stream(final SMHierarchicCursor rootCursor) throws XMLStreamException { final SMInputCursor file = rootCursor.advance().childElementCursor( "file"); while (null != file.getNext()) { collectViolationsFor(file); } }
private void parse(InputStream inputStream, SensorContext context) throws XMLStreamException { new StaxParser(rootCursor -> { rootCursor.advance(); parseRootNode(rootCursor, context); }).parse(inputStream); }
private void parse(InputStream inputStream, SensorContext context) throws XMLStreamException { new StaxParser(rootCursor -> { rootCursor.advance(); parseRootNode(rootCursor, context); }).parse(inputStream); }
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("srcfile"); while (fileCursor.getNext() != null) { CoverageFileData data = collectCoverageData(fileCursor); saveCoverageData(data); } }
private void processRoot(InputStreamReader reader, SMInputFactory inputFactory) throws XMLStreamException { SMHierarchicCursor rootCursor = inputFactory.rootElementCursor(reader); rootCursor.advance(); SMInputCursor charCursor = rootCursor.childElementCursor("chc"); while (charCursor.getNext() != null) { SMInputCursor subCharCursor = charCursor.childElementCursor("chc"); while (subCharCursor.getNext() != null) { processSubChar(subCharCursor); } } }