* ONAP Policy Engine
* ================================================================================
* 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.
* 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.
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;
public class PolicyAdapter {
- private static final Logger LOGGER = FlexLogger.getLogger(PolicyAdapter.class);
-
- public void configure(PolicyRestAdapter policyAdapter, PolicyEntity entity) {
- String policyNameValue = null ;
- String configPolicyName = null ;
- if(extendedOptions(policyAdapter, entity)){
- return;
- }
- if(policyAdapter.getPolicyName().startsWith("Config_PM")){
- policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
- configPolicyName = "ClosedLoop_PM";
- }else if(policyAdapter.getPolicyName().startsWith("Config_Fault")){
- policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
- configPolicyName = "ClosedLoop_Fault";
- }else if(policyAdapter.getPolicyName().startsWith("Config_FW")){
- policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
- configPolicyName = "Firewall Config";
- }else if(policyAdapter.getPolicyName().startsWith("Config_BRMS_Raw")){
- policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
- configPolicyName = "BRMS_Raw";
- }else if(policyAdapter.getPolicyName().startsWith("Config_BRMS_Param")){
- policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
- configPolicyName = "BRMS_Param";
- }else if(policyAdapter.getPolicyName().startsWith("Config_MS")){
- policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
- configPolicyName = "Micro Service";
- }else if(policyAdapter.getPolicyName().startsWith("Action") || policyAdapter.getPolicyName().startsWith("Decision") ){
- policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
- }else{
- policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
- configPolicyName = "Base";
- }
- if (policyNameValue != null) {
- policyAdapter.setPolicyType(policyNameValue);
- }
- if (configPolicyName != null) {
- policyAdapter.setConfigPolicyType(configPolicyName);
- }
+ private static final Logger LOGGER = FlexLogger.getLogger(PolicyAdapter.class);
- if("Action".equalsIgnoreCase(policyAdapter.getPolicyType())){
- ActionPolicyController actionController = new ActionPolicyController();
- actionController.prePopulateActionPolicyData(policyAdapter, entity);
- }
- if("Decision".equalsIgnoreCase(policyAdapter.getPolicyType())){
- DecisionPolicyController decisionController = new DecisionPolicyController();
- decisionController.prePopulateDecisionPolicyData(policyAdapter, entity);
- }
- if("Config".equalsIgnoreCase(policyAdapter.getPolicyType())){
- if("Base".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
- CreatePolicyController baseController = new CreatePolicyController();
- baseController.prePopulateBaseConfigPolicyData(policyAdapter, entity);
- }
- else if("BRMS_Raw".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
- CreateBRMSRawController brmsController = new CreateBRMSRawController();
- brmsController.prePopulateBRMSRawPolicyData(policyAdapter, entity);
- }
- else if("BRMS_Param".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
- CreateBRMSParamController paramController = new CreateBRMSParamController();
- paramController.prePopulateBRMSParamPolicyData(policyAdapter, entity);
- }
- else if("ClosedLoop_Fault".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
- CreateClosedLoopFaultController newFaultTemplate = new CreateClosedLoopFaultController();
- newFaultTemplate.prePopulateClosedLoopFaultPolicyData(policyAdapter, entity);
- }
- else if("ClosedLoop_PM".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
- CreateClosedLoopPMController pmController = new CreateClosedLoopPMController();
- pmController.prePopulateClosedLoopPMPolicyData(policyAdapter, entity);
- }
- else if("Micro Service".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
- CreateDcaeMicroServiceController msController = new CreateDcaeMicroServiceController();
- msController.prePopulateDCAEMSPolicyData(policyAdapter, entity);
- }
- else if("Firewall Config".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
- CreateFirewallController firewallController = new CreateFirewallController();
- firewallController.prePopulateFWPolicyData(policyAdapter, entity);
- }
- }
- }
-
- public boolean extendedOptions(PolicyRestAdapter policyAdapter, PolicyEntity entity) {
- return false;
- }
+ public void configure(PolicyRestAdapter policyAdapter, PolicyEntity entity) {
+ String policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf('_'));
+ String configPolicyName = getConfigPolicyName(policyAdapter);
+ policyAdapter.setPolicyType(policyNameValue);
- 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;
- }
-
-
+ if (configPolicyName != null) {
+ policyAdapter.setConfigPolicyType(configPolicyName);
+ }
-}
+ 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())){
+ prePopulatePolicyData(policyAdapter, entity);
+ }
+ }
+
+ 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;
+ }
+
+ 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 Occured"+e);
+ }
+ return null;
+ }
+
+}
\ No newline at end of file