azkaban-developers

Details

diff --git a/azkaban-common/src/main/java/azkaban/project/JdbcProjectLoader.java b/azkaban-common/src/main/java/azkaban/project/JdbcProjectLoader.java
index 2102b43..12b72dd 100644
--- a/azkaban-common/src/main/java/azkaban/project/JdbcProjectLoader.java
+++ b/azkaban-common/src/main/java/azkaban/project/JdbcProjectLoader.java
@@ -141,7 +141,7 @@ public class JdbcProjectLoader extends AbstractJdbcLoader implements
           runner.query(connection, ProjectResultHandler.SELECT_PROJECT_BY_ID,
               handler, id);
       if (projects.isEmpty()) {
-        throw new ProjectManagerException("No active project with id " + id
+        throw new ProjectManagerException("No project with id " + id
             + " exists in db.");
       }
 
@@ -201,7 +201,7 @@ public class JdbcProjectLoader extends AbstractJdbcLoader implements
                     ProjectResultHandler.SELECT_PROJECT_BY_NAME, handler, name);
             if (projects.isEmpty()) {
                 throw new ProjectManagerException(
-                    "No active project with name " + name + " exists in db.");
+                    "No project with name " + name + " exists in db.");
             }
 
             project = projects.get(0);
diff --git a/azkaban-common/src/main/java/azkaban/project/ProjectManager.java b/azkaban-common/src/main/java/azkaban/project/ProjectManager.java
index f2647ce..0f09b9c 100644
--- a/azkaban-common/src/main/java/azkaban/project/ProjectManager.java
+++ b/azkaban-common/src/main/java/azkaban/project/ProjectManager.java
@@ -229,8 +229,7 @@ public class ProjectManager {
             try {
                 fetchedProject = projectLoader.fetchProjectByName(name);
             } catch (ProjectManagerException e) {
-                throw new RuntimeException(
-                    "Could not load project from store.", e);
+                logger.error("Could not load project from store.", e);
             }
         }
         return fetchedProject;
@@ -251,8 +250,7 @@ public class ProjectManager {
             try {
                 fetchedProject = projectLoader.fetchProjectById(id);
             } catch (ProjectManagerException e) {
-                throw new RuntimeException(
-                    "Could not load project from store.", e);
+                logger.error("Could not load project from store.", e);
             }
         }
         return fetchedProject;
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 991f94a..dc0ef87 100644
--- a/azkaban-webserver/src/main/java/azkaban/webapp/servlet/ProjectManagerServlet.java
+++ b/azkaban-webserver/src/main/java/azkaban/webapp/servlet/ProjectManagerServlet.java
@@ -530,38 +530,43 @@ public class ProjectManagerServlet extends LoginAbstractAzkabanServlet {
         User user = session.getUser();
         String projectName = getParam(req, "project");
         HashMap<String, Object> ret = new HashMap<String, Object>();
-        boolean valid = true;
+        boolean isOperationSuccessful = true;
 
         if (projectManager.isActiveProject(projectName)) {
             ret.put("error", "Project " + projectName
                 + " should be deleted before purging");
-            valid = false;
+            isOperationSuccessful = false;
         }
 
         try {
             Project project = null;
 
             // project is already deleted
-            if (valid) {
+            if (isOperationSuccessful) {
                 project = projectManager.getProject(projectName);
-                // only eligible users can purge a project
-                if (project == null
-                    || !hasPermission(project, user, Type.ADMIN)) {
-                    ret.put("error", "Cannot purge. User '" + user.getUserId()
-                        + "' is not an ADMIN.");
-                    valid = false;
+                if (project == null) {
+                    ret.put("error", "no project with name : " + projectName);
+                    isOperationSuccessful = false;
                 }
             }
 
-            if (valid) {
+            // only eligible users can purge a project
+            if (isOperationSuccessful
+                && !hasPermission(project, user, Type.ADMIN)) {
+                ret.put("error", "Cannot purge. User '" + user.getUserId()
+                    + "' is not an ADMIN.");
+                isOperationSuccessful = false;
+            }
+
+            if (isOperationSuccessful) {
                 projectManager.purgeProject(project, user);
             }
         } catch (Exception e) {
             ret.put("error", e.getMessage());
-            valid = false;
+            isOperationSuccessful = false;
         }
 
-        ret.put("success", valid);
+        ret.put("success", isOperationSuccessful);
         this.writeJSON(resp, ret);
     }