| | |
| | | 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; |
| | |
| | | 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. |
| | |
| | | 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); |
| | | bind(IPluginManager.class).to(PluginManager.class); |
| | |
| | | |
| | | // manager for long-running daemons and services |
| | | bind(IServicesManager.class).to(ServicesManager.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; |
| | | } |
| | | } |
| | | } |