@BodyParser.Of(BodyParser.Json.class) public F.Promise<Result> addPoint() { JsonNode json = request().body().asJson(); play.Logger.debug("AddPoint (Json): " + request().body().asJson().toString()); String name = json.findPath("name").textValue(); double latitude = json.get("location").get("lat").asDouble(); double longitude = json.get("location").get("lon").asDouble(); float rating = json.get("rating").floatValue(); String id_token = json.findPath("access_token").textValue(); String user_name = json.findPath("user_name").textValue(); String user_id = json.findPath("user_id").textValue(); latitude = getSixDecimalFormatNumber(latitude); longitude = getSixDecimalFormatNumber(longitude); ObjectNode newPoint = getNewPointJson(name, "", latitude, longitude); ObjectNode cafeInfo = getCafeInfoJson(rating, user_id, user_name); play.Logger.debug( String.format("\n Json newPoint: %s \n Json CafeInfo: %s", newPoint, cafeInfo)); String id = generateId(name + latitude + longitude); WSRequest requestNewPoint = ws.url(getAddPointUrl(id)).setContentType("application/json"); F.Promise<WSResponse> responsePromise; if (isValidToken(id_token)) { responsePromise = requestNewPoint.post(newPoint); return responsePromise.map( response -> { if (response.getStatus() == Http.Status.CREATED && addCafeInfo(id, cafeInfo)) { return ok(response.asJson()); } else { return badRequest(response.asJson()); } }); } else { responsePromise = null; ObjectNode status = Json.newObject(); status.put("status", "error"); status.put("point", newPoint); status.put("reason", "invalid token"); return responsePromise.map(wsResponse -> unauthorized(status)); } }
public F.Promise<Result> points(String n, String s, String w, String e) { WSRequest request = ws.url(getSearchUrl()); F.Promise<WSResponse> responsePromise = request.post(getRequestBody(n, s, w, e)); play.Logger.debug(String.format("N - : %s, E - : %s, W - : %s, E - : %s", n, s, w, e)); return responsePromise.map(response -> ok(getJsonPoints(response.asJson()))); }
public F.Promise<Result> testValidate(String token) { WSRequest request = ws.url(getValidateTokenUrl(token)); F.Promise<WSResponse> responsePromise = request.get(); return responsePromise.map( response -> { play.Logger.debug(response.getBody()); if (response.getStatus() == 200) { return ok(response.getBody()); } else { return unauthorized("fail"); } }); }