From 5200b359257c2ab5e29781c2b05c6092fc8338f8 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 29 Nov 2013 11:05:50 -0500 Subject: [PATCH] Eliminate static singleton calls from user services --- src/main/java/com/gitblit/SparkleShareInviteServlet.java | 37 +++++++++++++++++++++++++++++++------ 1 files changed, 31 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/gitblit/SparkleShareInviteServlet.java b/src/main/java/com/gitblit/SparkleShareInviteServlet.java index 11a58dd..1cd997d 100644 --- a/src/main/java/com/gitblit/SparkleShareInviteServlet.java +++ b/src/main/java/com/gitblit/SparkleShareInviteServlet.java @@ -18,11 +18,17 @@ import java.io.IOException; import java.text.MessageFormat; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.gitblit.manager.IRepositoryManager; +import com.gitblit.manager.IRuntimeManager; +import com.gitblit.manager.ISessionManager; +import com.gitblit.manager.IUserManager; import com.gitblit.models.RepositoryModel; import com.gitblit.models.UserModel; import com.gitblit.utils.StringUtils; @@ -33,12 +39,31 @@ * @author James Moger * */ +@Singleton public class SparkleShareInviteServlet extends HttpServlet { private static final long serialVersionUID = 1L; - public SparkleShareInviteServlet() { + private final IStoredSettings settings; + + private final IUserManager userManager; + + private final ISessionManager sessionManager; + + private final IRepositoryManager repositoryManager; + + @Inject + public SparkleShareInviteServlet( + IRuntimeManager runtimeManager, + IUserManager userManager, + ISessionManager sessionManager, + IRepositoryManager repositoryManager) { + super(); + this.settings = runtimeManager.getSettings(); + this.userManager = userManager; + this.sessionManager = sessionManager; + this.repositoryManager = repositoryManager; } @Override @@ -77,9 +102,9 @@ } UserModel user; if (StringUtils.isEmpty(username)) { - user = GitBlit.self().authenticate(request); + user = sessionManager.authenticate(request); } else { - user = GitBlit.self().getUserModel(username); + user = userManager.getUserModel(username); } if (user == null) { user = UserModel.ANONYMOUS; @@ -87,7 +112,7 @@ } // ensure that the requested repository exists - RepositoryModel model = GitBlit.self().getRepositoryModel(path); + RepositoryModel model = repositoryManager.getRepositoryModel(path); if (model == null) { response.setStatus(HttpServletResponse.SC_NOT_FOUND); response.getWriter().append(MessageFormat.format("Repository \"{0}\" not found!", path)); @@ -99,9 +124,9 @@ sb.append("<sparkleshare><invite>\n"); sb.append(MessageFormat.format("<address>{0}</address>\n", host)); sb.append(MessageFormat.format("<remote_path>{0}{1}</remote_path>\n", servletPath, model.name)); - if (GitBlit.getInteger(Keys.fanout.port, 0) > 0) { + if (settings.getInteger(Keys.fanout.port, 0) > 0) { // Gitblit is running it's own fanout service for pubsub notifications - sb.append(MessageFormat.format("<announcements_url>tcp://{0}:{1}</announcements_url>\n", request.getServerName(), GitBlit.getString(Keys.fanout.port, ""))); + sb.append(MessageFormat.format("<announcements_url>tcp://{0}:{1}</announcements_url>\n", request.getServerName(), settings.getString(Keys.fanout.port, ""))); } sb.append("</invite></sparkleshare>\n"); -- Gitblit v1.9.1