PDP notification fixes 17/7217/1
authorTarun Tej Velaga <tt3868@att.com>
Thu, 10 Aug 2017 15:24:11 +0000 (15:24 +0000)
committerTarun Tej Velaga <tt3868@att.com>
Thu, 10 Aug 2017 15:25:41 +0000 (15:25 +0000)
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 <tt3868@att.com>
ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/XACMLPdpLoader.java
ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/XACMLPdpServlet.java
ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/notifications/NotificationController.java

index 7526af6..9b2b61f 100644 (file)
@@ -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<String, PolicyDef> policyContainer = null;
        
-       private static void sendNotification(){ 
+       public static synchronized void sendNotification(){
                Thread notify = new Thread(){
                        public void run(){
                                try{
index 1e1b94d..d57e884 100644 (file)
@@ -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);
                                }
index 873db4b..109d421 100644 (file)
@@ -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");
                        }