| | |
| | | |
| | | import com.gitblit.IStoredSettings; |
| | | import com.gitblit.Keys; |
| | | import com.gitblit.extensions.TicketHook; |
| | | import com.gitblit.manager.INotificationManager; |
| | | import com.gitblit.manager.IPluginManager; |
| | | import com.gitblit.manager.IRepositoryManager; |
| | | import com.gitblit.manager.IRuntimeManager; |
| | | import com.gitblit.manager.IUserManager; |
| | |
| | | |
| | | protected final IRepositoryManager repositoryManager; |
| | | |
| | | protected final IPluginManager pluginManager; |
| | | |
| | | protected final TicketIndexer indexer; |
| | | |
| | | private final Cache<TicketKey, TicketModel> ticketsCache; |
| | |
| | | */ |
| | | public ITicketService( |
| | | IRuntimeManager runtimeManager, |
| | | IPluginManager pluginManager, |
| | | INotificationManager notificationManager, |
| | | IUserManager userManager, |
| | | IRepositoryManager repositoryManager) { |
| | |
| | | this.log = LoggerFactory.getLogger(getClass()); |
| | | this.settings = runtimeManager.getSettings(); |
| | | this.runtimeManager = runtimeManager; |
| | | this.pluginManager = pluginManager; |
| | | this.notificationManager = notificationManager; |
| | | this.userManager = userManager; |
| | | this.repositoryManager = repositoryManager; |
| | |
| | | if (success) { |
| | | TicketModel ticket = getTicket(repository, ticketId); |
| | | indexer.index(ticket); |
| | | |
| | | // call the ticket hooks |
| | | if (pluginManager != null) { |
| | | for (TicketHook hook : pluginManager.getExtensions(TicketHook.class)) { |
| | | try { |
| | | hook.onNewTicket(ticket); |
| | | } catch (Exception e) { |
| | | log.error("Failed to execute extension", e); |
| | | } |
| | | } |
| | | } |
| | | return ticket; |
| | | } |
| | | return null; |
| | |
| | | TicketModel ticket = getTicket(repository, ticketId); |
| | | ticketsCache.put(key, ticket); |
| | | indexer.index(ticket); |
| | | |
| | | // call the ticket hooks |
| | | if (pluginManager != null) { |
| | | for (TicketHook hook : pluginManager.getExtensions(TicketHook.class)) { |
| | | try { |
| | | hook.onUpdateTicket(ticket, change); |
| | | } catch (Exception e) { |
| | | log.error("Failed to execute extension", e); |
| | | } |
| | | } |
| | | } |
| | | return ticket; |
| | | } |
| | | return null; |