azkaban-aplcache
Changes
.gitignore 15(+8 -7)
Details
.gitignore 15(+8 -7)
diff --git a/.gitignore b/.gitignore
index 356c17c..137c932 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,10 +1,11 @@
-bin/
-build/
-.gradle/
-.settings/
-.idea/
*.iml
-/bin
+*.log
+*.swp
.classpath
+.gradle/
+.idea/
.project
-*.swp
+.settings/
+/bin
+bin/
+build/
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 4323d46..72c9c54 100644
--- a/azkaban-webserver/src/main/java/azkaban/webapp/servlet/ProjectManagerServlet.java
+++ b/azkaban-webserver/src/main/java/azkaban/webapp/servlet/ProjectManagerServlet.java
@@ -217,96 +217,95 @@ public class ProjectManagerServlet extends LoginAbstractAzkabanServlet {
String projectName = getParam(req, "project");
User user = session.getUser();
- HashMap<String, Object> ret = new HashMap<String, Object>();
+ HashMap<String, Object> ret = new HashMap<>();
ret.put("project", projectName);
Project project = projectManager.getProject(projectName);
if (project == null) {
ret.put("error", "Project " + projectName + " doesn't exist.");
- return;
- }
-
- ret.put("projectId", project.getId());
- String ajaxName = getParam(req, "ajax");
- if (ajaxName.equals("fetchProjectLogs")) {
- if (handleAjaxPermission(project, user, Type.READ, ret)) {
- ajaxFetchProjectLogEvents(project, req, resp, ret, user);
- }
- } else if (ajaxName.equals("fetchflowjobs")) {
- if (handleAjaxPermission(project, user, Type.READ, ret)) {
- ajaxFetchFlow(project, ret, req, resp);
- }
- } else if (ajaxName.equals("fetchflowdetails")) {
- if (handleAjaxPermission(project, user, Type.READ, ret)) {
- ajaxFetchFlowDetails(project, ret, req);
- }
- } else if (ajaxName.equals("fetchflowgraph")) {
- if (handleAjaxPermission(project, user, Type.READ, ret)) {
- ajaxFetchFlowGraph(project, ret, req);
- }
- } else if (ajaxName.equals("fetchflownodedata")) {
- if (handleAjaxPermission(project, user, Type.READ, ret)) {
- ajaxFetchFlowNodeData(project, ret, req);
- }
- } else if (ajaxName.equals("fetchprojectflows")) {
- if (handleAjaxPermission(project, user, Type.READ, ret)) {
- ajaxFetchProjectFlows(project, ret, req);
- }
- } else if (ajaxName.equals("changeDescription")) {
- if (handleAjaxPermission(project, user, Type.WRITE, ret)) {
- ajaxChangeDescription(project, ret, req, user);
- }
- } else if (ajaxName.equals("getPermissions")) {
- if (handleAjaxPermission(project, user, Type.READ, ret)) {
- ajaxGetPermissions(project, ret);
- }
- } else if (ajaxName.equals("getGroupPermissions")) {
- if (handleAjaxPermission(project, user, Type.READ, ret)) {
- ajaxGetGroupPermissions(project, ret);
- }
- } else if (ajaxName.equals("getProxyUsers")) {
- if (handleAjaxPermission(project, user, Type.READ, ret)) {
- ajaxGetProxyUsers(project, ret);
- }
- } else if (ajaxName.equals("changePermission")) {
- if (handleAjaxPermission(project, user, Type.ADMIN, ret)) {
- ajaxChangePermissions(project, ret, req, user);
- }
- } else if (ajaxName.equals("addPermission")) {
- if (handleAjaxPermission(project, user, Type.ADMIN, ret)) {
- ajaxAddPermission(project, ret, req, user);
- }
- } else if (ajaxName.equals("addProxyUser")) {
- if (handleAjaxPermission(project, user, Type.ADMIN, ret)) {
- ajaxAddProxyUser(project, ret, req, user);
- }
- } else if (ajaxName.equals("removeProxyUser")) {
- if (handleAjaxPermission(project, user, Type.ADMIN, ret)) {
- ajaxRemoveProxyUser(project, ret, req, user);
- }
- } else if (ajaxName.equals("fetchFlowExecutions")) {
- if (handleAjaxPermission(project, user, Type.READ, ret)) {
- ajaxFetchFlowExecutions(project, ret, req);
- }
- } else if (ajaxName.equals("fetchLastSuccessfulFlowExecution")) {
- if (handleAjaxPermission(project, user, Type.READ, ret)) {
- ajaxFetchLastSuccessfulFlowExecution(project, ret, req);
- }
- } else if (ajaxName.equals("fetchJobInfo")) {
- if (handleAjaxPermission(project, user, Type.READ, ret)) {
- ajaxFetchJobInfo(project, ret, req);
- }
- } else if (ajaxName.equals("setJobOverrideProperty")) {
- if (handleAjaxPermission(project, user, Type.WRITE, ret)) {
- ajaxSetJobOverrideProperty(project, ret, req);
- }
} else {
- ret.put("error", "Cannot execute command " + ajaxName);
+ ret.put("projectId", project.getId());
+ String ajaxName = getParam(req, "ajax");
+ if (ajaxName.equals("getProjectId")) {
+ // Do nothing, since projectId is added to all AJAX requests.
+ } else if (ajaxName.equals("fetchProjectLogs")) {
+ if (handleAjaxPermission(project, user, Type.READ, ret)) {
+ ajaxFetchProjectLogEvents(project, req, ret);
+ }
+ } else if (ajaxName.equals("fetchflowjobs")) {
+ if (handleAjaxPermission(project, user, Type.READ, ret)) {
+ ajaxFetchFlow(project, ret, req);
+ }
+ } else if (ajaxName.equals("fetchflowdetails")) {
+ if (handleAjaxPermission(project, user, Type.READ, ret)) {
+ ajaxFetchFlowDetails(project, ret, req);
+ }
+ } else if (ajaxName.equals("fetchflowgraph")) {
+ if (handleAjaxPermission(project, user, Type.READ, ret)) {
+ ajaxFetchFlowGraph(project, ret, req);
+ }
+ } else if (ajaxName.equals("fetchflownodedata")) {
+ if (handleAjaxPermission(project, user, Type.READ, ret)) {
+ ajaxFetchFlowNodeData(project, ret, req);
+ }
+ } else if (ajaxName.equals("fetchprojectflows")) {
+ if (handleAjaxPermission(project, user, Type.READ, ret)) {
+ ajaxFetchProjectFlows(project, ret, req);
+ }
+ } else if (ajaxName.equals("changeDescription")) {
+ if (handleAjaxPermission(project, user, Type.WRITE, ret)) {
+ ajaxChangeDescription(project, ret, req, user);
+ }
+ } else if (ajaxName.equals("getPermissions")) {
+ if (handleAjaxPermission(project, user, Type.READ, ret)) {
+ ajaxGetPermissions(project, ret);
+ }
+ } else if (ajaxName.equals("getGroupPermissions")) {
+ if (handleAjaxPermission(project, user, Type.READ, ret)) {
+ ajaxGetGroupPermissions(project, ret);
+ }
+ } else if (ajaxName.equals("getProxyUsers")) {
+ if (handleAjaxPermission(project, user, Type.READ, ret)) {
+ ajaxGetProxyUsers(project, ret);
+ }
+ } else if (ajaxName.equals("changePermission")) {
+ if (handleAjaxPermission(project, user, Type.ADMIN, ret)) {
+ ajaxChangePermissions(project, ret, req, user);
+ }
+ } else if (ajaxName.equals("addPermission")) {
+ if (handleAjaxPermission(project, user, Type.ADMIN, ret)) {
+ ajaxAddPermission(project, ret, req, user);
+ }
+ } else if (ajaxName.equals("addProxyUser")) {
+ if (handleAjaxPermission(project, user, Type.ADMIN, ret)) {
+ ajaxAddProxyUser(project, ret, req, user);
+ }
+ } else if (ajaxName.equals("removeProxyUser")) {
+ if (handleAjaxPermission(project, user, Type.ADMIN, ret)) {
+ ajaxRemoveProxyUser(project, ret, req, user);
+ }
+ } else if (ajaxName.equals("fetchFlowExecutions")) {
+ if (handleAjaxPermission(project, user, Type.READ, ret)) {
+ ajaxFetchFlowExecutions(project, ret, req);
+ }
+ } else if (ajaxName.equals("fetchLastSuccessfulFlowExecution")) {
+ if (handleAjaxPermission(project, user, Type.READ, ret)) {
+ ajaxFetchLastSuccessfulFlowExecution(project, ret, req);
+ }
+ } else if (ajaxName.equals("fetchJobInfo")) {
+ if (handleAjaxPermission(project, user, Type.READ, ret)) {
+ ajaxFetchJobInfo(project, ret, req);
+ }
+ } else if (ajaxName.equals("setJobOverrideProperty")) {
+ if (handleAjaxPermission(project, user, Type.WRITE, ret)) {
+ ajaxSetJobOverrideProperty(project, ret, req);
+ }
+ } else {
+ ret.put("error", "Cannot execute command " + ajaxName);
+ }
}
- if (ret != null) {
- this.writeJSON(resp, ret);
- }
+ this.writeJSON(resp, ret);
}
private boolean handleAjaxPermission(Project project, User user, Type type,
@@ -320,17 +319,11 @@ public class ProjectManagerServlet extends LoginAbstractAzkabanServlet {
}
private void ajaxFetchProjectLogEvents(Project project,
- HttpServletRequest req, HttpServletResponse resp,
- HashMap<String, Object> ret, User user) throws ServletException {
- if (!hasPermission(project, user, Type.READ)) {
- ret.put("error", "Permission denied. Need READ access.");
- return;
- }
-
+ HttpServletRequest req, HashMap<String, Object> ret) throws ServletException {
int num = this.getIntParam(req, "size", 1000);
int skip = this.getIntParam(req, "skip", 0);
- List<ProjectLogEvent> logEvents = null;
+ List<ProjectLogEvent> logEvents;
try {
logEvents = projectManager.getProjectEventLogs(project, num, skip);
} catch (ProjectManagerException e) {
@@ -340,7 +333,7 @@ public class ProjectManagerServlet extends LoginAbstractAzkabanServlet {
String[] columns = new String[] { "user", "time", "type", "message" };
ret.put("columns", columns);
- List<Object[]> eventData = new ArrayList<Object[]>();
+ List<Object[]> eventData = new ArrayList<>();
for (ProjectLogEvent events : logEvents) {
Object[] entry = new Object[4];
entry[0] = events.getUser();
@@ -872,7 +865,7 @@ public class ProjectManagerServlet extends LoginAbstractAzkabanServlet {
}
private void ajaxFetchFlow(Project project, HashMap<String, Object> ret,
- HttpServletRequest req, HttpServletResponse resp) throws ServletException {
+ HttpServletRequest req) throws ServletException {
String flowId = getParam(req, "flow");
Flow flow = project.getFlow(flowId);