public GistMinerV3(final IGitHubClient ghc) { super(); service = new GistService(ghc); }
/** * Check if a gist is starred * * @param gistId * @return true if starred, false if not starred * @throws IOException */ public boolean isStarred(String gistId) throws IOException { checkGistId(gistId); StringBuilder uri = new StringBuilder(SEGMENT_GISTS); uri.append('/').append(gistId); uri.append(SEGMENT_STAR); return check(uri.toString()); }
/** * Create page iterator for given user's gists * * @param user * @param size * size of page * @param start * starting page * @return gist page iterator */ public PageIterator<Gist> pageGists(final String user, final int start, final int size) { PagedRequest<Gist> request = createUserGistRequest(user, start, size); return createPageIterator(request); }
/** * Get starred gists for currently authenticated user * * @return list of gists * @throws IOException */ public List<Gist> getStarredGists() throws IOException { return getAll(pageStarredGists()); }
/** * Get comments for specified gist id * * @param gistId * @return list of comments * @throws IOException */ public List<Comment> getComments(String gistId) throws IOException { checkGistId(gistId); StringBuilder uri = new StringBuilder(SEGMENT_GISTS); uri.append('/').append(gistId); uri.append(SEGMENT_COMMENTS); PagedRequest<Comment> request = createPagedRequest(); request.setUri(uri).setType(new TypeToken<List<Comment>>() { }.getType()); return getAll(request); }
/** * Create page iterator for the current user's starred gists * * @param size * size of page * @param start * starting page * @return gist page iterator */ public PageIterator<Gist> pageStarredGists(final int start, final int size) { PagedRequest<Gist> request = createPagedRequest(start, size); request.setUri(SEGMENT_GISTS + SEGMENT_STARRED); request.setType(new TypeToken<List<Gist>>() { }.getType()); return createPageIterator(request); }
public void executeWorkItem(WorkItem workItem, WorkItemManager workItemManager) { try { RequiredParameterValidator.validate(this.getClass(), workItem); Document content = (Document) workItem.getParameter("Content"); String description = (String) workItem.getParameter("Description"); String isPublicStr = (String) workItem.getParameter("IsPublic"); Map<String, Object> results = new HashMap<String, Object>(); GistService gistService = auth.getGistService(this.userName, this.password); Gist gist = new Gist(); gist.setPublic(Boolean.parseBoolean(isPublicStr)); gist.setDescription(description); GistFile file = new GistFile(); file.setContent(new String(content.getContent(), StandardCharsets.UTF_8)); file.setFilename(content.getName()); gist.setFiles(Collections.singletonMap(file.getFilename(), file)); gist = gistService.createGist(gist); results.put(RESULTS_VALUE, gist.getHtmlUrl()); workItemManager.completeWorkItem(workItem.getId(), results); } catch (Exception e) { handleException(e); } }
/** * Delete the Gist with the given id * * @param gistId * @throws IOException */ public void deleteGist(String gistId) throws IOException { checkGistId(gistId); StringBuilder uri = new StringBuilder(SEGMENT_GISTS); uri.append('/').append(gistId); client.delete(uri.toString()); }
/** * Get gist * * @param id * @return gist * @throws IOException */ public Gist getGist(String id) throws IOException { checkGistId(id); StringBuilder uri = new StringBuilder(SEGMENT_GISTS); uri.append('/').append(id); GitHubRequest request = createRequest(); request.setUri(uri); request.setType(Gist.class); return (Gist) client.get(request).getBody(); }
public List<Gist> getGists(final String user) { List<Gist> gists = null; try { gists = service.getGists(user); } catch (IOException e) { log.error("IOException in getGists: {}", user, e); } catch (NullPointerException npe) { log.error("NullPointerException getting gists: {}", user, npe); } return gists; }
/** * Create user gist paged request * * @param user * @param start * @param size * @return request */ protected PagedRequest<Gist> createUserGistRequest(String user, int start, int size) { if (user == null) throw new IllegalArgumentException("User cannot be null"); //$NON-NLS-1$ if (user.length() == 0) throw new IllegalArgumentException("User cannot be empty"); //$NON-NLS-1$ StringBuilder uri = new StringBuilder(SEGMENT_USERS); uri.append('/').append(user); uri.append(SEGMENT_GISTS); PagedRequest<Gist> request = createPagedRequest(start, size); request.setUri(uri).setType(new TypeToken<List<Gist>>() { }.getType()); return request; }
/** * Get gist comment with id * * @param commentId * @return comment * @throws IOException */ public Comment getComment(long commentId) throws IOException { StringBuilder uri = new StringBuilder(SEGMENT_GISTS + SEGMENT_COMMENTS); uri.append('/').append(commentId); GitHubRequest request = createRequest(); request.setUri(uri); request.setType(Comment.class); return (Comment) client.get(request).getBody(); }
/** * Create page iterator for all public gists * * @param start * starting page number * @param size * size of page * @return gist page iterator */ public PageIterator<Gist> pagePublicGists(final int start, final int size) { PagedRequest<Gist> request = createPagedRequest(start, size); request.setUri(SEGMENT_GISTS + SEGMENT_PUBLIC); request.setType(new TypeToken<List<Gist>>() { }.getType()); return createPageIterator(request); }
when(gistService.createGist(any(Gist.class))).thenReturn(gist); when(gist.getHtmlUrl()).thenReturn("testGistURL");
/** * Star the gist with the given id * * @param gistId * @throws IOException */ public void starGist(String gistId) throws IOException { checkGistId(gistId); StringBuilder uri = new StringBuilder(SEGMENT_GISTS); uri.append('/').append(gistId); uri.append(SEGMENT_STAR); client.put(uri.toString()); }
public GistService getGistService(String username, String password) throws IOException { return new GistService(getGitHubClient(username, password)); }
/** * Fork gist with given id * * @param gistId * @return forked gist * @throws IOException */ public Gist forkGist(String gistId) throws IOException { checkGistId(gistId); StringBuilder uri = new StringBuilder(SEGMENT_GISTS); uri.append('/').append(gistId); uri.append(SEGMENT_FORK); return client.post(uri.toString(), null, Gist.class); } }
/** * Unstar the gist with the given id * * @param gistId * @throws IOException */ public void unstarGist(String gistId) throws IOException { checkGistId(gistId); StringBuilder uri = new StringBuilder(SEGMENT_GISTS); uri.append('/').append(gistId); uri.append(SEGMENT_STAR); client.delete(uri.toString()); }
/** * Create comment on specified gist id * * @param gistId * @param comment * @return created issue * @throws IOException */ public Comment createComment(String gistId, String comment) throws IOException { checkGistId(gistId); if (comment == null) throw new IllegalArgumentException("Gist comment cannot be null"); //$NON-NLS-1$ StringBuilder uri = new StringBuilder(SEGMENT_GISTS); uri.append('/').append(gistId); uri.append(SEGMENT_COMMENTS); Map<String, String> params = Collections.singletonMap( IssueService.FIELD_BODY, comment); return client.post(uri.toString(), params, Comment.class); }