From 827a2016429bc377e28d2a414b6bcbdf8b6dc924 Mon Sep 17 00:00:00 2001 From: Tarun Tej Velaga Date: Thu, 10 Aug 2017 15:24:11 +0000 Subject: [PATCH] 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 --- .../src/main/java/org/onap/policy/pdp/rest/XACMLPdpLoader.java | 4 +--- .../src/main/java/org/onap/policy/pdp/rest/XACMLPdpServlet.java | 4 ++++ .../onap/policy/pdp/rest/notifications/NotificationController.java | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) 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"); } -- 2.16.6