- ConfigurationDataEntity configEntity;
- ActionBodyEntity actionEntity;
- PolicyController controller = new PolicyController();
- configEntity = entity.getConfigurationData();
- actionEntity = entity.getActionBodyEntity();
- if(entity != null){
- //Check Policy Group Entity table if policy has been pushed or not
- String query = "from PolicyGroupEntity where policyid = '"+entity.getPolicyId()+"'";
- List<Object> object = controller.getDataByQuery(query);
- if(object.isEmpty()){
- String oldPolicyNameWithoutExtension = removeoldPolicyExtension;
- String newPolicyNameWithoutExtension = removenewPolicyExtension;
- if(removeoldPolicyExtension.endsWith(".xml")){
- oldPolicyNameWithoutExtension = oldPolicyNameWithoutExtension.substring(0, oldPolicyNameWithoutExtension.indexOf("."));
- newPolicyNameWithoutExtension = newPolicyNameWithoutExtension.substring(0, newPolicyNameWithoutExtension.indexOf("."));
- }
- entity.setPolicyName(entity.getPolicyName().replace(removeoldPolicyExtension, removenewPolicyExtension));
- entity.setPolicyData(entity.getPolicyData().replace(oldScope +"."+oldPolicyNameWithoutExtension, newScope+"."+newPolicyNameWithoutExtension));
- entity.setScope(newScope);
- entity.setModifiedBy(userId);
- String oldConfigRemoveExtension = removeoldPolicyExtension.replace(".xml", "");
- String newConfigRemoveExtension = removenewPolicyExtension.replace(".xml", "");
- if(newpolicyName.contains("Config_")){
- configEntity.setConfigurationName(configEntity.getConfigurationName().replace(oldScope +"."+oldConfigRemoveExtension, newScope+"."+newConfigRemoveExtension));
- controller.updateData(configEntity);
- }else if(newpolicyName.contains("Action_")){
- actionEntity.setActionBody(actionEntity.getActionBody().replace(oldScope +"."+oldConfigRemoveExtension, newScope+"."+newConfigRemoveExtension));
- controller.updateData(actionEntity);
- }
- controller.updateData(entity);
- }else{
- //Mark as Deleted in PolicyEntiy table
- entity.setDeleted(true);
- controller.updateData(entity);
- //Mark as Deleted in ConfigurationDataEntity table
- configEntity.setDeleted(true);
- controller.updateData(configEntity);
- //Mark as Deleted in ActionDataEntity table
- actionEntity.setDeleted(true);
- controller.updateData(actionEntity);
- //Clone New Copy
- cloneRecord(newpolicyName, oldScope, removeoldPolicyExtension, newScope, removenewPolicyExtension, entity, userId);
- }