Skip to content

Commit

Permalink
project whitelist support
Browse files Browse the repository at this point in the history
  • Loading branch information
William Kang committed May 28, 2015
1 parent 6c49c97 commit 7c794dc
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 9 deletions.
Expand Up @@ -517,9 +517,11 @@ public void postProjectEvent(Project project, EventType type, String user,
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;
}
}
Expand Up @@ -39,7 +39,7 @@
*
*/
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";
Expand Down
Expand Up @@ -59,6 +59,7 @@
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;
Expand Down Expand Up @@ -1743,24 +1744,22 @@ private boolean hasPermissionToCreateProject(User user) {

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);
}

Expand Down

0 comments on commit 7c794dc

Please sign in to comment.