Do not overwrite HTTP auth configuration settings

When initialising GitHub authentication, we need to prevent existing
customised settings on the [http] auth section from being overwritten
with default values.

Change-Id: I56f0df590543b831f96576a25561585361a6a059
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/InitGitHub.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/InitGitHub.java
index 907f73d..5a78252 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/InitGitHub.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/InitGitHub.java
@@ -15,6 +15,7 @@
 
 import java.net.URISyntaxException;
 
+import com.google.common.base.Strings;
 import com.google.gerrit.pgm.init.api.ConsoleUI;
 import com.google.gerrit.pgm.init.api.InitStep;
 import com.google.gerrit.pgm.init.api.InitUtil;
@@ -79,16 +80,22 @@
       auth.string("HTTP Authentication Header", "httpHeader", "GITHUB_USER");
       httpd.set("filterClass",
           "com.googlesource.gerrit.plugins.github.oauth.OAuthFilter");
-      auth.set("httpExternalIdHeader", "GITHUB_OAUTH_TOKEN");
-      auth.set("loginUrl","/login");
-      auth.set("loginText", "Sign-in with GitHub");
-      auth.set("registerPageUrl", "/#/register");
+      authSetDefault("httpExternalIdHeader", "GITHUB_OAUTH_TOKEN");
+      authSetDefault("loginUrl","/login");
+      authSetDefault("loginText", "Sign-in with GitHub");
+      authSetDefault("registerPageUrl", "/#/register");
     } else {
       httpd.unset("filterClass");
       httpd.unset("httpHeader");
     }
   }
 
+  private void authSetDefault(String key, String defValue) {
+    if (Strings.isNullOrEmpty(auth.get(key))) {
+      auth.set(key, defValue);
+    }
+  }
+
   private String getAssumedCanonicalWebUrl() {
     String url = gerrit.get("canonicalWebUrl");
     if (url != null) {