public List execute()

in templates/java/src/main/java/com/facebook/ads/sdk/BatchRequest.java [81:112]


  public List<APIResponse> execute() throws APIException {
    try {
      List<APIResponse> responses = new ArrayList<APIResponse>();
      String batchResponse = executeInternal();
      context.log(batchResponse);
      JsonArray jsonArray = new JsonParser().parse(batchResponse).getAsJsonArray();
      if (jsonArray.size() != requests.size()) {
        throw new APIException.MalformedResponseException("Batch request size is " + requests.size() + ", but response size is " + jsonArray.size());
      }
      for (int i = 0; i< jsonArray.size(); i++) {
        if (jsonArray.get(i).isJsonNull()) {
          responses.add(null);
          continue;
        }
        JsonObject response = jsonArray.get(i).getAsJsonObject();
        if (response == null || response.get("body") == null || response.get("body").isJsonNull()) {
          responses.add(null);
          continue;
        }
        if (response.get("code").getAsInt() == HttpURLConnection.HTTP_OK) {
          String body = response.get("body").getAsString();
          APIRequest request = requests.get(i).request;
          responses.add(request.parseResponse(body, null));
        } else {
          responses.add(new APIException.FailedRequestException(response.toString()));
        }
      }
      return responses;
    } catch (IOException e) {
      throw new APIException.FailedRequestException(e);
    }
  }