| | |
| | | import com.gitblit.IStoredSettings; |
| | | import com.gitblit.Keys; |
| | | import com.gitblit.extensions.TicketHook; |
| | | import com.gitblit.manager.IManager; |
| | | import com.gitblit.manager.INotificationManager; |
| | | import com.gitblit.manager.IPluginManager; |
| | | import com.gitblit.manager.IRepositoryManager; |
| | |
| | | import com.gitblit.models.TicketModel.Change; |
| | | import com.gitblit.models.TicketModel.Field; |
| | | import com.gitblit.models.TicketModel.Patchset; |
| | | import com.gitblit.models.TicketModel.PatchsetType; |
| | | import com.gitblit.models.TicketModel.Status; |
| | | import com.gitblit.tickets.TicketIndexer.Lucene; |
| | | import com.gitblit.utils.DeepCopier; |
| | |
| | | * @author James Moger |
| | | * |
| | | */ |
| | | public abstract class ITicketService { |
| | | public abstract class ITicketService implements IManager { |
| | | |
| | | public static final String SETTING_UPDATE_DIFFSTATS = "migration.updateDiffstats"; |
| | | |
| | |
| | | * Start the service. |
| | | * @since 1.4.0 |
| | | */ |
| | | @Override |
| | | public abstract ITicketService start(); |
| | | |
| | | /** |
| | | * Stop the service. |
| | | * @since 1.4.0 |
| | | */ |
| | | @Override |
| | | public final ITicketService stop() { |
| | | indexer.close(); |
| | | ticketsCache.invalidateAll(); |
| | |
| | | TicketModel revisedTicket = updateTicket(repository, ticket.number, deletion); |
| | | return revisedTicket; |
| | | } |
| | | |
| | | /** |
| | | * Deletes a patchset from a ticket. |
| | | * |
| | | * @param ticket |
| | | * @param patchset |
| | | * the patchset to delete (should be the highest revision) |
| | | * @param userName |
| | | * the user deleting the commit |
| | | * @return the revised ticket if the deletion was successful |
| | | * @since 1.8.0 |
| | | */ |
| | | public final TicketModel deletePatchset(TicketModel ticket, Patchset patchset, String userName) { |
| | | Change deletion = new Change(userName); |
| | | deletion.patchset = new Patchset(); |
| | | deletion.patchset.number = patchset.number; |
| | | deletion.patchset.rev = patchset.rev; |
| | | deletion.patchset.type = PatchsetType.Delete; |
| | | |
| | | RepositoryModel repository = repositoryManager.getRepositoryModel(ticket.repository); |
| | | TicketModel revisedTicket = updateTicket(repository, ticket.number, deletion); |
| | | |
| | | return revisedTicket; |
| | | } |
| | | |
| | | /** |
| | | * Commit a ticket change to the repository. |