X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ONAP-REST%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Frest%2Futil%2FPolicyValidationRequestWrapper.java;h=ac97fb0eeef4e6b7ffbe7eb0af426e5ac36f3990;hb=401b48bc573561f097960a9ca7abe6d788456f28;hp=07246229768a343e99dc12571fae5b25f9db08e3;hpb=b3828de54af94f66e3a6e22bcaeb3372d14eab34;p=policy%2Fengine.git diff --git a/ONAP-REST/src/main/java/org/onap/policy/rest/util/PolicyValidationRequestWrapper.java b/ONAP-REST/src/main/java/org/onap/policy/rest/util/PolicyValidationRequestWrapper.java index 072462297..ac97fb0ee 100644 --- a/ONAP-REST/src/main/java/org/onap/policy/rest/util/PolicyValidationRequestWrapper.java +++ b/ONAP-REST/src/main/java/org/onap/policy/rest/util/PolicyValidationRequestWrapper.java @@ -62,17 +62,15 @@ public class PolicyValidationRequestWrapper { JsonNode root = mapper.readTree(request.getReader()); policyData = mapper.readValue(root.get("policyData").toString(), PolicyRestAdapter.class); - JsonObject json = null; - if(root != null){ - json = stringToJsonObject(root.toString()); - - if(json != null){ - if(json.containsKey("policyJSON")){ - policyData.setPolicyJSON(root.get("policyJSON")); - }else{ - String jsonBodyData = json.getJsonObject("policyData").get("jsonBodyData").toString(); - policyData.setJsonBody(jsonBodyData); - } + JsonObject json; + json = stringToJsonObject(root.toString()); + + if(json != null){ + if(json.containsKey("policyJSON")){ + policyData.setPolicyJSON(root.get("policyJSON")); + }else{ + String jsonBodyData = json.getJsonObject("policyData").get("jsonBodyData").toString(); + policyData.setJsonBody(jsonBodyData); } } @@ -127,13 +125,13 @@ public class PolicyValidationRequestWrapper { // Set Matching attributes in RainyDayParams in adapter RainyDayParams rainyday = new RainyDayParams(); - rainyday.setServiceType(matching.get("ServiceType")); - rainyday.setVnfType(matching.get("VNFType")); - rainyday.setBbid(matching.get("BB_ID")); - rainyday.setWorkstep(matching.get("WorkStep")); - - - + if(matching != null) { + rainyday.setServiceType(matching.get("ServiceType")); + rainyday.setVnfType(matching.get("VNFType")); + rainyday.setBbid(matching.get("BB_ID")); + rainyday.setWorkstep(matching.get("WorkStep")); + } + Map treatments = parameters.getTreatments(); ArrayList treatmentsTableChoices = new ArrayList<>(); @@ -153,44 +151,44 @@ public class PolicyValidationRequestWrapper { // Set Matching attributes in YAMLParams in adapter YAMLParams yamlparams = new YAMLParams(); - yamlparams.setActor(matching.get("actor")); - yamlparams.setRecipe(matching.get("recipe")); - yamlparams.setGuardActiveStart(matching.get("guardActiveStart")); - yamlparams.setGuardActiveEnd(matching.get("guardActiveEnd")); - - if("GUARD_YAML".equals(ruleProvider)){ - yamlparams.setLimit(matching.get("limit")); - yamlparams.setTimeWindow(matching.get("timeWindow")); - yamlparams.setTimeUnits(matching.get("timeUnits")); - }else{ + if (matching != null) { + yamlparams.setActor(matching.get("actor")); + yamlparams.setRecipe(matching.get("recipe")); + yamlparams.setGuardActiveStart(matching.get("guardActiveStart")); + yamlparams.setGuardActiveEnd(matching.get("guardActiveEnd")); - List blackList = new ArrayList<>(); + if("GUARD_YAML".equals(ruleProvider)){ + yamlparams.setLimit(matching.get("limit")); + yamlparams.setTimeWindow(matching.get("timeWindow")); + yamlparams.setTimeUnits(matching.get("timeUnits")); + }else{ + + List blackList = new ArrayList<>(); - if(!Strings.isNullOrEmpty(matching.get("blackList"))){ - String[] blackListArray = matching.get("blackList").split(","); - for(String element : blackListArray){ - blackList.add(element); - } - } - - yamlparams.setBlackList(blackList); + if(!Strings.isNullOrEmpty(matching.get("blackList"))){ + String[] blackListArray = matching.get("blackList").split(","); + for(String element : blackListArray){ + blackList.add(element); + } + } + + yamlparams.setBlackList(blackList); - } - + } + } policyData.setYamlparams(yamlparams); -; } } else if("Action".equals(parameters.getPolicyClass().toString())){ - ArrayList ruleAlgorithmChoices = new ArrayList(); + ArrayList ruleAlgorithmChoices = new ArrayList<>(); List dynamicLabelRuleAlgorithms = parameters.getDynamicRuleAlgorithmLabels(); List dynamicFieldFunctionRuleAlgorithms = parameters.getDynamicRuleAlgorithmFunctions(); List dynamicFieldOneRuleAlgorithms = parameters.getDynamicRuleAlgorithmField1(); List dyrnamicFieldTwoRuleAlgorithms = parameters.getDynamicRuleAlgorithmField2(); - if (dynamicLabelRuleAlgorithms != null && dynamicLabelRuleAlgorithms.size() > 0) { + if (dynamicLabelRuleAlgorithms != null && !dynamicLabelRuleAlgorithms.isEmpty()) { int i = dynamicLabelRuleAlgorithms.size() - 1; for (String labelAttr : dynamicLabelRuleAlgorithms) { @@ -216,15 +214,16 @@ public class PolicyValidationRequestWrapper { policyData.setRuleAlgorithmschoices(ruleAlgorithmChoices); ArrayList attributeList = new ArrayList<>(); - - for (String keyField : matching.keySet()) { - LinkedHashMap attributeMap = new LinkedHashMap<>(); - String key = keyField; - String value = matching.get(keyField); - attributeMap.put("key", key); - attributeMap.put("value", value); - attributeList.add(attributeMap); - } + if (matching != null) { + for (String keyField : matching.keySet()) { + LinkedHashMap attributeMap = new LinkedHashMap<>(); + String key = keyField; + String value = matching.get(keyField); + attributeMap.put("key", key); + attributeMap.put("value", value); + attributeList.add(attributeMap); + } + } policyData.setAttributes(attributeList); policyData.setActionAttributeValue(parameters.getActionAttribute()); @@ -350,14 +349,10 @@ public class PolicyValidationRequestWrapper { } - private JsonObject stringToJsonObject(String value) - throws JsonException, IllegalStateException { - - try{ - JsonReader jsonReader = Json.createReader(new StringReader(value)); - JsonObject object = jsonReader.readObject(); - jsonReader.close(); - return object; + private JsonObject stringToJsonObject(String value) { + + try(JsonReader jsonReader = Json.createReader(new StringReader(value))){ + return jsonReader.readObject(); } catch(JsonException| IllegalStateException e){ LOGGER.info(XACMLErrorConstants.ERROR_DATA_ISSUE+ "Improper JSON format... may or may not cause issues in validating the policy: " + value, e); return null;