From b23b67c1cc0b2541580f23c9aec97c0b84a823f4 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 21 Feb 2014 09:56:37 -0500 Subject: [PATCH] Select default/configured gc period in create/edit repository page --- src/main/java/com/gitblit/FederationClient.java | 80 ++++++++++++++++++++++++++++++++++------ 1 files changed, 68 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/gitblit/FederationClient.java b/src/main/java/com/gitblit/FederationClient.java index eae6b94..4f4b00b 100644 --- a/src/main/java/com/gitblit/FederationClient.java +++ b/src/main/java/com/gitblit/FederationClient.java @@ -17,13 +17,22 @@ import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import com.beust.jcommander.JCommander; import com.beust.jcommander.Parameter; import com.beust.jcommander.ParameterException; import com.beust.jcommander.Parameters; +import com.gitblit.manager.FederationManager; +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; import com.gitblit.models.FederationModel; +import com.gitblit.service.FederationPullService; import com.gitblit.utils.FederationUtils; import com.gitblit.utils.StringUtils; @@ -53,7 +62,7 @@ } File regFile = com.gitblit.utils.FileUtils.resolveParameter(Constants.baseFolder$, baseFolder, params.registrationsFile); - IStoredSettings settings = new FileSettings(regFile.getAbsolutePath()); + FileSettings settings = new FileSettings(regFile.getAbsolutePath()); List<FederationModel> registrations = new ArrayList<FederationModel>(); if (StringUtils.isEmpty(params.url)) { registrations.addAll(FederationUtils.getFederationRegistrations(settings)); @@ -83,14 +92,23 @@ } // configure the Gitblit singleton for minimal, non-server operation - GitBlit gitblit = new GitBlit(settings, baseFolder); - gitblit.configureContext(settings, baseFolder, false); - FederationPullExecutor executor = new FederationPullExecutor(registrations, params.isDaemon); - executor.run(); - if (!params.isDaemon) { - System.out.println("Finished."); - System.exit(0); - } + 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, repositories).start(); + IGitblit gitblit = new GitblitManager(runtime, notifications, users, null, repositories, null, federation); + + FederationPullService puller = new FederationPullService(gitblit, federation.getFederationRegistrations()) { + @Override + public void reschedule(FederationModel registration) { + // NOOP + } + }; + puller.run(); + + System.out.println("Finished."); + System.exit(0); } private static void usage(JCommander jc, ParameterException t) { @@ -116,9 +134,6 @@ @Parameter(names = { "--registrations" }, description = "Gitblit Federation Registrations File", required = false) public String registrationsFile = "${baseFolder}/federation.properties"; - @Parameter(names = { "--daemon" }, description = "Runs in daemon mode to schedule and pull repositories", required = false) - public boolean isDaemon; - @Parameter(names = { "--url" }, description = "URL of Gitblit instance to mirror from", required = false) public String url; @@ -141,4 +156,45 @@ 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) { + } + + @Override + public void sendHtmlMail(String from, String subject, String message, Collection<String> toAddresses) { + } + + @Override + public void sendHtmlMail(String from, String subject, String message, String... toAddresses) { + } + } } -- Gitblit v1.9.1