public void write()

in log4j-catalog/log4j-catalog-git/src/main/java/org/apache/logging/log4j/catalog/git/dao/GitCatalogDao.java [153:181]


    public void write(CatalogData data) {
        File localRepoFile = new File(localRepoPath);
        if (!localRepoFile.exists() || !localRepoFile.canWrite()) {
            throw new CatalogModificationException("Catalog is not writable: " + localRepoFile.getAbsolutePath());
        }

        try (FileWriter writer = new FileWriter(catalogFile)){
            String text = mapper.writeValueAsString(data);
            writer.write(text);
        } catch (IOException ioException) {
            throw new CatalogModificationException("Unable to write catalog file.", ioException);
        }

        try (Git git = Git.open(localRepoFile)) {
            git.add().addFilepattern(catalogPath).call();
            git.commit().setMessage("Catalog updated").call();
            updateRepo();
            PushCommand pushCommand = git.push();
            if (credentialsProvider != null) {
                pushCommand.setCredentialsProvider(credentialsProvider);
            }
            if (transportConfigCallback != null) {
                pushCommand.setTransportConfigCallback(transportConfigCallback);
            }
            pushCommand.call();
        } catch (GitAPIException | IOException ex) {
            throw new CatalogModificationException("Unable to modify catalog", ex);
        }
    }