Update baseUrl of pms_v2.0
[portal/nonrtric-controlpanel.git] / webapp-backend / src / main / java / org / oransc / portal / nonrtric / controlpanel / policyagentapi / PolicyAgentApiImpl.java
index 56f2c38..ee961ab 100644 (file)
@@ -72,7 +72,7 @@ public class PolicyAgentApiImpl implements PolicyAgentApi {
     @Override
     public ResponseEntity<String> getAllPolicyTypes() {
         try {
-            final String url = "/v2/policy-types";
+            final String url = "/a1-policy/v2/policy-types";
             ResponseEntity<String> rsp = webClient.getForEntity(url).block();
             if (!rsp.getStatusCode().is2xxSuccessful()) {
                 return rsp;
@@ -99,7 +99,7 @@ public class PolicyAgentApiImpl implements PolicyAgentApi {
 
     public JsonObject getIndividualPolicySchema(String id) {
         try {
-            final String url = "/v2/policy-types/" + id;
+            final String url = "/a1-policy/v2/policy-types/" + id;
             ResponseEntity<String> rsp = webClient.getForEntity(url).block();
             if (!rsp.getStatusCode().is2xxSuccessful()) {
                 return null;
@@ -118,7 +118,7 @@ public class PolicyAgentApiImpl implements PolicyAgentApi {
     @Override
     public ResponseEntity<String> getPolicyInstancesForType(String type) {
         try {
-            String url = "/v2/policies?policytype_id=" + type;
+            String url = "/a1-policy/v2/policies?policytype_id=" + type;
             ResponseEntity<String> rsp = webClient.getForEntity(url).block();
             if (!rsp.getStatusCode().is2xxSuccessful()) {
                 return rsp;
@@ -141,9 +141,17 @@ public class PolicyAgentApiImpl implements PolicyAgentApi {
 
     public ResponseEntity<Object> getIndividualPolicyInstance(String id) {
         try {
-            String url = "/v2/policies/" + id;
+            String url = "/a1-policy/v2/policies/" + id;
             ResponseEntity<String> rsp = webClient.getForEntity(url).block();
             JsonObject obj = JsonParser.parseString(rsp.getBody()).getAsJsonObject();
+
+            // lastModified timestamp is fetched from PolicyStatus instead
+            ResponseEntity<String> status = getPolicyStatus(id);
+            String lastModified = JsonParser.parseString(status.getBody()).getAsJsonObject() //
+                .get("last_modified") //
+                .getAsString(); //
+            obj.addProperty("lastModified", lastModified);
+
             PolicyInfo i = gson.fromJson(obj, PolicyInfo.class);
             return new ResponseEntity<>(i, rsp.getStatusCode());
         } catch (Exception e) {
@@ -152,6 +160,17 @@ public class PolicyAgentApiImpl implements PolicyAgentApi {
         }
     }
 
+    public ResponseEntity<String> getPolicyStatus(String id) {
+        try {
+            String url = "/a1-policy/v2/policies/" + id + "/status";
+            ResponseEntity<String> rsp = webClient.getForEntity(url).block();
+            return new ResponseEntity<>(rsp.getBody(), rsp.getStatusCode());
+        } catch (Exception e) {
+            ResponseEntity<String> rsp = ErrorResponseHandler.handleException(e);
+            return new ResponseEntity<>(rsp.getBody(), rsp.getStatusCode());
+        }
+    }
+
     @Override
     public ResponseEntity<Object> getPolicyInstance(String id) {
         ResponseEntity<Object> rsp = getIndividualPolicyInstance(id);
@@ -159,14 +178,10 @@ public class PolicyAgentApiImpl implements PolicyAgentApi {
         return new ResponseEntity<>(i.policyData, rsp.getStatusCode());
     }
 
-    private String getTimeStampUTC() {
-        return java.time.Instant.now().toString();
-    }
-
     @Override
     public ResponseEntity<String> putPolicy(String policyTypeIdString, String policyInstanceId, Object json,
         String ric) {
-        String url = "/v2/policies/";
+        String url = "/a1-policy/v2/policies/";
 
         JsonElement data = JsonParser.parseString(json.toString()).getAsJsonObject();
 
@@ -176,7 +191,6 @@ public class PolicyAgentApiImpl implements PolicyAgentApi {
             .ricId(ric) //
             .policyData(data) //
             .serviceId("controlpanel") //
-            .lastModified(getTimeStampUTC()) //
             .build(); //
 
         try {
@@ -191,7 +205,7 @@ public class PolicyAgentApiImpl implements PolicyAgentApi {
 
     @Override
     public ResponseEntity<String> deletePolicy(String policyInstanceId) {
-        String url = "/v2/policies/" + policyInstanceId;
+        String url = "/a1-policy/v2/policies/" + policyInstanceId;
         try {
             webClient.deleteForEntity(url).block();
             return new ResponseEntity<>(HttpStatus.OK);
@@ -213,7 +227,7 @@ public class PolicyAgentApiImpl implements PolicyAgentApi {
     @Override
     public ResponseEntity<String> getRicsSupportingType(String typeName) {
         try {
-            String url = "/v2/rics?policytype_id=" + typeName;
+            String url = "/a1-policy/v2/rics?policytype_id=" + typeName;
             ResponseEntity<String> rsp = webClient.getForEntity(url).block();
             if (!rsp.getStatusCode().is2xxSuccessful()) {
                 return rsp;