diff options
author | sourabh_sourabh <sourabh.sourabh@est.tech> | 2024-08-30 13:17:57 +0100 |
---|---|---|
committer | sourabh_sourabh <sourabh.sourabh@est.tech> | 2024-09-02 11:54:46 +0100 |
commit | 5ec7bcc6b8104c64c3b044c765ec41159208f956 (patch) | |
tree | 049e1f050e9f355c2bf49707cbabd792dfa98328 /cps-ncmp-service/src/main | |
parent | 29aefda31575e17ef5d8584f7b3a92b882995a15 (diff) |
Policy Executor: pass Change request as Object
- Added unit test for new exception handling
Issue-ID: CPS-2335
Change-Id: I5517c91edf505932d0a94165c19420922b3f5f51
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
Diffstat (limited to 'cps-ncmp-service/src/main')
-rw-r--r-- | cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/data/policyexecutor/PolicyExecutor.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/data/policyexecutor/PolicyExecutor.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/data/policyexecutor/PolicyExecutor.java index 89b48f3755..b3aa848394 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/data/policyexecutor/PolicyExecutor.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/data/policyexecutor/PolicyExecutor.java @@ -20,7 +20,9 @@ package org.onap.cps.ncmp.impl.data.policyexecutor; +import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -28,6 +30,7 @@ import java.util.Map; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.onap.cps.ncmp.api.data.models.OperationType; +import org.onap.cps.ncmp.api.exceptions.NcmpException; import org.onap.cps.ncmp.api.exceptions.PolicyExecutorException; import org.onap.cps.ncmp.api.exceptions.ServerNcmpException; import org.onap.cps.ncmp.impl.inventory.models.YangModelCmHandle; @@ -58,6 +61,8 @@ public class PolicyExecutor { @Qualifier("policyExecutorWebClient") private final WebClient policyExecutorWebClient; + private final ObjectMapper objectMapper; + /** * Use the Policy Executor to check permission for a cm write operation. * Wil throw an exception when the operation is not permitted (work in progress) @@ -108,7 +113,13 @@ public class PolicyExecutor { data.put("resourceIdentifier", resourceIdentifier); data.put("targetIdentifier", yangModelCmHandle.getAlternateId()); if (!OperationType.DELETE.equals(operationType)) { - data.put("cmChangeRequest", changeRequestAsJson); + try { + final Object changeRequestAsObject = objectMapper.readValue(changeRequestAsJson, Object.class); + data.put("cmChangeRequest", changeRequestAsObject); + } catch (final JsonProcessingException e) { + throw new NcmpException("Cannot convert Change Request data to Object", + "Invalid Json: " + changeRequestAsJson); + } } final Map<String, Object> request = new HashMap<>(2); |