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%2FDecisionPolicyService.java;h=7bdf1dc71bab2eddf4f61427efba5c92c68e0e1c;hb=refs%2Fchanges%2F53%2F59753%2F6;hp=915e3b30fe5ee55e464d4b36f0a17682ccff6278;hpb=5e8b7f573f0f7f08be242ee017ecf1243317f1b5;p=policy%2Fengine.git diff --git a/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/services/DecisionPolicyService.java b/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/services/DecisionPolicyService.java index 915e3b30f..7bdf1dc71 100644 --- a/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/services/DecisionPolicyService.java +++ b/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/services/DecisionPolicyService.java @@ -7,9 +7,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -31,73 +31,83 @@ import org.onap.policy.xacml.api.XACMLErrorConstants; import org.onap.policy.xacml.std.pap.StdPAPPolicy; /** - * Decision Policy Implementation - * - * @version 0.1 + * Decision Policy Implementation + * + * @version 0.1 */ -public class DecisionPolicyService{ - private static Logger LOGGER = FlexLogger.getLogger(DecisionPolicyService.class.getName()); - private static PAPServices papServices = null; - - private String message = null; - private String policyScope = null; - private String policyName = null; - private PolicyParameters policyParameters = null; - private String onapName = null; - - public DecisionPolicyService(String policyScope, String policyName, - PolicyParameters policyParameters) { - this.policyScope = policyScope; - this.policyName = policyName; - this.policyParameters = policyParameters; - papServices = new PAPServices(); - } +public class DecisionPolicyService { + private static Logger LOGGER = FlexLogger.getLogger(DecisionPolicyService.class.getName()); + private static PAPServices papServices = null; - public Boolean getValidation() { - onapName = policyParameters.getOnapName(); - if (onapName==null||onapName.trim().isEmpty()){ - message = XACMLErrorConstants.ERROR_DATA_ISSUE + "No ONAP Name given."; - return false; - } - return true; - } + private String message = null; + private String policyScope = null; + private String policyName = null; + private PolicyParameters policyParameters = null; + private String onapName = null; - public String getMessage() { - return message; - } + public DecisionPolicyService(String policyScope, String policyName, + PolicyParameters policyParameters) { + this.policyScope = policyScope; + this.policyName = policyName; + this.policyParameters = policyParameters; + papServices = new PAPServices(); + } - public String getResult(boolean updateFlag) throws PolicyException { - String response = null; - String operation = null; - if (updateFlag){ - operation = "update"; - } else { - operation = "create"; - } - RuleProvider ruleProvider = policyParameters.getRuleProvider(); - if (ruleProvider==null) { - ruleProvider = RuleProvider.CUSTOM ; - } - Map matchingAttributes = null; - Map settingsAttributes = null; - - //Get the MATCHING and/or SETTINGS attributes - if (policyParameters.getAttributes()!=null && policyParameters.getAttributes().containsKey(AttributeType.MATCHING) && policyParameters.getAttributes().containsKey(AttributeType.SETTINGS)) { - matchingAttributes = policyParameters.getAttributes().get(AttributeType.MATCHING); - settingsAttributes = policyParameters.getAttributes().get(AttributeType.SETTINGS); - }else if(policyParameters.getAttributes()!=null && !policyParameters.getAttributes().containsKey(AttributeType.MATCHING) && policyParameters.getAttributes().containsKey(AttributeType.SETTINGS)){ - settingsAttributes = policyParameters.getAttributes().get(AttributeType.SETTINGS); - }else if(policyParameters.getAttributes()!=null && policyParameters.getAttributes().containsKey(AttributeType.MATCHING) && !policyParameters.getAttributes().containsKey(AttributeType.SETTINGS)){ - matchingAttributes = policyParameters.getAttributes().get(AttributeType.MATCHING); - } - // Create StdPAPPolicy object used to send policy data to PAP-REST. - StdPAPPolicy newPAPPolicy = new StdPAPPolicy(policyName, policyParameters.getPolicyDescription(), onapName, ruleProvider.toString(), matchingAttributes, settingsAttributes, - policyParameters.getTreatments(), policyParameters.getDynamicRuleAlgorithmLabels(), policyParameters.getDynamicRuleAlgorithmFunctions(), - policyParameters.getDynamicRuleAlgorithmField1(), policyParameters.getDynamicRuleAlgorithmField2(), null, null, null, updateFlag, policyScope, 0); - // Send JSON to PAP. - response = (String) papServices.callPAP(newPAPPolicy, new String[] {"operation="+operation, "apiflag=api", "policyType=Decision"}, policyParameters.getRequestID(), "Decision"); - LOGGER.info(message); - return response; - } + public Boolean getValidation() { + onapName = policyParameters.getOnapName(); + if (onapName == null || onapName.trim().isEmpty()) { + message = XACMLErrorConstants.ERROR_DATA_ISSUE + "No ONAP Name given."; + return false; + } + return true; + } + + public String getMessage() { + return message; + } + + public String getResult(boolean updateFlag) throws PolicyException { + String response = null; + String operation = null; + if (updateFlag) { + operation = "update"; + } else { + operation = "create"; + } + RuleProvider ruleProvider = policyParameters.getRuleProvider(); + if (ruleProvider == null) { + ruleProvider = RuleProvider.CUSTOM; + } + Map matchingAttributes = null; + Map settingsAttributes = null; + + //Get the MATCHING and/or SETTINGS attributes + if (policyParameters.getAttributes() != null && + policyParameters.getAttributes().containsKey(AttributeType.MATCHING) && + policyParameters.getAttributes().containsKey(AttributeType.SETTINGS)) { + matchingAttributes = policyParameters.getAttributes().get(AttributeType.MATCHING); + settingsAttributes = policyParameters.getAttributes().get(AttributeType.SETTINGS); + } else if (policyParameters.getAttributes() != null && + !policyParameters.getAttributes().containsKey(AttributeType.MATCHING) && + policyParameters.getAttributes().containsKey(AttributeType.SETTINGS)) { + settingsAttributes = policyParameters.getAttributes().get(AttributeType.SETTINGS); + } else if (policyParameters.getAttributes() != null && + policyParameters.getAttributes().containsKey(AttributeType.MATCHING) && + !policyParameters.getAttributes().containsKey(AttributeType.SETTINGS)) { + matchingAttributes = policyParameters.getAttributes().get(AttributeType.MATCHING); + } + // Create StdPAPPolicy object used to send policy data to PAP-REST. + StdPAPPolicy newPAPPolicy = new StdPAPPolicy(policyName, policyParameters.getPolicyDescription(), onapName, + ruleProvider.toString(), matchingAttributes, settingsAttributes, + policyParameters.getTreatments(), policyParameters.getDynamicRuleAlgorithmLabels(), + policyParameters.getDynamicRuleAlgorithmFunctions(), + policyParameters.getDynamicRuleAlgorithmField1(), policyParameters.getDynamicRuleAlgorithmField2(), + null, null, null, updateFlag, policyScope, 0); + // Send JSON to PAP. + response = (String) papServices.callPAP(newPAPPolicy, new String[]{"operation=" + operation, "apiflag=api", + "policyType=Decision"}, policyParameters.getRequestID(), "Decision"); + LOGGER.info(message); + return response; + } }