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=470e2df17e0abf2a71286c48b3e3323a9650bcca;hb=7c297ddb425a52dae965adc6a83629a14421ea05;hp=19865e18b3b5a40e6922a4091e6303d9d8412dd3;hpb=ebfa288c54e3de9ffb6e170b599e23ab0dbe479c;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 19865e18..470e2df1 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(); @@ -129,15 +133,15 @@ public class PolicyAgentApiImpl implements PolicyAgentApi { } @Override - public ResponseEntity getPolicyInstance(String id) { + public ResponseEntity getPolicyInstance(String id) { String url = baseUrl() + "/policy?instance={id}"; Map uriVariables = Map.of("id", id); - return this.restTemplate.getForEntity(url, String.class, uriVariables); + return this.restTemplate.getForEntity(url, Object.class, uriVariables); } @Override - public ResponseEntity putPolicy(String policyTypeIdString, String policyInstanceId, String json, + public ResponseEntity putPolicy(String policyTypeIdString, String policyInstanceId, Object json, String ric) { String url = baseUrl() + "/policy?type={type}&instance={instance}&ric={ric}&service={service}"; Map uriVariables = Map.of( // @@ -147,7 +151,7 @@ public class PolicyAgentApiImpl implements PolicyAgentApi { "service", "dashboard"); try { - this.restTemplate.put(url, json, uriVariables); + this.restTemplate.put(url, createJsonHttpEntity(json), uriVariables); return new ResponseEntity<>(HttpStatus.OK); } catch (Exception e) { return new ResponseEntity<>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR); @@ -170,7 +174,7 @@ public class PolicyAgentApiImpl implements PolicyAgentApi { @Value.Immutable @Gson.TypeAdapters interface RicInfo { - public String name(); + public String ricName(); public Collection nodeNames(); @@ -189,7 +193,7 @@ public class PolicyAgentApiImpl implements PolicyAgentApi { List rspParsed = gson.fromJson(rsp, listType); Collection result = new Vector<>(rspParsed.size()); for (RicInfo ric : rspParsed) { - result.add(ric.name()); + result.add(ric.ricName()); } return new ResponseEntity<>(gson.toJson(result), HttpStatus.OK); } catch (Exception e) { @@ -197,4 +201,10 @@ public class PolicyAgentApiImpl implements PolicyAgentApi { } } + private HttpEntity createJsonHttpEntity(Object content) { + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + return new HttpEntity(content, headers); + } + }