static MavenChanges readFromFile()

in log4j-changelog/src/main/java/org/apache/logging/log4j/changelog/importer/MavenChanges.java [43:67]


    static MavenChanges readFromFile(final Path file) {

        // Read the root element
        final Element documentElement = readXmlFileRootElement(file, "document");

        // Read the `body` element
        final Element bodyElement = XmlReader.requireChildElementMatchingName(documentElement, "body");

        // Read releases
        final List<Release> releases = new ArrayList<>();
        final NodeList releaseNodes = bodyElement.getChildNodes();
        final int releaseNodeCount = releaseNodes.getLength();
        for (int releaseNodeIndex = 0; releaseNodeIndex < releaseNodeCount; releaseNodeIndex++) {
            final Node releaseNode = releaseNodes.item(releaseNodeIndex);
            if ("release".equals(releaseNode.getNodeName()) && Node.ELEMENT_NODE == releaseNode.getNodeType()) {
                final Element releaseElement = (Element) releaseNode;
                final Release release = Release.fromElement(releaseElement);
                releases.add(release);
            }
        }

        // Create the instance
        return new MavenChanges(releases);

    }