From edeab95cac16e5f17cfcd75a9969d8708bf360ab Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 12 May 2014 09:22:04 -0400 Subject: [PATCH] Documentation --- src/main/java/com/gitblit/servlet/FederationServlet.java | 50 ++++++++++++++++++++++---------------------------- 1 files changed, 22 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/gitblit/servlet/FederationServlet.java b/src/main/java/com/gitblit/servlet/FederationServlet.java index e86e5d6..8dbf0e1 100644 --- a/src/main/java/com/gitblit/servlet/FederationServlet.java +++ b/src/main/java/com/gitblit/servlet/FederationServlet.java @@ -25,20 +25,13 @@ import java.util.Map; import java.util.Set; -import javax.inject.Inject; -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; @@ -50,37 +43,32 @@ 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; - 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, - IUserManager userManager, - IRepositoryManager repositoryManager, - IFederationManager federationManager) { - - super(); - this.settings = runtimeManager.getSettings(); - this.userManager = userManager; - this.repositoryManager = repositoryManager; - this.federationManager = 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); } /** @@ -150,8 +138,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 +188,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