diff options
Diffstat (limited to 'common/src/main/java/org/onap/so/client/policy/PolicyClientImpl.java')
-rw-r--r-- | common/src/main/java/org/onap/so/client/policy/PolicyClientImpl.java | 167 |
1 files changed, 83 insertions, 84 deletions
diff --git a/common/src/main/java/org/onap/so/client/policy/PolicyClientImpl.java b/common/src/main/java/org/onap/so/client/policy/PolicyClientImpl.java index 71a3227c56..72c5a7dd5b 100644 --- a/common/src/main/java/org/onap/so/client/policy/PolicyClientImpl.java +++ b/common/src/main/java/org/onap/so/client/policy/PolicyClientImpl.java @@ -22,7 +22,6 @@ package org.onap.so.client.policy; import java.io.IOException; import java.util.List; - import org.onap.so.client.RestClient; import org.onap.so.client.RestPropertiesLoader; import org.onap.so.client.defaultproperties.PolicyRestPropertiesImpl; @@ -41,7 +40,6 @@ import org.onap.so.client.policy.entities.PolicyServiceType; import org.onap.so.client.policy.entities.Workstep; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.JsonMappingException; @@ -51,88 +49,89 @@ import com.fasterxml.jackson.databind.SerializationFeature; public class PolicyClientImpl implements PolicyClient { - private static Logger logger = LoggerFactory.getLogger(PolicyClientImpl.class); - private PolicyRestProperties props; - private ObjectMapper mapper = new ObjectMapper(); - - public PolicyClientImpl() { - props = RestPropertiesLoader.getInstance().getNewImpl(PolicyRestProperties.class); - if (props == null) { - logger.error("No RestProperty.PolicyRestProperties implementation found on classpath"); - props = new PolicyRestPropertiesImpl(); - } - } - public PolicyDecision getDecision(String serviceType, String vnfType, String bbID, String workStep, - String errorCode) { - DecisionAttributes decisionAttributes = new DecisionAttributes(); - decisionAttributes.setServiceType(serviceType); - decisionAttributes.setvNFType(vnfType); - decisionAttributes.setBbID(bbID); - decisionAttributes.setWorkStep(workStep); - decisionAttributes.setErrorCode(errorCode); + private static Logger logger = LoggerFactory.getLogger(PolicyClientImpl.class); + private PolicyRestProperties props; + private ObjectMapper mapper = new ObjectMapper(); + + public PolicyClientImpl() { + props = RestPropertiesLoader.getInstance().getNewImpl(PolicyRestProperties.class); + if (props == null) { + logger.error("No RestProperty.PolicyRestProperties implementation found on classpath"); + props = new PolicyRestPropertiesImpl(); + } + } + + public PolicyDecision getDecision(String serviceType, String vnfType, String bbID, String workStep, + String errorCode) { + DecisionAttributes decisionAttributes = new DecisionAttributes(); + decisionAttributes.setServiceType(serviceType); + decisionAttributes.setvNFType(vnfType); + decisionAttributes.setBbID(bbID); + decisionAttributes.setWorkStep(workStep); + decisionAttributes.setErrorCode(errorCode); + + return this.getDecision(decisionAttributes); + } + + protected PolicyDecision getDecision(DecisionAttributes decisionAttributes) { + PolicyRestClient client = this.getPolicyRestClient(PolicyServiceType.GET_DECISION); + PolicyDecisionRequest decisionRequest = new PolicyDecisionRequest(); + decisionRequest.setDecisionAttributes(decisionAttributes); + decisionRequest.setEcompcomponentName(RestClient.ECOMP_COMPONENT_NAME); + + return client.post(decisionRequest, PolicyDecision.class); + } + + public DictionaryData getAllowedTreatments(String bbID, String workStep) { + PolicyRestClient client = this.getPolicyRestClient(PolicyServiceType.GET_DICTIONARY_ITEMS); + DictionaryItemsRequest dictionaryItemsRequest = new DictionaryItemsRequest(); + dictionaryItemsRequest.setDictionaryType("Decision"); + dictionaryItemsRequest.setDictionary("RainyDayTreatments"); + final AllowedTreatments response = client.post(dictionaryItemsRequest, AllowedTreatments.class); + final DictionaryJson dictionaryJson = response.getDictionaryJson(); + final List<DictionaryData> dictionaryDataList = dictionaryJson.getDictionaryDatas(); + for (DictionaryData dictData : dictionaryDataList) { + Bbid bBid = dictData.getBbid(); + Workstep workstep = dictData.getWorkstep(); + String bBidString = bBid.getString(); + String workstepString = workstep.getString(); + if (bbID.equals(bBidString) && workStep.equals(workstepString)) { + return dictData; + } + } + logger.error("There is no AllowedTreatments with that specified parameter set"); + return null; + } + + @Override + public Config getConfigWithPolicyName(String policyName) { + PolicyRestClient client = this.getPolicyRestClient(PolicyServiceType.GET_CONFIG); + ConfigRequestParameters configReqParameters = new ConfigRequestParameters(); + configReqParameters.setPolicyName(policyName); + PolicyConfig[] policyConfigList = client.post(configReqParameters, PolicyConfig[].class); + PolicyConfig policyConfig = null; + if (policyConfigList.length > 1) { + logger.debug("Too many configs for policyName: " + policyName); + return null; + } + try { + policyConfig = policyConfigList[0]; + return this.getConfigFromStringJson(policyConfig.getConfig()); + } catch (IOException e) { + logger.error(e.getMessage()); + return null; + } + } - return this.getDecision(decisionAttributes); - } + protected Config getConfigFromStringJson(String configJson) + throws JsonParseException, JsonMappingException, IOException { + String unescapedJson = configJson.replaceAll("\\\\", ""); + mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false); + mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, false); + return mapper.readValue(unescapedJson, Config.class); + } - protected PolicyDecision getDecision(DecisionAttributes decisionAttributes) { - PolicyRestClient client = this.getPolicyRestClient(PolicyServiceType.GET_DECISION); - PolicyDecisionRequest decisionRequest = new PolicyDecisionRequest(); - decisionRequest.setDecisionAttributes(decisionAttributes); - decisionRequest.setEcompcomponentName(RestClient.ECOMP_COMPONENT_NAME); - - return client.post(decisionRequest, PolicyDecision.class); - } - - public DictionaryData getAllowedTreatments(String bbID, String workStep) - { - PolicyRestClient client = this.getPolicyRestClient(PolicyServiceType.GET_DICTIONARY_ITEMS); - DictionaryItemsRequest dictionaryItemsRequest = new DictionaryItemsRequest(); - dictionaryItemsRequest.setDictionaryType("Decision"); - dictionaryItemsRequest.setDictionary("RainyDayTreatments"); - final AllowedTreatments response = client.post(dictionaryItemsRequest, AllowedTreatments.class); - final DictionaryJson dictionaryJson = response.getDictionaryJson(); - final List<DictionaryData> dictionaryDataList = dictionaryJson.getDictionaryDatas(); - for(DictionaryData dictData : dictionaryDataList){ - Bbid bBid = dictData.getBbid(); - Workstep workstep = dictData.getWorkstep(); - String bBidString = bBid.getString(); - String workstepString = workstep.getString(); - if(bbID.equals(bBidString) && workStep.equals(workstepString)){ - return dictData; - } - } - logger.error("There is no AllowedTreatments with that specified parameter set"); - return null; - } - - @Override - public Config getConfigWithPolicyName(String policyName) { - PolicyRestClient client = this.getPolicyRestClient(PolicyServiceType.GET_CONFIG); - ConfigRequestParameters configReqParameters = new ConfigRequestParameters(); - configReqParameters.setPolicyName(policyName); - PolicyConfig[] policyConfigList = client.post(configReqParameters, PolicyConfig[].class); - PolicyConfig policyConfig = null; - if(policyConfigList.length > 1) { - logger.debug("Too many configs for policyName: " + policyName); - return null; - } - try { - policyConfig = policyConfigList[0]; - return this.getConfigFromStringJson(policyConfig.getConfig()); - } catch (IOException e) { - logger.error(e.getMessage()); - return null; - } - } - - protected Config getConfigFromStringJson(String configJson) throws JsonParseException, JsonMappingException, IOException { - String unescapedJson = configJson.replaceAll("\\\\", ""); - mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false); - mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, false); - return mapper.readValue(unescapedJson, Config.class); - } - - protected PolicyRestClient getPolicyRestClient(PolicyServiceType policyServiceType) { - return new PolicyRestClient(this.props, policyServiceType); - } + protected PolicyRestClient getPolicyRestClient(PolicyServiceType policyServiceType) { + return new PolicyRestClient(this.props, policyServiceType); + } } |