From f78f2db36d515d8779012a9bcd8f177f2f558bad Mon Sep 17 00:00:00 2001
From: Martin Lowe <martin.lowe@eclipse-foundation.org>
Date: Thu, 15 Jun 2023 16:09:06 -0400
Subject: [PATCH] Fix commit author and committers to mark as nullable

Github commits won't always have values associated with authors and
committers, so we should mark them as nullable to prevent serialization
failures.
---
 .../git/eca/api/models/GithubCommit.java          | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/eclipsefoundation/git/eca/api/models/GithubCommit.java b/src/main/java/org/eclipsefoundation/git/eca/api/models/GithubCommit.java
index 631c78cf..0165a39c 100644
--- a/src/main/java/org/eclipsefoundation/git/eca/api/models/GithubCommit.java
+++ b/src/main/java/org/eclipsefoundation/git/eca/api/models/GithubCommit.java
@@ -13,6 +13,8 @@ package org.eclipsefoundation.git.eca.api.models;
 
 import java.util.List;
 
+import javax.annotation.Nullable;
+
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder;
 import com.google.auto.value.AutoValue;
@@ -28,8 +30,9 @@ public abstract class GithubCommit {
 
     public abstract CommitData getCommit();
 
+    @Nullable
     public abstract GithubCommitUser getCommitter();
-
+    @Nullable
     public abstract GithubCommitUser getAuthor();
 
     public abstract List<ParentCommit> getParents();
@@ -45,9 +48,9 @@ public abstract class GithubCommit {
 
         public abstract Builder setCommit(CommitData commit);
 
-        public abstract Builder setCommitter(GithubCommitUser committer);
+        public abstract Builder setCommitter(@Nullable GithubCommitUser committer);
 
-        public abstract Builder setAuthor(GithubCommitUser author);
+        public abstract Builder setAuthor(@Nullable GithubCommitUser author);
 
         public abstract Builder setParents(List<ParentCommit> parents);
 
@@ -57,8 +60,10 @@ public abstract class GithubCommit {
     @AutoValue
     @JsonDeserialize(builder = AutoValue_GithubCommit_CommitData.Builder.class)
     public abstract static class CommitData {
+        @Nullable
         public abstract GitCommitUser getAuthor();
 
+        @Nullable
         public abstract GitCommitUser getCommitter();
 
         public static Builder builder() {
@@ -68,9 +73,9 @@ public abstract class GithubCommit {
         @AutoValue.Builder
         @JsonPOJOBuilder(withPrefix = "set")
         public abstract static class Builder {
-            public abstract Builder setAuthor(GitCommitUser author);
+            public abstract Builder setAuthor(@Nullable GitCommitUser author);
 
-            public abstract Builder setCommitter(GitCommitUser committer);
+            public abstract Builder setCommitter(@Nullable GitCommitUser committer);
 
             public abstract CommitData build();
         }
-- 
GitLab