Example usage for org.eclipse.jgit.revwalk FooterLine getKey

List of usage examples for org.eclipse.jgit.revwalk FooterLine getKey

Introduction

In this page you can find the example usage for org.eclipse.jgit.revwalk FooterLine getKey.

Prototype

public String getKey() 

Source Link

Document

Get key name of this footer.

Usage

From source file:com.google.gerrit.server.notedb.ChangeNotesCommit.java

License:Apache License

public List<String> getFooterLineValues(FooterKey key) {
    if (footerLines == null) {
        List<FooterLine> src = getFooterLines();
        footerLines = ArrayListMultimap.create(src.size(), 1);
        for (FooterLine fl : src) {
            footerLines.put(fl.getKey().toLowerCase(), fl.getValue());
        }/*from w  ww. j av  a  2 s. com*/
    }
    return footerLines.get(key.getName().toLowerCase());
}

From source file:com.googlesource.gerrit.plugins.uploadvalidator.FooterValidator.java

License:Apache License

@Override
public List<CommitValidationMessage> onCommitReceived(CommitReceivedEvent receiveEvent)
        throws CommitValidationException {
    try {// w w  w  .j a  v  a 2s .c om
        PluginConfig cfg = cfgFactory.getFromProjectConfigWithInheritance(receiveEvent.project.getNameKey(),
                pluginName);
        String[] requiredFooters = cfg.getStringList(KEY_REQUIRED_FOOTER);
        if (requiredFooters.length > 0 && validatorConfig.isEnabledForRef(receiveEvent.user,
                receiveEvent.getProjectNameKey(), receiveEvent.getRefName(), KEY_REQUIRED_FOOTER)) {
            List<CommitValidationMessage> messages = new LinkedList<>();
            Set<String> footers = FluentIterable.from(receiveEvent.commit.getFooterLines())
                    .transform(new Function<FooterLine, String>() {
                        @Override
                        public String apply(FooterLine f) {
                            return f.getKey().toLowerCase(Locale.US);
                        }
                    }).toSet();
            for (int i = 0; i < requiredFooters.length; i++) {
                if (!footers.contains(requiredFooters[i].toLowerCase(Locale.US))) {
                    messages.add(new CommitValidationMessage("missing required footer: " + requiredFooters[i],
                            true));
                }
            }
            if (!messages.isEmpty()) {
                throw new CommitValidationException("missing required footers in commit message", messages);
            }
        }
    } catch (NoSuchProjectException e) {
        throw new CommitValidationException("failed to check for required footers", e);
    }

    return Collections.emptyList();
}