getPolicyVersion.setParameter("pname", removeVersionExtension.replace(".", File.separator));
List<?> pvResult = getPolicyVersion.getResultList();
PolicyVersion pVersion = (PolicyVersion) pvResult.get(0);
- int highestVersion = 0;
+ int newVersion = 0;
em.getTransaction().begin();
Class.forName(papDbDriver);
con = DriverManager.getConnection(papDbUrl,papDbUser,papDbPassword);
return;
}else if(status.equals("PolicyInPDP")){
PolicyLogger.error(MessageCodes.GENERAL_WARNING + "Policy can't be deleted, it is active in PDP Groups.");
- response.addHeader("error", "unknown");
+ response.addHeader("error", "PolicyInPDP");
response.setStatus(HttpServletResponse.SC_CONFLICT);
return;
}else{
policyEntity = (PolicyEntity) object;
String policyEntityName = policyEntity.getPolicyName().replace(".xml", "");
int policyEntityVersion = Integer.parseInt(policyEntityName.substring(policyEntityName.lastIndexOf(".")+1));
- if(policyEntityVersion > highestVersion){
- highestVersion = policyEntityVersion;
+ if(policyEntityVersion > newVersion){
+ newVersion = policyEntityVersion-1;
}
}
}
- pVersion.setActiveVersion(highestVersion);
- pVersion.setHigherVersion(highestVersion);
+ pVersion.setActiveVersion(newVersion);
+ pVersion.setHigherVersion(newVersion);
try{
policyVersionDeleted = true;
em.persist(pVersion);
return true;
}
}finally{
- st.close();
+ if(st != null){
+ st.close();
+ }
}
}
return false;
PolicyLogger.error("Exception occured While Deleting Policy From PDP Group"+e1);
}
if (group == null || ! (group instanceof StdPDPGroup) || existingGroup == null || ! (group.getId().equals(existingGroup.getId()))) {
- PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " Group update had bad input. id=" + existingGroup != null ? existingGroup.getId() : "null" + " objectFromJSON="+group);
+ String existingID = null;
+ if(existingGroup != null){
+ existingID = existingGroup.getId();
+ }
+ PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " Group update had bad input. id=" + existingID + " objectFromJSON="+group);
loggingContext.transactionEnded();
PolicyLogger.audit("Transaction Failed - See Error.log");
response = "No Group";