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%2FGetDecisionService.java;h=1ef5e53cf97daadcae84f58a068fbe90753a6f9b;hb=e92ff832cf993db876f22b2d27562fedf59f5043;hp=f70c3fb9798f8580c499e4fe447c351ecf0767a9;hpb=570290dc6ba8198e653022c2f6f8e5d01cfa8d1b;p=policy%2Fengine.git diff --git a/ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/api/services/GetDecisionService.java b/ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/api/services/GetDecisionService.java index f70c3fb97..1ef5e53cf 100644 --- a/ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/api/services/GetDecisionService.java +++ b/ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/api/services/GetDecisionService.java @@ -21,6 +21,7 @@ package org.openecomp.policy.pdp.rest.api.services; import java.util.Collection; import java.util.Map; +import java.util.Map.Entry; import java.util.UUID; import javax.json.Json; @@ -40,7 +41,7 @@ import org.openecomp.policy.xacml.api.XACMLErrorConstants; import org.springframework.http.HttpStatus; public class GetDecisionService { - private static Logger LOGGER = FlexLogger.getLogger(GetDecisionService.class.getName()); + private static final Logger LOGGER = FlexLogger.getLogger(GetDecisionService.class.getName()); private DecisionResponse decisionResponse = null; private HttpStatus status = HttpStatus.BAD_REQUEST; @@ -60,7 +61,7 @@ public class GetDecisionService { requestUUID = UUID.fromString(requestID); } catch (IllegalArgumentException e) { requestUUID = UUID.randomUUID(); - LOGGER.info("Generated Random UUID: " + requestUUID.toString()); + LOGGER.info("Generated Random UUID: " + requestUUID.toString(),e); } }else{ requestUUID = UUID.randomUUID(); @@ -117,24 +118,33 @@ public class GetDecisionService { private JsonObject getModel() throws PolicyDecisionException{ JsonArrayBuilder resourceArray = Json.createArrayBuilder(); - for (String key : decisionAttributes.keySet()) { - if (key.isEmpty()) { + for (Entry key : decisionAttributes.entrySet()) { + if (key.getKey().isEmpty()) { String message = XACMLErrorConstants.ERROR_DATA_ISSUE + "Cannot have an Empty Key"; LOGGER.error(message); throw new PolicyDecisionException(message); } JsonObjectBuilder resourceBuilder = Json.createObjectBuilder(); - if (decisionAttributes.get(key).matches("[0-9]+")) { - int val = Integer.parseInt(decisionAttributes.get(key)); - resourceBuilder.add("Value", val); + if (key.getValue().matches("[0-9]+")) { + + if ((key.getKey().equals("ErrorCode")) || (key.getKey().equals("WorkStep"))) { + + resourceBuilder.add("Value", key.getValue()); + + } else { + + int val = Integer.parseInt(key.getValue()); + resourceBuilder.add("Value", val); + + } + } else { - resourceBuilder.add("Value", decisionAttributes.get(key)); + resourceBuilder.add("Value", key.getValue()); } - resourceBuilder.add("AttributeId", key); + resourceBuilder.add("AttributeId", key.getKey()); resourceArray.add(resourceBuilder); } - JsonObject model = Json - .createObjectBuilder() + return Json.createObjectBuilder() .add("Request", Json.createObjectBuilder() .add("AccessSubject", Json.createObjectBuilder() .add("Attribute", Json.createObjectBuilder() @@ -147,7 +157,6 @@ public class GetDecisionService { .add("Value", "DECIDE") .add("AttributeId", "urn:oasis:names:tc:xacml:1.0:action:action-id")))) .build(); - return model; } private boolean getValidation() {