+ 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 Occurred" + e);
+ }
+ return null;
+ }