public List onCommitReceived()

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();
  }