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 564fd3e..fe48ccf 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;
@@ -46,11 +47,10 @@
   public void run() throws Exception {
     ui.header("GitHub Integration");
 
-    auth.set("httpHeader", "GITHUB_USER");
-    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");
 
     github.string("GitHub URL", "url", GITHUB_URL);
     github.string("GitHub API URL", "apiUrl", GITHUB_API_URL);
@@ -76,6 +76,12 @@
     httpd.set("filterClass", "com.googlesource.gerrit.plugins.github.oauth.OAuthFilter");
   }
 
+  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) {