Avoid NPE when getting groups for anonymous users It is technically possible to have in Gerrit users without full name or username or e-mails. In that scenario we are not able to provide any GitHub membership information and return an empty membership avoiding NPE during Guice injection. Change-Id: I5e63a8527956b648df12a3ccb762aa4c45867238
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroupBackend.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroupBackend.java index b6fd5cf..7846d77 100644 --- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroupBackend.java +++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroupBackend.java
@@ -26,6 +26,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet.Builder; import com.google.gerrit.common.data.GroupDescription.Basic; @@ -120,6 +121,11 @@ @Override public GroupMembership membershipsOf(IdentifiedUser user) { - return ghMembershipProvider.get(user.getUserName()); + String username = user.getUserName(); + if (Strings.isNullOrEmpty(username)) { + return GroupMembership.EMPTY; + } else { + return ghMembershipProvider.get(username); + } } }