From 3490ef1a69af4bc72be03188fd9961ef2183dc2b Mon Sep 17 00:00:00 2001 From: James Moger Date: Thu, 1 May 2014 15:55:20 -0400 Subject: [PATCH] Reverted changes to ticket services --- .../gitblit/tickets/FileTicketService.java | 116 ++++++++---------- .../com/gitblit/tickets/ITicketService.java | 11 +- 2 files changed, 49 insertions(+), 78 deletions(-) diff --git a/src/main/java/com/gitblit/tickets/FileTicketService.java b/src/main/java/com/gitblit/tickets/FileTicketService.java index ea5d065f..4386020f 100644 --- a/src/main/java/com/gitblit/tickets/FileTicketService.java +++ b/src/main/java/com/gitblit/tickets/FileTicketService.java @@ -207,82 +207,62 @@ public class FileTicketService extends ITicketService { @Override public List getTickets(RepositoryModel repository, TicketFilter filter) { List list = new ArrayList(); - List databases = new ArrayList(); - List models = new ArrayList(); - - if(repository == null) - { - List allRepo = repositoryManager.getRepositoryList(); - for(int i = 0; i < allRepo.size(); i++) - { - databases.add(repositoryManager.getRepository(allRepo.get(i))); - models.add(repositoryManager.getRepositoryModel(allRepo.get(i))); - } - } - else - { - databases.add(repositoryManager.getRepository(repository.name)); - models.add(repository); - } - - for(int i = 0; i < databases.size(); i++) - { - Repository db = databases.get(i); - try { - // Collect the set of all json files - File dir = new File(db.getDirectory(), TICKETS_PATH); - List journals = findAll(dir, JOURNAL); - - // Deserialize each ticket and optionally filter out unwanted tickets - for (File journal : journals) { - String json = null; - try { - json = new String(FileUtils.readContent(journal), Constants.ENCODING); - } catch (Exception e) { - log.error(null, e); - } - if (StringUtils.isEmpty(json)) { - // journal was touched but no changes were written + + Repository db = repositoryManager.getRepository(repository.name); + try { + // Collect the set of all json files + File dir = new File(db.getDirectory(), TICKETS_PATH); + List journals = findAll(dir, JOURNAL); + + // Deserialize each ticket and optionally filter out unwanted tickets + for (File journal : journals) { + String json = null; + try { + json = new String(FileUtils.readContent(journal), Constants.ENCODING); + } catch (Exception e) { + log.error(null, e); + } + if (StringUtils.isEmpty(json)) { + // journal was touched but no changes were written + continue; + } + try { + // Reconstruct ticketId from the path + // id/26/326/journal.json + String path = FileUtils.getRelativePath(dir, journal); + String tid = path.split("/")[1]; + long ticketId = Long.parseLong(tid); + List changes = TicketSerializer.deserializeJournal(json); + if (ArrayUtils.isEmpty(changes)) { + log.warn("Empty journal for {}:{}", repository, journal); continue; } - try { - // Reconstruct ticketId from the path - // id/26/326/journal.json - String path = FileUtils.getRelativePath(dir, journal); - String tid = path.split("/")[1]; - long ticketId = Long.parseLong(tid); - List changes = TicketSerializer.deserializeJournal(json); - if (ArrayUtils.isEmpty(changes)) { - log.warn("Empty journal for {}:{}", models.get(i), journal); - continue; - } - TicketModel ticket = TicketModel.buildTicket(changes); - ticket.project = models.get(i).projectPath; - ticket.repository = models.get(i).name; - ticket.number = ticketId; - - // add the ticket, conditionally, to the list - if (filter == null) { + TicketModel ticket = TicketModel.buildTicket(changes); + ticket.project = repository.projectPath; + ticket.repository = repository.name; + ticket.number = ticketId; + + // add the ticket, conditionally, to the list + if (filter == null) { + list.add(ticket); + } else { + if (filter.accept(ticket)) { list.add(ticket); - } else { - if (filter.accept(ticket)) { - list.add(ticket); - } } - } catch (Exception e) { - log.error("failed to deserialize {}/{}\n{}", - new Object [] { models.get(i), journal, e.getMessage()}); - log.error(null, e); } + } catch (Exception e) { + log.error("failed to deserialize {}/{}\n{}", + new Object [] { repository, journal, e.getMessage()}); + log.error(null, e); } - } finally { - db.close(); } + + // sort the tickets by creation + Collections.sort(list); + return list; + } finally { + db.close(); } - - // sort the tickets by creation - Collections.sort(list); - return list; } private List findAll(File dir, String filename) { diff --git a/src/main/java/com/gitblit/tickets/ITicketService.java b/src/main/java/com/gitblit/tickets/ITicketService.java index e7b4c71d..3261ca96 100644 --- a/src/main/java/com/gitblit/tickets/ITicketService.java +++ b/src/main/java/com/gitblit/tickets/ITicketService.java @@ -779,21 +779,12 @@ public abstract class ITicketService { * @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 getTickets() { - return getTickets(null, null); - } /** * Returns all tickets. This is not a Lucene search! * * @param repository - * @return all tickets of a given repository + * @return all tickets * @since 1.4.0 */ public List getTickets(RepositoryModel repository) { -- 2.39.5