public void read() throws ContentFileProcessingException { aliasesData.aliasOverrides = new ArrayList<>(); aliasesData.groupNames = new ArrayList<>(); if (aliasesFile.exists()) { try (Reader fileReader = new UnicodeReader(aliasesFile, defaultFileCharacterEncoding)) { XMLStreamReader2 streamReader = XmlStreamReaderFactory.createReader(fileReader, aliasesSchema); while (streamReader.hasNext()) { if (streamReader.getEventType() == XMLStreamReader.START_ELEMENT) { switch (streamReader.getLocalName()) { case "aliases": processAliases(streamReader); break; case "alias": processAlias(streamReader); break; } } streamReader.next(); } } catch (XMLStreamException e) { Location location = e.getLocation(); throw new ContentFileProcessingException( aliasesFile, location.getLineNumber(), location.getColumnNumber(), e.getMessage()); } catch (IOException | IncompleteAliasException e) { throw new ContentFileProcessingException(aliasesFile, e); } } }
private void processAliases(XMLStreamReader2 streamReader) { aliasesData.scenario = streamReader.getAttributeValue(null, "useScenario"); String useGroups = streamReader.getAttributeValue(null, "useGroups"); if (useGroups != null) { aliasesData.groupNames = Arrays.asList(useGroups.split(" ")); } }