X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ONAP-PDP-REST%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fpdp%2Frest%2Fapi%2Fservices%2FPDPServices.java;h=936e497f435b21e22108bb2d1883b7e81d9f6d18;hb=8cf5ed300190ab386d95758e6d4be6c38e67123d;hp=af7112ebd96616b51213afa13d805009686a28fb;hpb=eef3c224cb6cad4b82a96938ade1e42ca881eea2;p=policy%2Fengine.git diff --git a/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/services/PDPServices.java b/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/services/PDPServices.java index af7112ebd..936e497f4 100644 --- a/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/services/PDPServices.java +++ b/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/services/PDPServices.java @@ -3,6 +3,7 @@ * ONAP-PDP-REST * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Modified Copyright (C) 2018 Samsung Electronics Co., Ltd. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -88,9 +89,9 @@ public class PDPServices { try { Request request = JSONRequest.load(jsonString); // Assign a rainy day treatment request to parse the decided treatment - if (jsonString.contains("BB_ID")) { - rainydayRequest = request; - } + if (jsonString.contains("BB_ID")) { + rainydayRequest = request; + } // Call the PDP LOGGER.info("--- Generating Request: ---\n" + JSONRequest.toString(request)); response = callPDP(request, requestID); @@ -128,16 +129,16 @@ public class PDPServices { LOGGER.info("Decision not a Permit. " + result.getDecision().toString()); PDPResponse pdpResponse = new PDPResponse(); if (decide) { - String indeterminatePropValue = XACMLProperties.getProperty("decision.indeterminate.response"); - if(result.getDecision().equals(Decision.INDETERMINATE)&& indeterminatePropValue != null){ - if("PERMIT".equalsIgnoreCase(indeterminatePropValue)){ - pdpResponse.setDecision(PolicyDecision.PERMIT); - }else{ - pdpResponse.setDecision(PolicyDecision.DENY); - } - }else{ - pdpResponse.setDecision(PolicyDecision.DENY); - } + String indeterminatePropValue = XACMLProperties.getProperty("decision.indeterminate.response"); + if(result.getDecision().equals(Decision.INDETERMINATE)&& indeterminatePropValue != null){ + if("PERMIT".equalsIgnoreCase(indeterminatePropValue)){ + pdpResponse.setDecision(PolicyDecision.PERMIT); + }else{ + pdpResponse.setDecision(PolicyDecision.DENY); + } + }else{ + pdpResponse.setDecision(PolicyDecision.DENY); + } for(Advice advice: result.getAssociatedAdvice()){ for(AttributeAssignment attribute: advice.getAttributeAssignments()){ pdpResponse.setDetails(attribute.getAttributeValue().getValue().toString()); @@ -156,12 +157,12 @@ public class PDPServices { PDPResponse pdpResponse = new PDPResponse(); pdpResponse.setDecision(PolicyDecision.PERMIT); - //if this is a Rainy Day treatment decision we need to get the selected treatment - if(rainydayRequest!=null){ - pdpResponse.setDetails(getRainyDayTreatment(result)); - } else { + //if this is a Rainy Day treatment decision we need to get the selected treatment + if(rainydayRequest!=null){ + pdpResponse.setDetails(getRainyDayTreatment(result)); + } else { pdpResponse.setDetails("Decision Permit. OK!"); - } + } combinedResult.add(pdpResponse); return combinedResult; } @@ -319,20 +320,20 @@ public class PDPServices { } private String getRainyDayTreatment(Result result) { - String treatment = null; - if (rainydayRequest!=null&& !result.getAssociatedAdvice().isEmpty()) { - // Get the desired treatment for requested errorCode from the Advice - for (Advice advice : result.getAssociatedAdvice()) { - Map adviseAttributes = new HashMap<>(); - for (AttributeAssignment attribute : advice.getAttributeAssignments()) { - adviseAttributes.put(attribute.getAttributeId().stringValue(), attribute.getAttributeValue().getValue().toString()); - if ("treatment".equalsIgnoreCase(attribute.getAttributeId().stringValue())){ - treatment = attribute.getAttributeValue().getValue().toString(); - } - } - } - } - return treatment; + String treatment = null; + if (rainydayRequest!=null&& !result.getAssociatedAdvice().isEmpty()) { + // Get the desired treatment for requested errorCode from the Advice + for (Advice advice : result.getAssociatedAdvice()) { + Map adviseAttributes = new HashMap<>(); + for (AttributeAssignment attribute : advice.getAttributeAssignments()) { + adviseAttributes.put(attribute.getAttributeId().stringValue(), attribute.getAttributeValue().getValue().toString()); + if ("treatment".equalsIgnoreCase(attribute.getAttributeId().stringValue())){ + treatment = attribute.getAttributeValue().getValue().toString(); + } + } + } + } + return treatment; } private PDPResponse configCall(String pdpConfigLocation) throws PDPException, IOException{ @@ -414,9 +415,9 @@ public class PDPServices { LOGGER.error(XACMLErrorConstants.ERROR_DATA_ISSUE + e); throw new PDPException(XACMLErrorConstants.ERROR_DATA_ISSUE + "Error in ConfigURL", e); }finally{ - if(inputStream != null){ - inputStream.close(); - } + if(inputStream != null){ + inputStream.close(); + } } }