1 package org.openecomp.policy.admin;
3 import org.openecomp.policy.controller.ActionPolicyController;
4 import org.openecomp.policy.controller.CreateBRMSParamController;
5 import org.openecomp.policy.controller.CreateBRMSRawController;
6 import org.openecomp.policy.controller.CreateClosedLoopFaultController;
7 import org.openecomp.policy.controller.CreateClosedLoopPMController;
8 import org.openecomp.policy.controller.CreateDcaeMicroServiceController;
9 import org.openecomp.policy.controller.CreateFirewallController;
10 import org.openecomp.policy.controller.CreatePolicyController;
11 import org.openecomp.policy.controller.DecisionPolicyController;
12 import org.openecomp.policy.rest.adapter.PolicyRestAdapter;
13 import org.openecomp.policy.rest.jpa.PolicyEntity;
15 import com.att.research.xacml.util.XACMLProperties;
17 public class PolicyAdapter {
19 public void configure(PolicyRestAdapter policyAdapter, PolicyEntity entity) {
20 String policyNameValue = null ;
21 String configPolicyName = null ;
22 if(extendedOptions(policyAdapter, entity)){
25 if(policyAdapter.getPolicyName().startsWith("Config_PM")){
26 policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
27 configPolicyName = "ClosedLoop_PM";
28 }else if(policyAdapter.getPolicyName().startsWith("Config_Fault")){
29 policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
30 configPolicyName = "ClosedLoop_Fault";
31 }else if(policyAdapter.getPolicyName().startsWith("Config_FW")){
32 policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
33 configPolicyName = "Firewall Config";
34 }else if(policyAdapter.getPolicyName().startsWith("Config_BRMS_Raw")){
35 policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
36 configPolicyName = "BRMS_Raw";
37 }else if(policyAdapter.getPolicyName().startsWith("Config_BRMS_Param")){
38 policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
39 configPolicyName = "BRMS_Param";
40 }else if(policyAdapter.getPolicyName().startsWith("Config_MS")){
41 policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
42 configPolicyName = "Micro Service";
43 }else if(policyAdapter.getPolicyName().startsWith("Action") || policyAdapter.getPolicyName().startsWith("Decision") ){
44 policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
46 policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
47 configPolicyName = "Base";
49 if (policyNameValue != null) {
50 policyAdapter.setPolicyType(policyNameValue);
52 if (configPolicyName != null) {
53 policyAdapter.setConfigPolicyType(configPolicyName);
56 if("Action".equalsIgnoreCase(policyAdapter.getPolicyType())){
57 ActionPolicyController actionController = new ActionPolicyController();
58 actionController.prePopulateActionPolicyData(policyAdapter, entity);
60 if("Decision".equalsIgnoreCase(policyAdapter.getPolicyType())){
61 DecisionPolicyController decisionController = new DecisionPolicyController();
62 decisionController.prePopulateDecisionPolicyData(policyAdapter, entity);
64 if("Config".equalsIgnoreCase(policyAdapter.getPolicyType())){
65 if("Base".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
66 CreatePolicyController baseController = new CreatePolicyController();
67 baseController.prePopulateBaseConfigPolicyData(policyAdapter, entity);
69 else if("BRMS_Raw".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
70 CreateBRMSRawController brmsController = new CreateBRMSRawController();
71 brmsController.prePopulateBRMSRawPolicyData(policyAdapter, entity);
73 else if("BRMS_Param".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
74 CreateBRMSParamController paramController = new CreateBRMSParamController();
75 paramController.prePopulateBRMSParamPolicyData(policyAdapter, entity);
77 else if("ClosedLoop_Fault".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
78 CreateClosedLoopFaultController newFaultTemplate = new CreateClosedLoopFaultController();
79 newFaultTemplate.prePopulateClosedLoopFaultPolicyData(policyAdapter, entity);
81 else if("ClosedLoop_PM".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
82 CreateClosedLoopPMController pmController = new CreateClosedLoopPMController();
83 pmController.prePopulateClosedLoopPMPolicyData(policyAdapter, entity);
85 else if("Micro Service".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
86 CreateDcaeMicroServiceController msController = new CreateDcaeMicroServiceController();
87 msController.prePopulateDCAEMSPolicyData(policyAdapter, entity);
89 else if("Firewall Config".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
90 CreateFirewallController firewallController = new CreateFirewallController();
91 firewallController.prePopulateFWPolicyData(policyAdapter, entity);
96 public boolean extendedOptions(PolicyRestAdapter policyAdapter, PolicyEntity entity) {
100 public static PolicyAdapter getInstance() {
102 Class<?> policyAdapter = Class.forName(XACMLProperties.getProperty("policyAdapter.impl.className", PolicyAdapter.class.getName()));
103 return (PolicyAdapter) policyAdapter.newInstance();
104 } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | IllegalArgumentException e) {