- String url = baseUrl() + "/policies?type={type}";
- Map<String, ?> uriVariables = Map.of("type", type);
- ResponseEntity<String> rsp = this.restTemplate.getForEntity(url, String.class, uriVariables);
- if (!rsp.getStatusCode().is2xxSuccessful()) {
- return rsp;
+ try {
+ String url = "/v2/policies?policytype_id=" + type;
+ ResponseEntity<String> rsp = webClient.getForEntity(url).block();
+ if (!rsp.getStatusCode().is2xxSuccessful()) {
+ return rsp;
+ }
+ JsonArray policyInstances = JsonParser.parseString(rsp.getBody()).getAsJsonObject() //
+ .get("policy_ids") //
+ .getAsJsonArray(); //
+
+ List<Object> res = new ArrayList<>();
+ for (JsonElement p : policyInstances) {
+ ResponseEntity<Object> policyInstance = getIndividualPolicyInstance(p.getAsString());
+ res.add(policyInstance.getBody());
+ }
+
+ return new ResponseEntity<>(gson.toJson(res), rsp.getStatusCode());
+ } catch (Exception e) {
+ return ErrorResponseHandler.handleException(e);