X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=dashboard%2Fwebapp-backend%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fric%2Fportal%2Fdashboard%2Fpolicyagentapi%2FPolicyAgentApiImpl.java;h=c0dde9bd1202ceff8ad96a9e5b56902a368a4285;hb=f26d17f375a8ab4d521549543d4fcc36bdc98865;hp=c661e6616ad5456d50f6897e816d0a0561e091b6;hpb=cc53bb179ee61d77290c3831fc75dc5f3e972aac;p=nonrtric.git diff --git a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/policyagentapi/PolicyAgentApiImpl.java b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/policyagentapi/PolicyAgentApiImpl.java index c661e661..c0dde9bd 100644 --- a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/policyagentapi/PolicyAgentApiImpl.java +++ b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/policyagentapi/PolicyAgentApiImpl.java @@ -43,7 +43,10 @@ import org.oransc.ric.portal.dashboard.model.PolicyTypes; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; @@ -82,15 +85,16 @@ public class PolicyAgentApiImpl implements PolicyAgentApi { @Override public ResponseEntity getAllPolicyTypes() { - String url = baseUrl() + "/policy_schemas"; - ResponseEntity rsp = this.restTemplate.getForEntity(url, String.class); - if (!rsp.getStatusCode().is2xxSuccessful()) { - return rsp; - } - - PolicyTypes result = new PolicyTypes(); - JsonParser jsonParser = new JsonParser(); try { + String url = baseUrl() + "/policy_schemas"; + ResponseEntity 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(); @@ -146,8 +150,8 @@ public class PolicyAgentApiImpl implements PolicyAgentApi { "service", "dashboard"); try { - this.restTemplate.put(url, json, uriVariables); - return new ResponseEntity<>("Policy was put successfully", HttpStatus.OK); + this.restTemplate.put(url, createJsonHttpEntity(json), uriVariables); + return new ResponseEntity<>(HttpStatus.OK); } catch (Exception e) { return new ResponseEntity<>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR); } @@ -159,7 +163,7 @@ public class PolicyAgentApiImpl implements PolicyAgentApi { Map uriVariables = Map.of("instance", policyInstanceId); try { this.restTemplate.delete(url, uriVariables); - return new ResponseEntity<>("Policy was deleted successfully", HttpStatus.NO_CONTENT); + return new ResponseEntity<>(HttpStatus.OK); } catch (Exception e) { return new ResponseEntity<>(e.getMessage(), HttpStatus.NOT_FOUND); } @@ -195,4 +199,10 @@ public class PolicyAgentApiImpl implements PolicyAgentApi { } } + private HttpEntity createJsonHttpEntity(String content) { + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + return new HttpEntity(content, headers); + } + }