X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ECOMP-PAP-REST%2Fsrc%2Fmain%2Fjava%2Forg%2Fopenecomp%2Fpolicy%2Fpap%2Fxacml%2Frest%2Fhandler%2FDeleteHandler.java;h=69319651776548358949589722590e7aa5b343c4;hb=eb654437ee2815028602daa943d0a939a5bee3cd;hp=88548ffa4cd5b6424a2bd87a1fbecd441b6ec8c8;hpb=fc5c07705edc4dcb7083b39116a43844bb6a1490;p=policy%2Fengine.git diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/handler/DeleteHandler.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/handler/DeleteHandler.java index 88548ffa4..693196517 100644 --- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/handler/DeleteHandler.java +++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/handler/DeleteHandler.java @@ -158,7 +158,7 @@ public class DeleteHandler { 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); @@ -180,7 +180,7 @@ public class DeleteHandler { 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{ @@ -217,13 +217,13 @@ public class DeleteHandler { 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); @@ -408,7 +408,11 @@ public class DeleteHandler { 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";