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