From 575d4f690b8eaedfdd3981fe7c00ecc41d358e73 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] Temporarily depend on patched guice-servlet (guice-807)
---
src/main/java/com/gitblit/servlet/FederationServlet.java | 30 +++++++++++++++++++-----------
1 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/gitblit/servlet/FederationServlet.java b/src/main/java/com/gitblit/servlet/FederationServlet.java
index 8d352fe..89ff231 100644
--- a/src/main/java/com/gitblit/servlet/FederationServlet.java
+++ b/src/main/java/com/gitblit/servlet/FederationServlet.java
@@ -25,6 +25,8 @@
import java.util.Map;
import java.util.Set;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
import javax.servlet.http.HttpServletResponse;
import com.gitblit.Constants.FederationRequest;
@@ -32,7 +34,6 @@
import com.gitblit.Keys;
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;
@@ -50,26 +51,27 @@
* @author James Moger
*
*/
+@Singleton
public class FederationServlet extends JsonServlet {
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;
@@ -142,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));
@@ -189,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