예제 #1
0
  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);
      }
    }
  }
예제 #2
0
  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(" "));
    }
  }