James Moger
2014-04-12 ba567069542e1f6769097ff78cd9612a9f08eb83
src/main/java/com/gitblit/tickets/ITicketService.java
@@ -35,7 +35,9 @@
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;
@@ -94,6 +96,8 @@
   protected final IRepositoryManager repositoryManager;
   protected final IPluginManager pluginManager;
   protected final TicketIndexer indexer;
   private final Cache<TicketKey, TicketModel> ticketsCache;
@@ -136,6 +140,7 @@
    */
   public ITicketService(
         IRuntimeManager runtimeManager,
         IPluginManager pluginManager,
         INotificationManager notificationManager,
         IUserManager userManager,
         IRepositoryManager repositoryManager) {
@@ -143,6 +148,7 @@
      this.log = LoggerFactory.getLogger(getClass());
      this.settings = runtimeManager.getSettings();
      this.runtimeManager = runtimeManager;
      this.pluginManager = pluginManager;
      this.notificationManager = notificationManager;
      this.userManager = userManager;
      this.repositoryManager = repositoryManager;
@@ -832,6 +838,17 @@
      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;
@@ -862,6 +879,17 @@
         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;