| | |
| | | import com.gitblit.manager.IFederationManager; |
| | | import com.gitblit.manager.IGitblit; |
| | | import com.gitblit.manager.INotificationManager; |
| | | import com.gitblit.manager.IPluginManager; |
| | | import com.gitblit.manager.IProjectManager; |
| | | import com.gitblit.manager.IRepositoryManager; |
| | | import com.gitblit.manager.IRuntimeManager; |
| | |
| | | import com.gitblit.tickets.ITicketService; |
| | | import com.gitblit.tickets.NullTicketService; |
| | | import com.gitblit.tickets.RedisTicketService; |
| | | import com.gitblit.transport.ssh.IPublicKeyManager; |
| | | import com.gitblit.utils.StringUtils; |
| | | |
| | | import dagger.Module; |
| | |
| | | |
| | | public GitBlit( |
| | | IRuntimeManager runtimeManager, |
| | | IPluginManager pluginManager, |
| | | INotificationManager notificationManager, |
| | | IUserManager userManager, |
| | | IAuthenticationManager authenticationManager, |
| | | IPublicKeyManager publicKeyManager, |
| | | IRepositoryManager repositoryManager, |
| | | IProjectManager projectManager, |
| | | IFederationManager federationManager) { |
| | | |
| | | super(runtimeManager, |
| | | pluginManager, |
| | | notificationManager, |
| | | userManager, |
| | | authenticationManager, |
| | | publicKeyManager, |
| | | repositoryManager, |
| | | projectManager, |
| | | federationManager); |
| | |
| | | String username = StringUtils.encodeUsername(UserModel.ANONYMOUS.equals(user) ? "" : user.username); |
| | | |
| | | List<RepositoryUrl> list = new ArrayList<RepositoryUrl>(); |
| | | |
| | | // http/https url |
| | | if (settings.getBoolean(Keys.git.enableGitServlet, true)) { |
| | | AccessPermission permission = user.getRepositoryPermission(repository).permission; |
| | | if (permission.exceeds(AccessPermission.NONE)) { |
| | | list.add(new RepositoryUrl(getRepositoryUrl(request, username, repository), permission)); |
| | | } |
| | | } |
| | | |
| | | // ssh daemon url |
| | | String sshDaemonUrl = servicesManager.getSshDaemonUrl(request, user, repository); |
| | | if (!StringUtils.isEmpty(sshDaemonUrl)) { |
| | | AccessPermission permission = user.getRepositoryPermission(repository).permission; |
| | | if (permission.exceeds(AccessPermission.NONE)) { |
| | | list.add(new RepositoryUrl(sshDaemonUrl, permission)); |
| | | } |
| | | } |
| | | |
| | |
| | | @Override |
| | | public boolean deleteRepository(String repositoryName) { |
| | | RepositoryModel repository = repositoryManager.getRepositoryModel(repositoryName); |
| | | boolean success = repositoryManager.deleteRepository(repositoryName); |
| | | return deleteRepositoryModel(repository); |
| | | } |
| | | |
| | | @Override |
| | | public boolean deleteRepositoryModel(RepositoryModel model) { |
| | | boolean success = repositoryManager.deleteRepositoryModel(model); |
| | | if (success && ticketService != null) { |
| | | return ticketService.deleteAll(repository); |
| | | return ticketService.deleteAll(model); |
| | | } |
| | | return success; |
| | | } |
| | |
| | | try { |
| | | Class<? extends ITicketService> serviceClass = (Class<? extends ITicketService>) Class.forName(clazz); |
| | | ticketService = injector.get(serviceClass).start(); |
| | | if (ticketService.isReady()) { |
| | | if (ticketService instanceof NullTicketService) { |
| | | logger.warn("No ticket service configured."); |
| | | } else if (ticketService.isReady()) { |
| | | logger.info("{} is ready.", ticketService); |
| | | } else { |
| | | logger.warn("{} is disabled.", ticketService); |
| | |
| | | FileTicketService.class, |
| | | BranchTicketService.class, |
| | | RedisTicketService.class |
| | | } |
| | | } |
| | | ) |
| | | class GitBlitModule { |
| | | |
| | |
| | | @Provides @Singleton IGitblit provideGitblit() { |
| | | return GitBlit.this; |
| | | } |
| | | |
| | | @Provides @Singleton NullTicketService provideNullTicketService() { |
| | | return new NullTicketService( |
| | | runtimeManager, |
| | | notificationManager, |
| | | userManager, |
| | | repositoryManager); |
| | | } |
| | | |
| | | @Provides @Singleton FileTicketService provideFileTicketService() { |
| | | return new FileTicketService( |
| | | runtimeManager, |
| | | notificationManager, |
| | | userManager, |
| | | repositoryManager); |
| | | } |
| | | |
| | | @Provides @Singleton BranchTicketService provideBranchTicketService() { |
| | | return new BranchTicketService( |
| | | runtimeManager, |
| | | notificationManager, |
| | | userManager, |
| | | repositoryManager); |
| | | } |
| | | |
| | | @Provides @Singleton RedisTicketService provideRedisTicketService() { |
| | | return new RedisTicketService( |
| | | runtimeManager, |
| | | notificationManager, |
| | | userManager, |
| | | repositoryManager); |
| | | } |
| | | } |
| | | } |