Hybris95
2014-04-22 3f5b8f5d9203aa7ffb7fbe9cdbaf9dba3da6cae6
src/main/java/com/gitblit/tickets/ITicketService.java
@@ -651,11 +651,12 @@
    * @param oldName
    * @param newName
    * @param createdBy
    * @param send ticket notifications
    * @param notifyOpenTickets
    * @return true if successful
    * @since 1.6.0
    */
   public synchronized boolean renameMilestone(RepositoryModel repository, String oldName, String newName, String createdBy, boolean notify) {
   public synchronized boolean renameMilestone(RepositoryModel repository, String oldName,
         String newName, String createdBy, boolean notifyOpenTickets) {
      if (StringUtils.isEmpty(newName)) {
         throw new IllegalArgumentException("new milestone can not be empty!");
      }
@@ -680,11 +681,11 @@
            Change change = new Change(createdBy);
            change.setField(Field.milestone, newName);
            TicketModel ticket = updateTicket(repository, qr.number, change);
            if (notify && ticket.isOpen()) {
            if (notifyOpenTickets && ticket.isOpen()) {
               notifier.queueMailing(ticket);
            }
         }
         if (notify) {
         if (notifyOpenTickets) {
            notifier.sendAll();
         }
@@ -709,6 +710,21 @@
    * @since 1.4.0
    */
   public synchronized boolean deleteMilestone(RepositoryModel repository, String milestone, String createdBy) {
      return deleteMilestone(repository, milestone, createdBy, true);
   }
   /**
    * Deletes a milestone.
    *
    * @param repository
    * @param milestone
    * @param createdBy
    * @param notifyOpenTickets
    * @return true if successful
    * @since 1.6.0
    */
   public synchronized boolean deleteMilestone(RepositoryModel repository, String milestone,
         String createdBy, boolean notifyOpenTickets) {
      if (StringUtils.isEmpty(milestone)) {
         throw new IllegalArgumentException("milestone can not be empty!");
      }
@@ -722,13 +738,17 @@
         milestonesCache.remove(repository.name);
         TicketNotifier notifier = createNotifier();
         for (QueryResult qr : tm.tickets) {
            if (qr.isOpen()) {
               // reset the milestone only for open tickets
               Change change = new Change(createdBy);
               change.setField(Field.milestone, "");
               TicketModel ticket = updateTicket(repository, qr.number, change);
            Change change = new Change(createdBy);
            change.setField(Field.milestone, "");
            TicketModel ticket = updateTicket(repository, qr.number, change);
            if (notifyOpenTickets && ticket.isOpen()) {
               notifier.queueMailing(ticket);
            }
         }
         if (notifyOpenTickets) {
            notifier.sendAll();
         }
         return true;
      } catch (IOException e) {
@@ -759,12 +779,21 @@
    * @since 1.4.0
    */
   public abstract boolean hasTicket(RepositoryModel repository, long ticketId);
   /**
    * Returns all tickets.  This is not a Lucene search!
    *
    * @return all tickets
    */
   public List<TicketModel> getTickets() {
      return getTickets(null, null);
   }
   /**
    * Returns all tickets.  This is not a Lucene search!
    *
    * @param repository
    * @return all tickets
    * @return all tickets of a given repository
    * @since 1.4.0
    */
   public List<TicketModel> getTickets(RepositoryModel repository) {