From 34d7d04aa8a1a7706be333f5eb0a4aec7f066850 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Sat, 05 Jul 2014 12:28:37 -0400
Subject: [PATCH] Merge branch 'ticket/137' into develop
---
src/main/java/com/gitblit/guice/CoreModule.java | 61 ++++++++++--------------------
1 files changed, 20 insertions(+), 41 deletions(-)
diff --git a/src/main/java/com/gitblit/guice/CoreModule.java b/src/main/java/com/gitblit/guice/CoreModule.java
index 89be94f..c0d39e9 100644
--- a/src/main/java/com/gitblit/guice/CoreModule.java
+++ b/src/main/java/com/gitblit/guice/CoreModule.java
@@ -15,12 +15,9 @@
*/
package com.gitblit.guice;
-import com.google.inject.Singleton;
-
import com.gitblit.FileSettings;
import com.gitblit.GitBlit;
import com.gitblit.IStoredSettings;
-import com.gitblit.Keys;
import com.gitblit.manager.AuthenticationManager;
import com.gitblit.manager.FederationManager;
import com.gitblit.manager.IAuthenticationManager;
@@ -31,20 +28,19 @@
import com.gitblit.manager.IProjectManager;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.manager.IRuntimeManager;
+import com.gitblit.manager.IServicesManager;
import com.gitblit.manager.IUserManager;
import com.gitblit.manager.NotificationManager;
import com.gitblit.manager.PluginManager;
import com.gitblit.manager.ProjectManager;
import com.gitblit.manager.RepositoryManager;
import com.gitblit.manager.RuntimeManager;
+import com.gitblit.manager.ServicesManager;
import com.gitblit.manager.UserManager;
-import com.gitblit.transport.ssh.FileKeyManager;
+import com.gitblit.tickets.ITicketService;
import com.gitblit.transport.ssh.IPublicKeyManager;
-import com.gitblit.transport.ssh.MemoryKeyManager;
-import com.gitblit.transport.ssh.NullKeyManager;
-import com.gitblit.utils.StringUtils;
+import com.gitblit.utils.WorkQueue;
import com.google.inject.AbstractModule;
-import com.google.inject.Provides;
/**
* CoreModule references all the core business objects.
@@ -59,42 +55,25 @@
bind(IStoredSettings.class).toInstance(new FileSettings());
+ // bind complex providers
+ bind(IPublicKeyManager.class).toProvider(IPublicKeyManagerProvider.class);
+ bind(ITicketService.class).toProvider(ITicketServiceProvider.class);
+ bind(WorkQueue.class).toProvider(WorkQueueProvider.class);
+
// core managers
- bind(IRuntimeManager.class).to(RuntimeManager.class).in(Singleton.class);
- bind(IPluginManager.class).to(PluginManager.class).in(Singleton.class);
- bind(INotificationManager.class).to(NotificationManager.class).in(Singleton.class);
- bind(IUserManager.class).to(UserManager.class).in(Singleton.class);
- bind(IAuthenticationManager.class).to(AuthenticationManager.class).in(Singleton.class);
- bind(IRepositoryManager.class).to(RepositoryManager.class).in(Singleton.class);
- bind(IProjectManager.class).to(ProjectManager.class).in(Singleton.class);
- bind(IFederationManager.class).to(FederationManager.class).in(Singleton.class);
+ bind(IRuntimeManager.class).to(RuntimeManager.class);
+ bind(IPluginManager.class).to(PluginManager.class);
+ bind(INotificationManager.class).to(NotificationManager.class);
+ bind(IUserManager.class).to(UserManager.class);
+ bind(IAuthenticationManager.class).to(AuthenticationManager.class);
+ bind(IRepositoryManager.class).to(RepositoryManager.class);
+ bind(IProjectManager.class).to(ProjectManager.class);
+ bind(IFederationManager.class).to(FederationManager.class);
// the monolithic manager
- bind(IGitblit.class).to(GitBlit.class).in(Singleton.class);
- }
+ bind(IGitblit.class).to(GitBlit.class);
- @Provides
- @Singleton
- IPublicKeyManager providePublicKeyManager(IStoredSettings settings, IRuntimeManager runtimeManager) {
-
- String clazz = settings.getString(Keys.git.sshKeysManager, FileKeyManager.class.getName());
- if (StringUtils.isEmpty(clazz)) {
- clazz = FileKeyManager.class.getName();
- }
- if (FileKeyManager.class.getName().equals(clazz)) {
- return new FileKeyManager(runtimeManager);
- } else if (NullKeyManager.class.getName().equals(clazz)) {
- return new NullKeyManager();
- } else if (MemoryKeyManager.class.getName().equals(clazz)) {
- return new MemoryKeyManager();
- } else {
- try {
- Class<?> mgrClass = Class.forName(clazz);
- return (IPublicKeyManager) mgrClass.newInstance();
- } catch (Exception e) {
-
- }
- return null;
- }
+ // manager for long-running daemons and services
+ bind(IServicesManager.class).to(ServicesManager.class);
}
}
\ No newline at end of file
--
Gitblit v1.9.1