From a502d96a860456ec5e8c96761db70f7cabb74751 Mon Sep 17 00:00:00 2001 From: Paul Martin <paul@paulsputer.com> Date: Sat, 30 Apr 2016 04:19:14 -0400 Subject: [PATCH] Merge pull request #1073 from gitblit/1062-DocEditorUpdates --- src/main/java/com/gitblit/servlet/FederationServlet.java | 36 ++++++++++++++++++++++++------------ 1 files changed, 24 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/gitblit/servlet/FederationServlet.java b/src/main/java/com/gitblit/servlet/FederationServlet.java index 372292d..78709c9 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; @@ -43,14 +45,13 @@ import com.gitblit.utils.StringUtils; import com.gitblit.utils.TimeUtils; -import dagger.ObjectGraph; - /** * Handles federation requests. * * @author James Moger * */ +@Singleton public class FederationServlet extends JsonServlet { private static final long serialVersionUID = 1L; @@ -63,12 +64,17 @@ private IFederationManager federationManager; - @Override - protected void inject(ObjectGraph dagger) { - this.settings = dagger.get(IStoredSettings.class); - this.userManager = dagger.get(IUserManager.class); - this.repositoryManager = dagger.get(IRepositoryManager.class); - this.federationManager = dagger.get(IFederationManager.class); + @Inject + public FederationServlet( + IStoredSettings settings, + IUserManager userManager, + IRepositoryManager repositoryManager, + IFederationManager federationManager) { + + this.settings = settings; + this.userManager = userManager; + this.repositoryManager = repositoryManager; + this.federationManager = federationManager; } /** @@ -138,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)); @@ -161,7 +170,7 @@ // setup the last and netx pull dates results.lastPull = new Date(); - int mins = TimeUtils.convertFrequencyToMinutes(results.frequency); + int mins = TimeUtils.convertFrequencyToMinutes(results.frequency, 5); results.nextPull = new Date(System.currentTimeMillis() + (mins * 60 * 1000L)); // acknowledge the receipt of status @@ -185,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