in src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ChangeEmailValidator.java [106:148]
public List<CommitValidationMessage> onCommitReceived(CommitReceivedEvent receiveEvent)
throws CommitValidationException {
try {
PluginConfig cfg =
cfgFactory.getFromProjectConfigWithInheritance(
receiveEvent.project.getNameKey(), pluginName);
if (isAuthorActive(cfg)
&& validatorConfig.isEnabled(
receiveEvent.user,
receiveEvent.getProjectNameKey(),
receiveEvent.getRefName(),
KEY_ALLOWED_AUTHOR_EMAIL_PATTERN,
receiveEvent.pushOptions)) {
if (!performValidation(
receiveEvent.commit.getAuthorIdent().getEmailAddress(),
getAllowedAuthorEmailPatterns(cfg))) {
throw new CommitValidationException(
"Author Email <"
+ receiveEvent.commit.getAuthorIdent().getEmailAddress()
+ "> - is not allowed for this Project.");
}
}
if (isCommitterActive(cfg)
&& validatorConfig.isEnabled(
receiveEvent.user,
receiveEvent.getProjectNameKey(),
receiveEvent.getRefName(),
KEY_ALLOWED_COMMITTER_EMAIL_PATTERN,
receiveEvent.pushOptions)) {
if (!performValidation(
receiveEvent.commit.getCommitterIdent().getEmailAddress(),
getAllowedCommitterEmailPatterns(cfg))) {
throw new CommitValidationException(
"Committer Email <"
+ receiveEvent.commit.getCommitterIdent().getEmailAddress()
+ "> - is not allowed for this Project.");
}
}
} catch (NoSuchProjectException e) {
throw new CommitValidationException("Failed to check for Change Email Patterns ", e);
}
return Collections.emptyList();
}