X-Git-Url: https://gerrit.onap.org/r/gitweb?p=policy%2Fengine.git;a=blobdiff_plain;f=POLICY-SDK-APP%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fadmin%2FPolicyAdapter.java;h=339702297c89d47582fce7ee06e74825e3a14de6;hp=42010f14763c854021f9bfd282102ab964538154;hb=dfd9c0a09c35e4b5b4b61be08b8424e4a3d0d500;hpb=9df8b88412f6e890320bc446ba1c83a13e99822d diff --git a/POLICY-SDK-APP/src/main/java/org/onap/policy/admin/PolicyAdapter.java b/POLICY-SDK-APP/src/main/java/org/onap/policy/admin/PolicyAdapter.java index 42010f147..339702297 100644 --- a/POLICY-SDK-APP/src/main/java/org/onap/policy/admin/PolicyAdapter.java +++ b/POLICY-SDK-APP/src/main/java/org/onap/policy/admin/PolicyAdapter.java @@ -2,14 +2,16 @@ * ============LICENSE_START======================================================= * ONAP Policy Engine * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017, 2019 AT&T Intellectual Property. All rights reserved. + * Modified Copyright (C) 2018 Samsung Electronics Co., Ltd. + * Modifications Copyright (C) 2019 Bell Canada * ================================================================================ * 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. @@ -20,6 +22,8 @@ package org.onap.policy.admin; +import com.att.research.xacml.util.XACMLProperties; + import org.onap.policy.common.logging.flexlogger.FlexLogger; import org.onap.policy.common.logging.flexlogger.Logger; import org.onap.policy.controller.ActionPolicyController; @@ -29,90 +33,89 @@ import org.onap.policy.controller.CreateClosedLoopFaultController; import org.onap.policy.controller.CreateClosedLoopPMController; import org.onap.policy.controller.CreateDcaeMicroServiceController; import org.onap.policy.controller.CreateFirewallController; +import org.onap.policy.controller.CreateOptimizationController; import org.onap.policy.controller.CreatePolicyController; import org.onap.policy.controller.DecisionPolicyController; import org.onap.policy.rest.adapter.PolicyRestAdapter; import org.onap.policy.rest.jpa.PolicyEntity; -import com.att.research.xacml.util.XACMLProperties; - public class PolicyAdapter { - private static final Logger LOGGER = FlexLogger.getLogger(PolicyAdapter.class); - - public void configure(PolicyRestAdapter policyAdapter, PolicyEntity entity) { - if(extendedOptions(policyAdapter, entity)){ - return; - } - String policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf('_')); - String configPolicyName = null ; - if(policyAdapter.getPolicyName().startsWith("Config_PM")){ - configPolicyName = "ClosedLoop_PM"; - }else if(policyAdapter.getPolicyName().startsWith("Config_Fault")){ - configPolicyName = "ClosedLoop_Fault"; - }else if(policyAdapter.getPolicyName().startsWith("Config_FW")){ - configPolicyName = "Firewall Config"; - }else if(policyAdapter.getPolicyName().startsWith("Config_BRMS_Raw")){ - configPolicyName = "BRMS_Raw"; - }else if(policyAdapter.getPolicyName().startsWith("Config_BRMS_Param")){ - configPolicyName = "BRMS_Param"; - }else if(policyAdapter.getPolicyName().startsWith("Config_MS")){ - configPolicyName = "Micro Service"; - }else if(policyAdapter.getPolicyName().startsWith("Action") || policyAdapter.getPolicyName().startsWith("Decision") ){ - // No configPolicyName is applicable - }else{ - configPolicyName = "Base"; - } - if (policyNameValue != null) { - policyAdapter.setPolicyType(policyNameValue); - } - if (configPolicyName != null) { - policyAdapter.setConfigPolicyType(configPolicyName); - } + private static final Logger LOGGER = FlexLogger.getLogger(PolicyAdapter.class); + + public void configure(PolicyRestAdapter policyAdapter, PolicyEntity entity) { + String policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf('_')); + String configPolicyName = getConfigPolicyName(policyAdapter); + policyAdapter.setPolicyType(policyNameValue); + + if (configPolicyName != null) { + policyAdapter.setConfigPolicyType(configPolicyName); + } + if ("Action".equalsIgnoreCase(policyAdapter.getPolicyType())) { + new ActionPolicyController().prePopulateActionPolicyData(policyAdapter); + } + if ("Decision".equalsIgnoreCase(policyAdapter.getPolicyType())) { + new DecisionPolicyController().prePopulateDecisionPolicyData(policyAdapter, entity); + } + if ("Config".equalsIgnoreCase(policyAdapter.getPolicyType())) { + prePopulatePolicyData(policyAdapter, entity); + } + } - if("Action".equalsIgnoreCase(policyAdapter.getPolicyType())){ - new ActionPolicyController().prePopulateActionPolicyData(policyAdapter, entity); - } - if("Decision".equalsIgnoreCase(policyAdapter.getPolicyType())){ - new DecisionPolicyController().prePopulateDecisionPolicyData(policyAdapter, entity); - } - if("Config".equalsIgnoreCase(policyAdapter.getPolicyType())){ - if("Base".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){ - new CreatePolicyController().prePopulateBaseConfigPolicyData(policyAdapter, entity); - } - else if("BRMS_Raw".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){ - new CreateBRMSRawController().prePopulateBRMSRawPolicyData(policyAdapter, entity); - } - else if("BRMS_Param".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){ - new CreateBRMSParamController().prePopulateBRMSParamPolicyData(policyAdapter, entity); - } - else if("ClosedLoop_Fault".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){ - new CreateClosedLoopFaultController().prePopulateClosedLoopFaultPolicyData(policyAdapter, entity); - } - else if("ClosedLoop_PM".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){ - new CreateClosedLoopPMController().prePopulateClosedLoopPMPolicyData(policyAdapter, entity); - } - else if("Micro Service".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){ - new CreateDcaeMicroServiceController().prePopulateDCAEMSPolicyData(policyAdapter, entity); - } - else if("Firewall Config".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){ - new CreateFirewallController().prePopulateFWPolicyData(policyAdapter, entity); - } - } - } - - public boolean extendedOptions(PolicyRestAdapter policyAdapter, PolicyEntity entity) { - return false; - } + private String getConfigPolicyName(PolicyRestAdapter policyAdapter) { + String configPolicyName = null; + if (policyAdapter.getPolicyName().startsWith("Config_PM")) { + configPolicyName = "ClosedLoop_PM"; + } else if (policyAdapter.getPolicyName().startsWith("Config_Fault")) { + configPolicyName = "ClosedLoop_Fault"; + } else if (policyAdapter.getPolicyName().startsWith("Config_FW")) { + configPolicyName = "Firewall Config"; + } else if (policyAdapter.getPolicyName().startsWith("Config_BRMS_Raw")) { + configPolicyName = "BRMS_Raw"; + } else if (policyAdapter.getPolicyName().startsWith("Config_BRMS_Param")) { + configPolicyName = "BRMS_Param"; + } else if (policyAdapter.getPolicyName().startsWith("Config_MS")) { + configPolicyName = "Micro Service"; + } else if (policyAdapter.getPolicyName().startsWith("Config_OOF")) { + configPolicyName = "Optimization"; + } else if (policyAdapter.getPolicyName().startsWith("Action") + || policyAdapter.getPolicyName().startsWith("Decision")) { + // No configPolicyName is applicable + } else { + configPolicyName = "Base"; + } + return configPolicyName; + } - public static PolicyAdapter getInstance() { - try { - Class policyAdapter = Class.forName(XACMLProperties.getProperty("policyAdapter.impl.className", PolicyAdapter.class.getName())); - return (PolicyAdapter) policyAdapter.newInstance(); - } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | IllegalArgumentException e) { - LOGGER.error("Exception Occured"+e); - } - return null; - } + private void prePopulatePolicyData(PolicyRestAdapter policyAdapter, PolicyEntity entity) { + if ("Base".equalsIgnoreCase(policyAdapter.getConfigPolicyType())) { + new CreatePolicyController().prePopulateBaseConfigPolicyData(policyAdapter, entity); + } else if ("BRMS_Raw".equalsIgnoreCase(policyAdapter.getConfigPolicyType())) { + new CreateBRMSRawController().prePopulateBRMSRawPolicyData(policyAdapter, entity); + } else if ("BRMS_Param".equalsIgnoreCase(policyAdapter.getConfigPolicyType())) { + new CreateBRMSParamController().prePopulateBRMSParamPolicyData(policyAdapter, entity); + } else if ("ClosedLoop_Fault".equalsIgnoreCase(policyAdapter.getConfigPolicyType())) { + new CreateClosedLoopFaultController().prePopulateClosedLoopFaultPolicyData(policyAdapter, entity); + } else if ("ClosedLoop_PM".equalsIgnoreCase(policyAdapter.getConfigPolicyType())) { + new CreateClosedLoopPMController().prePopulateClosedLoopPMPolicyData(policyAdapter, entity); + } else if ("Micro Service".equalsIgnoreCase(policyAdapter.getConfigPolicyType())) { + new CreateDcaeMicroServiceController().prePopulateDCAEMSPolicyData(policyAdapter, entity); + } else if ("Optimization".equalsIgnoreCase(policyAdapter.getConfigPolicyType())) { + new CreateOptimizationController().prePopulatePolicyData(policyAdapter, entity); + } else if ("Firewall Config".equalsIgnoreCase(policyAdapter.getConfigPolicyType())) { + new CreateFirewallController().prePopulateFWPolicyData(policyAdapter, entity); + } + } + public static PolicyAdapter getInstance() { + try { + Class policyAdapter = Class.forName( + XACMLProperties.getProperty("policyAdapter.impl.className", PolicyAdapter.class.getName())); + return (PolicyAdapter) policyAdapter.newInstance(); + } catch (ClassNotFoundException | InstantiationException | IllegalAccessException + | IllegalArgumentException e) { + LOGGER.error("Exception Occurred" + e); + } + return null; + } }