From aa1361d04cfe09f90e7d8bece90c00dd6e4185bb Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 03 Jul 2014 16:57:47 -0400
Subject: [PATCH] Replace Dagger with Guice 4.0 beta and update Guava to 16.0.1

---
 src/main/java/com/gitblit/servlet/FederationServlet.java |   32 ++++++++++++++++----------------
 1 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/gitblit/servlet/FederationServlet.java b/src/main/java/com/gitblit/servlet/FederationServlet.java
index e86e5d6..8a03f08 100644
--- a/src/main/java/com/gitblit/servlet/FederationServlet.java
+++ b/src/main/java/com/gitblit/servlet/FederationServlet.java
@@ -29,16 +29,11 @@
 import javax.inject.Singleton;
 import javax.servlet.http.HttpServletResponse;
 
-import com.gitblit.Constants;
+import com.gitblit.Constants.FederationRequest;
 import com.gitblit.IStoredSettings;
 import com.gitblit.Keys;
-import com.gitblit.Constants.FederationRequest;
-import com.gitblit.Keys.federation;
-import com.gitblit.Keys.git;
-import com.gitblit.Keys.groovy;
 import com.gitblit.manager.IFederationManager;
 import com.gitblit.manager.IRepositoryManager;
-import com.gitblit.manager.IRuntimeManager;
 import com.gitblit.manager.IUserManager;
 import com.gitblit.models.FederationModel;
 import com.gitblit.models.FederationProposal;
@@ -61,23 +56,22 @@
 
 	private static final long serialVersionUID = 1L;
 
-	private final IStoredSettings settings;
+	private IStoredSettings settings;
 
-	private final IUserManager userManager;
+	private IUserManager userManager;
 
-	private final IRepositoryManager repositoryManager;
+	private IRepositoryManager repositoryManager;
 
-	private final IFederationManager federationManager;
+	private IFederationManager federationManager;
 
 	@Inject
 	public FederationServlet(
-			IRuntimeManager runtimeManager,
+			IStoredSettings settings,
 			IUserManager userManager,
 			IRepositoryManager repositoryManager,
 			IFederationManager federationManager) {
 
-		super();
-		this.settings = runtimeManager.getSettings();
+		this.settings = settings;
 		this.userManager = userManager;
 		this.repositoryManager = repositoryManager;
 		this.federationManager = federationManager;
@@ -150,8 +144,11 @@
 				return;
 			}
 
-			String url = HttpUtils.getGitblitURL(request);
-			federationManager.submitFederationProposal(proposal, url);
+			String gitblitUrl = settings.getString(Keys.web.canonicalUrl, null);
+			if (StringUtils.isEmpty(gitblitUrl)) {
+				gitblitUrl = HttpUtils.getGitblitURL(request);
+			}
+			federationManager.submitFederationProposal(proposal, gitblitUrl);
 			logger.info(MessageFormat.format(
 					"Submitted {0} federation proposal to pull {1} repositories from {2}",
 					proposal.tokenType.name(), proposal.repositories.size(), proposal.url));
@@ -197,7 +194,10 @@
 
 		Object result = null;
 		if (FederationRequest.PULL_REPOSITORIES.equals(reqType)) {
-			String gitblitUrl = HttpUtils.getGitblitURL(request);
+			String gitblitUrl = settings.getString(Keys.web.canonicalUrl, null);
+			if (StringUtils.isEmpty(gitblitUrl)) {
+				gitblitUrl = HttpUtils.getGitblitURL(request);
+			}
 			result = federationManager.getRepositories(gitblitUrl, token);
 		} else {
 			if (FederationRequest.PULL_SETTINGS.equals(reqType)) {

--
Gitblit v1.9.1