azkaban-developers

project whitelist support

5/26/2015 10:05:01 PM

Details

diff --git a/azkaban-webserver/src/main/java/azkaban/webapp/servlet/ProjectManagerServlet.java b/azkaban-webserver/src/main/java/azkaban/webapp/servlet/ProjectManagerServlet.java
index b59dc9d..523bd49 100644
--- a/azkaban-webserver/src/main/java/azkaban/webapp/servlet/ProjectManagerServlet.java
+++ b/azkaban-webserver/src/main/java/azkaban/webapp/servlet/ProjectManagerServlet.java
@@ -1742,10 +1742,26 @@ public class ProjectManagerServlet extends LoginAbstractAzkabanServlet {
   }
 
   private void handleReloadProjectWhitelist(HttpServletRequest req,
-  HttpServletResponse resp, Session session) throws ServletException {
+  HttpServletResponse resp, Session session) throws IOException {
+    boolean error = false;
+    HashMap<String, Object> ret = new HashMap<String, Object>();
+
     if (hasPermission(session.getUser(), Permission.Type.ADMIN)) {
-      projectManager.loadProjectWhiteList();
+      try {
+        projectManager.loadProjectWhiteList();
+      } catch(Exception e) {
+        error = true;
+        ret.put("error", "Exception occurred while trying to re-load project whitelist: " + e);
+      }
+    } else {
+      error = true;
+      ret.put("error", "Provided session doesn't have admin privilege.");
+    }
+
+    if (!error) {
+      ret.put("success", "Project whitelist re-loaded!");
     }
+    this.writeJSON(resp, ret);
   }
 
   protected boolean hasPermission(User user, Permission.Type type) {