From 269c5043ab8f66f67d5719ac5149a436ca1baa2b Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 29 Nov 2013 11:05:51 -0500 Subject: [PATCH] Extract Federation, Gitblit and Services manager from GitBlit singleton --- src/main/java/com/gitblit/BranchGraphServlet.java | 33 ++++++++++++++++++++++++--------- 1 files changed, 24 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/gitblit/BranchGraphServlet.java b/src/main/java/com/gitblit/BranchGraphServlet.java index 05c3c65..58a5778 100644 --- a/src/main/java/com/gitblit/BranchGraphServlet.java +++ b/src/main/java/com/gitblit/BranchGraphServlet.java @@ -36,6 +36,8 @@ import java.util.TreeSet; import javax.imageio.ImageIO; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; @@ -50,15 +52,18 @@ import org.eclipse.jgit.revplot.PlotWalk; import org.eclipse.jgit.revwalk.RevCommit; +import com.gitblit.manager.IRepositoryManager; +import com.gitblit.manager.IRuntimeManager; import com.gitblit.utils.JGitUtils; import com.gitblit.utils.StringUtils; /** * Handles requests for branch graphs - * + * * @author James Moger - * + * */ +@Singleton public class BranchGraphServlet extends HttpServlet { private static final long serialVersionUID = 1L; @@ -72,8 +77,18 @@ private final Stroke[] strokeCache; - public BranchGraphServlet() { + private final IStoredSettings settings; + + private final IRepositoryManager repositoryManager; + + @Inject + public BranchGraphServlet( + IRuntimeManager runtimeManager, + IRepositoryManager repositoryManager) { + super(); + this.settings = runtimeManager.getSettings(); + this.repositoryManager = repositoryManager; strokeCache = new Stroke[4]; for (int i = 1; i < strokeCache.length; i++) @@ -82,7 +97,7 @@ /** * Returns an url to this servlet for the specified parameters. - * + * * @param baseURL * @param repository * @param objectId @@ -104,7 +119,7 @@ String objectId = req.getParameter("h"); Repository r = null; try { - r = GitBlit.self().getRepository(repository); + r = repositoryManager.getRepository(repository); if (StringUtils.isEmpty(objectId)) { objectId = JGitUtils.getHEADRef(r); } @@ -128,7 +143,7 @@ String objectId = request.getParameter("h"); String length = request.getParameter("l"); - r = GitBlit.self().getRepository(repository); + r = repositoryManager.getRepository(repository); rw = new PlotWalk(r); if (StringUtils.isEmpty(objectId)) { @@ -138,7 +153,7 @@ rw.markStart(rw.lookupCommit(r.resolve(objectId))); // default to the items-per-page setting, unless specified - int maxCommits = GitBlit.getInteger(Keys.web.itemsPerPage, 50); + int maxCommits = settings.getInteger(Keys.web.itemsPerPage, 50); int requestedCommits = maxCommits; if (!StringUtils.isEmpty(length)) { int l = Integer.parseInt(length); @@ -148,7 +163,7 @@ } // fetch the requested commits plus some extra so that the last - // commit displayed *likely* has correct lane assignments + // commit displayed *likely* has correct lane assignments CommitList commitList = new CommitList(); commitList.source(rw); commitList.fillTo(2*Math.max(requestedCommits, maxCommits)); @@ -190,7 +205,7 @@ // create an image buffer and render the lanes BufferedImage image = new BufferedImage(graphWidth, rowHeight*numCommits, BufferedImage.TYPE_INT_ARGB); - + Graphics2D g = null; try { g = image.createGraphics(); -- Gitblit v1.9.1