From: Tarun Tej Velaga Date: Thu, 10 Aug 2017 15:24:11 +0000 (+0000) Subject: PDP notification fixes X-Git-Tag: v1.1.0~109 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=policy%2Fengine.git;a=commitdiff_plain;h=827a2016429bc377e28d2a414b6bcbdf8b6dc924 PDP notification fixes Fixed the PDP Notification issues by sending Notifcations after the engine is properly loaded. Issue-Id: POLICY-146 Change-Id: I70bba9adf6e08fb0bafe1364b8fe4a789f70a88e Signed-off-by: Tarun Tej Velaga --- diff --git a/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/XACMLPdpLoader.java b/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/XACMLPdpLoader.java index 7526af692..9b2b61f76 100644 --- a/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/XACMLPdpLoader.java +++ b/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/XACMLPdpLoader.java @@ -189,14 +189,12 @@ public class XACMLPdpLoader { LOGGER.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR +error, e); status.addLoadError(error); } - // Notification will be Sent Here. - sendNotification(); return engine; } private static HashMap policyContainer = null; - private static void sendNotification(){ + public static synchronized void sendNotification(){ Thread notify = new Thread(){ public void run(){ try{ diff --git a/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/XACMLPdpServlet.java b/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/XACMLPdpServlet.java index 1e1b94d9b..d57e88498 100644 --- a/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/XACMLPdpServlet.java +++ b/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/XACMLPdpServlet.java @@ -216,6 +216,8 @@ public class XACMLPdpServlet extends HttpServlet implements Runnable { synchronized(pdpEngineLock) { pdpEngine = engine; } + // Notification will be Sent Here. + XACMLPdpLoader.sendNotification(); } // // Logging stuff.... @@ -1228,6 +1230,8 @@ public class XACMLPdpServlet extends HttpServlet implements Runnable { newStatus.addLoadWarning("Unable to save configuration: " + e.getMessage()); } } + // Notification will be Sent Here. + XACMLPdpLoader.sendNotification(); } else { newStatus.setStatus(Status.LAST_UPDATE_FAILED); } diff --git a/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/notifications/NotificationController.java b/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/notifications/NotificationController.java index 873db4b6c..109d421f8 100644 --- a/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/notifications/NotificationController.java +++ b/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/notifications/NotificationController.java @@ -361,10 +361,10 @@ public class NotificationController { Files.deleteIfExists(removedPolicyFile); boolean delete=false; File dir= null; - if(oldPolicy.getName().startsWith("Config")){ + if(oldPolicy.getName().contains(".Config_")){ delete = true; dir = new File(XACMLProperties.getProperty(XACMLRestProperties.PROP_PDP_WEBAPPS)+File.separator+"Config"); - }else if(oldPolicy.getName().startsWith("Action")){ + }else if(oldPolicy.getName().contains(".Action_")){ delete = true; dir = new File(XACMLProperties.getProperty(XACMLRestProperties.PROP_PDP_WEBAPPS)+File.separator+"Action"); }