From 23e08cdfd5f61e06f584c7fce4e765dd8b6e6643 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] Refactor managers and authentication for federation --- src/main/java/com/gitblit/FederationClient.java | 48 ++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 42 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/gitblit/FederationClient.java b/src/main/java/com/gitblit/FederationClient.java index 66b378a..c275746 100644 --- a/src/main/java/com/gitblit/FederationClient.java +++ b/src/main/java/com/gitblit/FederationClient.java @@ -17,6 +17,7 @@ import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import com.beust.jcommander.JCommander; @@ -24,7 +25,9 @@ import com.beust.jcommander.ParameterException; import com.beust.jcommander.Parameters; import com.gitblit.manager.FederationManager; -import com.gitblit.manager.NotificationManager; +import com.gitblit.manager.GitblitManager; +import com.gitblit.manager.IGitblit; +import com.gitblit.manager.INotificationManager; import com.gitblit.manager.RepositoryManager; import com.gitblit.manager.RuntimeManager; import com.gitblit.manager.UserManager; @@ -89,14 +92,14 @@ } // configure the Gitblit singleton for minimal, non-server operation - RuntimeManager runtime = new RuntimeManager(settings); - runtime.setBaseFolder(baseFolder); - NotificationManager notifications = new NotificationManager(settings).start(); + RuntimeManager runtime = new RuntimeManager(settings, baseFolder).start(); + NoopNotificationManager notifications = new NoopNotificationManager().start(); UserManager users = new UserManager(runtime).start(); RepositoryManager repositories = new RepositoryManager(runtime, users).start(); - FederationManager federation = new FederationManager(runtime, notifications, users, repositories).start(); + FederationManager federation = new FederationManager(runtime, notifications, repositories).start(); + IGitblit gitblit = new GitblitManager(runtime, notifications, users, null, repositories, null, federation); - FederationPullService puller = new FederationPullService(federation.getFederationRegistrations()) { + FederationPullService puller = new FederationPullService(gitblit, federation.getFederationRegistrations()) { @Override public void reschedule(FederationModel registration) { // NOOP @@ -153,4 +156,37 @@ public String repositoriesFolder; } + + private static class NoopNotificationManager implements INotificationManager { + + @Override + public NoopNotificationManager start() { + return this; + } + + @Override + public NoopNotificationManager stop() { + return this; + } + + @Override + public void sendMailToAdministrators(String subject, String message) { + } + + @Override + public void sendMail(String subject, String message, Collection<String> toAddresses) { + } + + @Override + public void sendMail(String subject, String message, String... toAddresses) { + } + + @Override + public void sendHtmlMail(String subject, String message, Collection<String> toAddresses) { + } + + @Override + public void sendHtmlMail(String subject, String message, String... toAddresses) { + } + } } -- Gitblit v1.9.1