From a0e22f69f8f779c1606c8ed7716596fedaa3d108 Mon Sep 17 00:00:00 2001
From: Martin Lowe <martin.lowe@eclipse-foundation.org>
Date: Fri, 5 May 2023 09:23:27 -0400
Subject: [PATCH] Fix error when new required field is empty in prevalidation
 (usermail)

There was an error as the usermail was assumed to always be present, but
its a new field. We should only consider it current if that field is
set.
---
 .../git/eca/service/impl/DefaultValidationService.java         | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/eclipsefoundation/git/eca/service/impl/DefaultValidationService.java b/src/main/java/org/eclipsefoundation/git/eca/service/impl/DefaultValidationService.java
index a9fa1872..9d98fc50 100644
--- a/src/main/java/org/eclipsefoundation/git/eca/service/impl/DefaultValidationService.java
+++ b/src/main/java/org/eclipsefoundation/git/eca/service/impl/DefaultValidationService.java
@@ -15,7 +15,6 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
-import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 import javax.enterprise.context.ApplicationScoped;
@@ -459,6 +458,7 @@ public class DefaultValidationService implements ValidationService {
      * </p>
      * <ul>
      * <li>The validation status exists
+     * <li>The validation status has a user mail associated with it
      * <li>Validation status has no present errors
      * <li>Modification date is either unset or matches when set
      * <li>User mail is set and matches (ignores case)
@@ -472,6 +472,7 @@ public class DefaultValidationService implements ValidationService {
      */
     private boolean isValidationStatusCurrentAndValid(Optional<CommitValidationStatus> status, Commit c) {
         return status.isPresent() && status.get().getErrors().isEmpty() && c.getAuthor() != null
+                && StringUtils.isNotBlank(status.get().getUserMail())
                 && status.get().getUserMail().equalsIgnoreCase(c.getAuthor().getMail())
                 && (c.getLastModificationDate() == null || status.get().getLastModified().equals(c.getLastModificationDate()));
     }
-- 
GitLab