List of usage examples for org.eclipse.jgit.revwalk FooterLine getKey
public String getKey()
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(); }