@Override protected String parseError(JsonObject json) { return json.getString("error_message"); }
/** * Extract a key value from json object that is string if present. * * @param json JsonObject to read key from * @param key key of the value we want to read * @return String value if present * @throws JwtException in case the key is of invalid content */ public static Optional<String> getString(JsonObject json, String key) throws JwtException { return Optional.ofNullable(json.getString(key, null)); }
private String getConferenceName() { LOGGER.debug("Sending a request to: {}", conferenceBaseUrl); JsonObject conferenceObject = readJson(conferenceBaseUrl, JsonReader::readObject); return conferenceObject.getString("eventCode"); }
private Set<String> extractThemeTrackSet(JsonObject talkObject, String code, String title) { Set<String> themeTrackSet = new HashSet<>(Arrays.asList(talkObject.getJsonObject("track").getString("id"))); if (!trackIdSet.containsAll(themeTrackSet)) { throw new IllegalStateException("The talk (" + title + ") with id (" + code + ") contains trackId + (" + trackIdSet + ") that doesn't exist in the trackIdSet."); } return themeTrackSet; }
private Set<String> extractContentTagSet(JsonObject talkObject) { if (talkObject.containsKey("tags")) { return talkObject.getJsonArray("tags").stream() .map(JsonObject.class::cast) .filter(tagObject -> !tagObject.getString("value").isEmpty()) .map(tagObject -> tagObject.getString("value")) .collect(Collectors.toSet()); } return new HashSet<>(); }
private boolean hasValidIssuer(JsonObject claims) throws RealmUnavailableException { if (this.issuers.isEmpty()) return true; String issuer = claims.getString("iss", null); if (issuer == null) { log.debug("Token does not contain an issuer claim"); return false; } boolean valid = this.issuers.contains(issuer); if (!valid) { log.debugf("Issuer check failed. Provided [%s] but was expected [%s].", issuer, this.issuers); } return valid; }
private JsonValue getValue(JsonObject operation) { JsonValue value = operation.get("value"); if (value == null) { missingMember(operation.getString("op"), "value"); } return value; }
private void scheduleTalk(JsonObject timeslotObject, Room room, Timeslot timeslot) { Talk talk = talkCodeToTalkMap.get(timeslotObject.getJsonObject("talk").getString("id")); if (talk == null) { throw new IllegalStateException("The timeslot (" + timeslotObject.getString("slotId") + ") has a talk (" + timeslotObject.getJsonObject("talk").getString("id") + ") that does not exist in the talk list"); } if (talk.isPinnedByUser()) { throw new IllegalStateException("The timeslot (" + timeslotObject.getString("slotId") + ") has a talk (" + timeslotObject.getJsonObject("talk").getString("id") + ") that is already pinned by user at another timeslot (" + talk.getTimeslot().toString() + ")."); } talk.setRoom(room); talk.setTimeslot(timeslot); talk.setPinnedByUser(true); }
private JsonObject pollResourceUntilFinalized(AcmeAccount account, boolean staging, String resourceUrl) throws AcmeException { boolean statusFinalized; JsonObject jsonResponse; do { statusFinalized = true; HttpURLConnection connection = sendPostAsGetRequest(account, staging, resourceUrl, JSON_CONTENT_TYPE, HttpURLConnection.HTTP_OK); jsonResponse = getJsonResponse(connection); String status = jsonResponse.getString(STATUS); if (! status.equals(VALID) && ! status.equals(INVALID)) { // server still processing the client response, try again after some time statusFinalized = false; long retryAfterMilli = getRetryAfter(connection, true); if (retryAfterMilli > 0) { try { Thread.sleep(retryAfterMilli); } catch (InterruptedException e) { Thread.currentThread().interrupt(); throw new RuntimeException(e); } } } } while (! statusFinalized); return jsonResponse; }
private AcmeChallenge respondToChallenges(AcmeAccount account, boolean staging, JsonObject authorization) throws AcmeException { List<AcmeChallenge> challenges = null; if (authorization.getString(STATUS).equals(PENDING)) { JsonObject identifier = authorization.getJsonObject(IDENTIFIER); JsonArray challengeArray = authorization.getJsonArray(CHALLENGES); challenges = new ArrayList<>(challengeArray.size()); for (JsonObject challenge : challengeArray.getValuesAs(JsonObject.class)) { challenges.add(new AcmeChallenge(AcmeChallenge.Type.forName(challenge.getString(TYPE)), challenge.getString(URL), challenge.getString(TOKEN), identifier.getString(TYPE), identifier.getString(VALUE))); } } if (challenges != null && ! challenges.isEmpty()) { AcmeChallenge selectedChallenge = proveIdentifierControl(account, challenges); try { sendPostRequestWithRetries(account, staging, selectedChallenge.getUrl(), false, getEncodedJson(EMPTY_PAYLOAD), HttpURLConnection.HTTP_OK); return selectedChallenge; } catch (AcmeException e) { cleanupAfterChallenge(account, selectedChallenge); throw e; } } return null; }
private void importTrackIdSet() { this.trackIdSet = new HashSet<>(); String tracksUrl = conferenceBaseUrl + "/tracks"; LOGGER.debug("Sending a request to: {}", tracksUrl); JsonObject rootObject = readJson(tracksUrl, JsonReader::readObject); JsonArray tracksArray = rootObject.getJsonArray("tracks"); for (int i = 0; i < tracksArray.size(); i++) { trackIdSet.add(tracksArray.getJsonObject(i).getString("id")); } }
private List<Speaker> extractSpeakerList(JsonObject talkObject, String code, String title) { List<Speaker> speakerList = new ArrayList<>(); String mainSpeakerName = talkObject.getString("mainSpeaker"); if (Arrays.asList(IGNORED_SPEAKER_NAMES).contains(mainSpeakerName)) { return speakerList; } speakerList.add(getSpeakerOrCreateOneIfNull(code, title, mainSpeakerName)); if (talkObject.containsKey("secondarySpeaker")) { String secondarySpeakerName = talkObject.getString("secondarySpeaker"); speakerList.add(getSpeakerOrCreateOneIfNull(code, title, secondarySpeakerName)); } if (talkObject.containsKey("otherSpeakers")) { JsonArray otherSpeakersArray = talkObject.getJsonArray("otherSpeakers"); for (JsonValue otherSpeakerName : otherSpeakersArray) { speakerList.add(getSpeakerOrCreateOneIfNull(code, title, otherSpeakerName.toString().replaceAll("\"", ""))); } } return speakerList; }
@Override public Address parseAddress(JsonObject json) { Address address = new Address(); JsonObject result = json.getJsonArray("result").getJsonObject(0); if (result.containsKey("streetName")) { address.setStreet(result.getString("streetName")); } if (result.containsKey("city")) { address.setSettlement(result.getString("city")); } if (result.containsKey("state")) { address.setState(result.getString("state")); } if (result.containsKey("countryCode")) { address.setCountry(result.getString("countryCode")); } if (result.containsKey("formatedFull")) { address.setFormattedAddress(result.getString("formatedFull")); } return address; }
@Override public void completed(JsonObject json) { if (json.getString("status").equals("error")) { callback.onFailure(new GeolocationException(json.getString("message"))); } else { callback.onSuccess( json.getJsonNumber("lat").doubleValue(), json.getJsonNumber("lon").doubleValue(), json.getJsonNumber("accuracy").doubleValue()); } }
private JsonPointer getPointer(JsonObject operation, String member) { JsonString pointerString = operation.getJsonString(member); if (pointerString == null) { missingMember(operation.getString("op"), member); } return Json.createPointer(pointerString.getString()); }
String queryAccountStatus(AcmeAccount account, boolean staging) throws AcmeException { Assert.checkNotNullParam("account", account); HttpURLConnection connection = sendPostAsGetRequest(account, staging, getAccountUrl(account, staging), null, HttpURLConnection.HTTP_OK); JsonObject jsonResponse = getJsonResponse(connection); return jsonResponse.getString(STATUS); }
public static AddressSettingsInfo from(final String jsonString) { JsonObject object = JsonUtil.readJsonObject(jsonString); return new AddressSettingsInfo(object.getString("addressFullMessagePolicy"), object.getJsonNumber("maxSizeBytes").longValue(), object.getInt("pageSizeBytes"), object.getInt("pageCacheMaxSize"), object.getInt("maxDeliveryAttempts"), object.getJsonNumber("redeliveryDelay").longValue(), object.getJsonNumber("redeliveryMultiplier").doubleValue(), object.getJsonNumber("maxRedeliveryDelay").longValue(), object.getString("DLA"), object.getString("expiryAddress"), object.getBoolean("lastValueQueue"), object.getJsonNumber("redistributionDelay").longValue(), object.getBoolean("sendToDLAOnNoRoute"), object.getJsonNumber("slowConsumerThreshold").longValue(), object.getJsonNumber("slowConsumerCheckPeriod").longValue(), object.getString("slowConsumerPolicy"), object.getBoolean("autoCreateJmsQueues"), object.getBoolean("autoCreateJmsTopics"), object.getBoolean("autoDeleteJmsQueues"), object.getBoolean("autoDeleteJmsTopics")); }
/** * Returns an array of RoleInfo corresponding to the JSON serialization returned * by {@link QueueControl#listMessageCounterHistory()}. */ public static DayCounterInfo[] fromJSON(final String jsonString) { JsonObject json = JsonUtil.readJsonObject(jsonString); JsonArray dayCounters = json.getJsonArray("dayCounters"); DayCounterInfo[] infos = new DayCounterInfo[dayCounters.size()]; for (int i = 0; i < dayCounters.size(); i++) { JsonObject counter = (JsonObject) dayCounters.get(i); JsonArray hour = counter.getJsonArray("counters"); long[] hourCounters = new long[24]; for (int j = 0; j < 24; j++) { hourCounters[j] = hour.getInt(j); } DayCounterInfo info = new DayCounterInfo(counter.getString("date"), hourCounters); infos[i] = info; } return infos; }
@Override public void completed(JsonObject json) { if (json.containsKey("error")) { callback.onFailure(new GeolocationException(json.getJsonObject("error").getString("message"))); } else { JsonObject location = json.getJsonObject("location"); callback.onSuccess( location.getJsonNumber("lat").doubleValue(), location.getJsonNumber("lng").doubleValue(), json.getJsonNumber("accuracy").doubleValue()); } }
/** * Returns an array of RoleInfo corresponding to the JSON serialization returned * by {@link AddressControl#getRolesAsJSON()}. */ public static RoleInfo[] from(final String jsonString) throws Exception { JsonArray array = JsonUtil.readJsonArray(jsonString); RoleInfo[] roles = new RoleInfo[array.size()]; for (int i = 0; i < array.size(); i++) { JsonObject r = array.getJsonObject(i); RoleInfo role = new RoleInfo(r.getString("name"), r.getBoolean("send"), r.getBoolean("consume"), r.getBoolean("createDurableQueue"), r.getBoolean("deleteDurableQueue"), r.getBoolean("createNonDurableQueue"), r.getBoolean("deleteNonDurableQueue"), r.getBoolean("manage"), r.getBoolean("browse"), r.getBoolean("createAddress")); roles[i] = role; } return roles; }