public DefaultImprovement deserialize(JsonObject jsonObject) { final Long id = jsonObject.getLong("id"); final String title = jsonObject.getString("title"); final String url = jsonObject.getString("url"); final Collection<String> labels = jsonObject.getCollection("labels"); final boolean isPullRequest = jsonObject.getBoolean("isPullRequest"); return new DefaultImprovement(id, title, url, labels, isPullRequest); } }
private String getBody(String fileName, String fileContent) { JsonObject files = new JsonObject(); JsonObject singleFile = new JsonObject(); singleFile.put("content", fileContent); files.put(fileName, singleFile); JsonObject body = new JsonObject(); body.put("files", files); body.put("public", "true"); body.put("description", fileName); return body.toJson(); } }
public void postTaskOnComment(String message, Long commentId) { String request = baseUrl + TASKS_API; JsonObject anchor = new JsonObject(); anchor.put("id", commentId); anchor.put("type", "COMMENT"); JsonObject json = new JsonObject(); json.put("anchor", anchor); json.put("text", message); postCreate(request, json, MessageFormat.format(TASK_POST_ERROR_MESSAGE, commentId)); }
public Collection<ReleaseNotesData> deserialize(JsonArray jsonArray) { Collection<ReleaseNotesData> result = new LinkedList<>(); final Iterator<Object> iterator = jsonArray.iterator(); while (iterator.hasNext()) { final JsonObject jsonObject = (JsonObject) iterator.next(); String version = jsonObject.getString("version"); Date date = new Date(jsonObject.getLong("date")); ContributionSet contributionSet = defaultContributionSetSerializer.deserialize((JsonObject) jsonObject.get("contributions")); final Collection<JsonObject> improvementsJsonObjectCollection = jsonObject.getCollection("improvements"); final Iterator<JsonObject> improvementsIterator = improvementsJsonObjectCollection.iterator(); Collection<Improvement> improvements = new LinkedList<>(); while (improvementsIterator.hasNext()) { final JsonObject next = improvementsIterator.next(); improvements.add(defaultImprovementSerializer.deserialize(next)); } String previousVersionTag = jsonObject.getString("previousVersionTag"); String thisVersionTag = jsonObject.getString("thisVersionTag"); final DefaultReleaseNotesData releaseNotesData = new DefaultReleaseNotesData(version, date, contributionSet, improvements, previousVersionTag, thisVersionTag); result.add(releaseNotesData); } return result; } }
/** * Parses GitHub JsonObject in accordance to the API * @param contributor Represent project contribution: https://developer.github.com/v3/repos/#list-contributors and * @param user Represent user: https://developer.github.com/v3/users/#get-a-single-user * @return Contributor object based on project contribution and user */ public static ProjectContributor toContributor(JsonObject contributor, JsonObject user) { String name = user.getString("name"); String login = user.getString("login"); String profileUrl = contributor.getString("html_url"); Integer numberOfContributors = contributor.getInteger("contributions"); return new DefaultProjectContributor(textOrEmpty(name), login, profileUrl, numberOfContributors); }
public static PullRequest toPullRequest(JsonObject pullRequest) { JsonObject head = (JsonObject) pullRequest.get("head"); String url = pullRequest.getString("url"); int prNumber = pullRequest.getInteger("number"); PullRequest openPullRequest = new PullRequest(); openPullRequest.setRef(head.getString("ref")); openPullRequest.setSha(head.getString("sha")); openPullRequest.setNumber(prNumber); openPullRequest.setUrl(url); return openPullRequest; }
private List<SpringBootAutoConfigureOptionModel> parseSpringBootAutoConfigureModels(File file, String include) throws IOException, DeserializationException { getLog().debug("Parsing Spring Boot AutoConfigureModel using include: " + include); List<SpringBootAutoConfigureOptionModel> answer = new ArrayList<>(); JsonObject obj = (JsonObject) Jsoner.deserialize(new FileReader(file)); JsonArray arr = obj.getCollection("properties"); if (arr != null && !arr.isEmpty()) { arr.forEach((e) -> { JsonObject row = (JsonObject) e; String name = row.getString("name"); String javaType = row.getString("type"); String desc = row.getStringOrDefault("description", ""); String defaultValue = row.getStringOrDefault("defaultValue", ""); // skip this special option and also if not matching the filter boolean skip = name.endsWith("customizer.enabled") || include != null && !name.contains("." + include + "."); if (!skip) { SpringBootAutoConfigureOptionModel model = new SpringBootAutoConfigureOptionModel(); model.setName(name); model.setJavaType(javaType); model.setDefaultValue(defaultValue); model.setDescription(desc); answer.add(model); } }); } return answer; }
public GitCommit deserialize(JsonObject jsonObject) { final String commitId = jsonObject.getString("commitId"); final String email = jsonObject.getString("email"); final String author = jsonObject.getString("author"); final String message = jsonObject.getString("message"); return new GitCommit(commitId, email, author, message); } }
private boolean allStatusesPassed(JsonObject status) { if (status.getString("state").equals("success")) { return true; } if (hasErrorStates(status)) { Collection<JsonObject> statuses = status.getCollection("statuses"); JsonObject firstError = findFirstError(statuses); if (firstError != null) { throw new RuntimeException(String.format( "Pull request %s cannot be merged. %s. You can check details here: %s", task.getPullRequestUrl(), firstError.getString("description"), firstError.getString("targetUrl"))); } } return false; }
private boolean isNullOrEmpty(JsonObject status, String key) { return status.getCollection(key) == null || status.getCollection(key).size() == 0; }
private JsonObject getStatusCheck(MergePullRequestTask task, GitHubApi gitHubApi) throws IOException { String relativeUrl = "/repos/" + task.getUpstreamRepositoryName() + "/commits/" + task.getPullRequestSha() + "/status"; LOG.lifecycle("Using {} for status check", relativeUrl); String statusesResponse = gitHubApi.get(relativeUrl); return Jsoner.deserialize(statusesResponse, new JsonObject()); }
private JsonObject performRequest(BoundRequestBuilder requestBuilder, JsonObject body, int expectedStatusCode, String errorMessage) { if (body != null) { requestBuilder.setBody(body.toJson()); } addAuth(requestBuilder); requestBuilder.setFollowRedirect(true); requestBuilder.addHeader("Content-Type", JSON.toString()); requestBuilder.addHeader("Accept", JSON.toString()); requestBuilder.setCharset(StandardCharsets.UTF_8); Request request = requestBuilder.build(); MDC.put(MDC_URL_KEY, request.getUrl()); MDC.put(MDC_METHOD_KEY, request.getMethod()); try { Response response = httpClient.executeRequest(request).get(stashTimeout, TimeUnit.MILLISECONDS); validateResponse(response, expectedStatusCode, errorMessage); return extractResponse(response); } catch (ExecutionException | TimeoutException e) { throw new StashClientException(request.getUrl(), e); } catch (InterruptedException e) { Thread.currentThread().interrupt(); throw new StashClientException(request.getUrl(), e); } finally { MDC.remove(MDC_URL_KEY); MDC.remove(MDC_METHOD_KEY); } }
public Collection<ReleaseNotesData> deserialize(JsonArray jsonArray) { Collection<ReleaseNotesData> result = new LinkedList<ReleaseNotesData>(); final Iterator<Object> iterator = jsonArray.iterator(); while (iterator.hasNext()) { final JsonObject jsonObject = (JsonObject) iterator.next(); String version = jsonObject.getString("version"); Date date = new Date(jsonObject.getLong("date")); ContributionSet contributionSet = defaultContributionSetSerializer.deserialize((JsonObject) jsonObject.get("contributions")); final Collection<JsonObject> improvementsJsonObjectCollection = jsonObject.getCollection("improvements"); final Iterator<JsonObject> improvementsIterator = improvementsJsonObjectCollection.iterator(); Collection<Improvement> improvements = new LinkedList<Improvement>(); while (improvementsIterator.hasNext()) { final JsonObject next = improvementsIterator.next(); improvements.add(defaultImprovementSerializer.deserialize(next)); } String previousVersionTag = jsonObject.getString("previousVersionTag"); String thisVersionTag = jsonObject.getString("thisVersionTag"); final DefaultReleaseNotesData releaseNotesData = new DefaultReleaseNotesData(version, date, contributionSet, improvements, previousVersionTag, thisVersionTag); result.add(releaseNotesData); } return result; } }
/** * Parses GitHub JsonObject in accordance to the API * @param contributor Represent project contribution: https://developer.github.com/v3/repos/#list-contributors and * @param user Represent user: https://developer.github.com/v3/users/#get-a-single-user * @return Contributor object based on project contribution and user */ public static ProjectContributor toContributor(JsonObject contributor, JsonObject user) { String name = user.getString("name"); String login = user.getString("login"); String profileUrl = contributor.getString("html_url"); Integer numberOfContributors = contributor.getInteger("contributions"); return new DefaultProjectContributor(textOrEmpty(name), login, profileUrl, numberOfContributors); }
public static PullRequest toPullRequest(JsonObject pullRequest) { JsonObject head = (JsonObject) pullRequest.get("head"); String url = pullRequest.getString("url"); int prNumber = pullRequest.getInteger("number"); PullRequest openPullRequest = new PullRequest(); openPullRequest.setRef(head.getString("ref")); openPullRequest.setSha(head.getString("sha")); openPullRequest.setNumber(prNumber); openPullRequest.setUrl(url); return openPullRequest; }
public void addPullRequestReviewer(PullRequestRef pr, long pullRequestVersion, List<StashUser> reviewers) { String request = MessageFormat.format(API_ONE_PR, baseUrl, pr.project(), pr.repository(), pr.pullRequestId()); JsonObject json = new JsonObject(); JsonArray jsonReviewers = new JsonArray(); for (StashUser reviewer : reviewers) { JsonObject reviewerName = new JsonObject(); reviewerName.put("name", reviewer.getName()); JsonObject user = new JsonObject(); user.put("user", reviewerName); jsonReviewers.add(user); } json.put("reviewers", jsonReviewers); json.put("id", pr.pullRequestId()); json.put("version", pullRequestVersion); put(request, json, MessageFormat.format(PULL_REQUEST_PUT_ERROR_MESSAGE, pr.repository(), pr.pullRequestId())); }
private boolean allStatusesPassed(JsonObject status) { if (status.getString("state").equals("success")) { return true; } if (hasErrorStates(status)) { Collection<JsonObject> statuses = status.getCollection("statuses"); JsonObject firstError = findFirstError(statuses); if (firstError != null) { throw new RuntimeException(String.format( "Pull request %s cannot be merged. %s. You can check details here: %s", task.getPullRequestUrl(), firstError.getString("description"), firstError.getString("targetUrl"))); } } return false; }
private boolean isNullOrEmpty(JsonObject status, String key) { return status.getCollection(key) == null || status.getCollection(key).size() == 0; }