- public PolicyTypes getAllPolicyTypes() throws RestClientException {
- String url = baseUrl() + "/policy_schemas";
- String rsp = this.restTemplate.getForObject(url, String.class);
-
- PolicyTypes result = new PolicyTypes();
- JsonParser jsonParser = new JsonParser();
- JsonArray schemas = jsonParser.parse(rsp).getAsJsonArray();
- for (JsonElement schema : schemas) {
- JsonObject schemaObj = schema.getAsJsonObject();
- String title = schemaObj.get("title").getAsString();
- String schemaAsStr = schemaObj.toString();
- PolicyType pt = new PolicyType(title, schemaAsStr);
- result.add(pt);
+ public ResponseEntity<String> getAllPolicyTypes() {
+ try {
+ String url = baseUrl() + "/policy_schemas";
+ ResponseEntity<String> rsp = this.restTemplate.getForEntity(url, String.class);
+ if (!rsp.getStatusCode().is2xxSuccessful()) {
+ return rsp;
+ }
+
+ PolicyTypes result = new PolicyTypes();
+ JsonParser jsonParser = new JsonParser();
+
+ JsonArray schemas = jsonParser.parse(rsp.getBody()).getAsJsonArray();
+ for (JsonElement schema : schemas) {
+ JsonObject schemaObj = schema.getAsJsonObject();
+ String title = schemaObj.get("title").getAsString();
+ String schemaAsStr = schemaObj.toString();
+ PolicyType pt = new PolicyType(title, schemaAsStr);
+ result.add(pt);
+ }
+ return new ResponseEntity<>(gson.toJson(result), rsp.getStatusCode());
+ } catch (Exception e) {
+ return new ResponseEntity<>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);