X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ECOMP-PDP-REST%2Fsrc%2Fmain%2Fjava%2Forg%2Fopenecomp%2Fpolicy%2Fpdp%2Frest%2Fapi%2Fservices%2FClosedLoopPMPolicyService.java;h=3fb8f461c8d25cc30f51a58dbd41981ad6a00dff;hb=4ca818fdfb9b807562166800a086b413593d6894;hp=15a2c3abc8a7786eb42e0013c19c443f724db8bf;hpb=e0addf5b588a1244f9679becd90999dfcb4c3a94;p=policy%2Fengine.git diff --git a/ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/api/services/ClosedLoopPMPolicyService.java b/ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/api/services/ClosedLoopPMPolicyService.java index 15a2c3abc..3fb8f461c 100644 --- a/ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/api/services/ClosedLoopPMPolicyService.java +++ b/ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/api/services/ClosedLoopPMPolicyService.java @@ -36,9 +36,9 @@ import org.openecomp.policy.xacml.std.pap.StdPAPPolicy; * @version 0.1 */ public class ClosedLoopPMPolicyService{ - private static Logger LOGGER = FlexLogger.getLogger(ClosedLoopPMPolicyService.class.getName()); - private static PAPServices papServices = null; + private static final Logger LOGGER = FlexLogger.getLogger(ClosedLoopPMPolicyService.class.getName()); + private PAPServices papServices = null; private PolicyParameters policyParameters = null; private String message = null; private String policyName = null; @@ -68,6 +68,7 @@ public class ClosedLoopPMPolicyService{ configBody = PolicyApiUtils.stringToJsonObject(policyParameters.getConfigBody()); } catch(JsonException| IllegalStateException e){ message = XACMLErrorConstants.ERROR_DATA_ISSUE+ " improper JSON object : " + policyParameters.getConfigBody(); + LOGGER.error("Error during parsing JSON config body for Closed loop PM policy " , e); return false; } return true; @@ -85,21 +86,31 @@ public class ClosedLoopPMPolicyService{ } else { operation = "create"; } - boolean levelCheck = PolicyApiUtils.isNumeric(policyParameters.getRiskLevel()); // get values and attributes from the JsonObject - String ecompName = configBody.get("ecompname").toString().replace("\"", ""); - String serviceType = configBody.get("serviceTypePolicyName").toString().replace("\"", ""); - String jsonBody = configBody.toString(); - if (ecompName==null||ecompName.equals("")){ + if(!configBody.containsKey("ecompname")){ message = XACMLErrorConstants.ERROR_DATA_ISSUE + "No Ecomp Name given."; LOGGER.error(message); return message; } + if(!configBody.containsKey("serviceTypePolicyName")){ + message = XACMLErrorConstants.ERROR_DATA_ISSUE + "No Service Type Policy Name given."; + LOGGER.error(message); + return message; + } + String ecompName = configBody.get("ecompname").toString().trim().replace("\"", ""); + if (ecompName==null||ecompName.trim().isEmpty()){ + message = XACMLErrorConstants.ERROR_DATA_ISSUE + "No Ecomp Name given."; + LOGGER.error(message); + return message; + } + boolean levelCheck = PolicyApiUtils.isNumeric(policyParameters.getRiskLevel()); if (!levelCheck){ message = XACMLErrorConstants.ERROR_DATA_ISSUE + "Incorrect Risk Level given."; LOGGER.error(message); return message; } + String jsonBody = configBody.toString(); + String serviceType = configBody.get("serviceTypePolicyName").toString().replace("\"", ""); // Create Policy. StdPAPPolicy newPAPPolicy = new StdPAPPolicy("ClosedLoop_PM", policyName, policyParameters.getPolicyDescription(), ecompName, jsonBody, false, null, serviceType, updateFlag, policyScope, 0, policyParameters.getRiskLevel(),