diff --git a/azkaban-common/src/main/java/azkaban/project/ProjectManager.java b/azkaban-common/src/main/java/azkaban/project/ProjectManager.java
index 029e81e..89c6539 100644
--- a/azkaban-common/src/main/java/azkaban/project/ProjectManager.java
+++ b/azkaban-common/src/main/java/azkaban/project/ProjectManager.java
@@ -517,9 +517,11 @@ public class ProjectManager {
projectLoader.postEvent(project, type, user, message);
}
- public void loadProjectWhiteList() {
+ public boolean loadProjectWhiteList() {
if (props.containsKey(ProjectWhitelist.XML_FILE_PARAM)) {
ProjectWhitelist.load(props);
+ return true;
}
+ return false;
}
}
diff --git a/azkaban-common/src/main/java/azkaban/project/ProjectWhitelist.java b/azkaban-common/src/main/java/azkaban/project/ProjectWhitelist.java
index 5d7998d..9cd64d1 100644
--- a/azkaban-common/src/main/java/azkaban/project/ProjectWhitelist.java
+++ b/azkaban-common/src/main/java/azkaban/project/ProjectWhitelist.java
@@ -39,7 +39,7 @@ import azkaban.utils.Props;
*
*/
public class ProjectWhitelist {
- static final String XML_FILE_PARAM = "project.whitelist.xml.file";
+ public static final String XML_FILE_PARAM = "project.whitelist.xml.file";
private static final String PROJECT_WHITELIST_TAG = "ProjectWhitelist";
private static final String PROJECT_TAG = "project";
private static final String PROJECTNAME_ATTR = "projectname";
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 523bd49..435e1f9 100644
--- a/azkaban-webserver/src/main/java/azkaban/webapp/servlet/ProjectManagerServlet.java
+++ b/azkaban-webserver/src/main/java/azkaban/webapp/servlet/ProjectManagerServlet.java
@@ -59,6 +59,7 @@ import azkaban.project.ProjectFileHandler;
import azkaban.project.ProjectLogEvent;
import azkaban.project.ProjectManager;
import azkaban.project.ProjectManagerException;
+import azkaban.project.ProjectWhitelist;
import azkaban.project.validator.ValidationReport;
import azkaban.project.validator.ValidatorConfigs;
import azkaban.scheduler.Schedule;
@@ -1743,24 +1744,22 @@ public class ProjectManagerServlet extends LoginAbstractAzkabanServlet {
private void handleReloadProjectWhitelist(HttpServletRequest req,
HttpServletResponse resp, Session session) throws IOException {
- boolean error = false;
HashMap<String, Object> ret = new HashMap<String, Object>();
if (hasPermission(session.getUser(), Permission.Type.ADMIN)) {
try {
- projectManager.loadProjectWhiteList();
+ if (projectManager.loadProjectWhiteList()) {
+ ret.put("success", "Project whitelist re-loaded!");
+ } else {
+ ret.put("error", "azkaban.properties doesn't contain property " + ProjectWhitelist.XML_FILE_PARAM);
+ }
} 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);
}