/** * Get an issue's comments * * @param repository * @param issueNumber * @return list of comments * @throws IOException */ private List<Comment> getComments(String repoId, String issueNumber) throws IOException { if (issueNumber == null) throw new IllegalArgumentException("Issue number cannot be null"); //$NON-NLS-1$ if (issueNumber.length() == 0) throw new IllegalArgumentException("Issue number cannot be empty"); //$NON-NLS-1$ StringBuilder uri = new StringBuilder(SEGMENT_REPOS); uri.append('/').append(repoId); uri.append(SEGMENT_ISSUES); uri.append('/').append(issueNumber); uri.append(SEGMENT_COMMENTS); PagedRequest<Comment> request = createPagedRequest(); request.setUri(uri); request.setType(new TypeToken<List<Comment>>() { }.getType()); return getAll(request); }
/** * Page issue events for repository * * @param user * @param repository * @param issueId * @param start * @param size * @return iterator over issue event pages */ public PageIterator<IssueEvent> pageIssueEvents(String user, String repository, int issueId, int start, int size) { verifyRepository(user, repository); PagedRequest<IssueEvent> request = createPagedRequest(start, size); StringBuilder uri = new StringBuilder(SEGMENT_REPOS); uri.append('/').append(user).append('/').append(repository); uri.append(SEGMENT_ISSUES); uri.append('/').append(issueId); uri.append(SEGMENT_EVENTS); request.setUri(uri); request.setType(new TypeToken<List<IssueEvent>>() { }.getType()); return createPageIterator(request); }
uri.append('/').append(encodedQuery); PagedRequest<SearchIssue> request = createPagedRequest(); request.setUri(uri); request.setType(IssueContainer.class);
/** * Page events for issue in repository * * @param user * @param repository * @param start * @param size * @return iterator over issue event pages */ public PageIterator<IssueEvent> pageEvents(String user, String repository, int start, int size) { verifyRepository(user, repository); PagedRequest<IssueEvent> request = createPagedRequest(start, size); StringBuilder uri = new StringBuilder(SEGMENT_REPOS); uri.append('/').append(user).append('/').append(repository); uri.append(SEGMENT_ISSUES); uri.append(SEGMENT_EVENTS); request.setUri(uri); request.setType(new TypeToken<List<IssueEvent>>() { }.getType()); return createPageIterator(request); }
/** * Get bulk issues request * * @param repoId * @param filterData * @param start * @param size * @return paged request */ protected PagedRequest<Issue> createIssuesRequest(String repoId, Map<String, String> filterData, int start, int size) { StringBuilder uri = new StringBuilder(SEGMENT_REPOS); uri.append('/').append(repoId); uri.append(SEGMENT_ISSUES); PagedRequest<Issue> request = createPagedRequest(start, size); request.setParams(filterData).setUri(uri); request.setType(new TypeToken<List<Issue>>() { }.getType()); return request; }
/** * Page issues for currently authenticated user * * @param filterData * @param start * @param size * @return iterator over pages of issues */ public PageIterator<RepositoryIssue> pageIssues( Map<String, String> filterData, int start, int size) { PagedRequest<RepositoryIssue> request = createPagedRequest(start, size); request.setParams(filterData); request.setUri(SEGMENT_ISSUES); request.setType(new TypeToken<List<RepositoryIssue>>() { }.getType()); return createPageIterator(request); }