azkaban-memoizeit

Merge pull request #20 from lishd/master Fixed null/empty

5/21/2013 3:34:49 PM

Details

diff --git a/src/java/azkaban/executor/ExecutableFlow.java b/src/java/azkaban/executor/ExecutableFlow.java
index b449654..152a546 100644
--- a/src/java/azkaban/executor/ExecutableFlow.java
+++ b/src/java/azkaban/executor/ExecutableFlow.java
@@ -266,6 +266,7 @@ public class ExecutableFlow {
 		flowObj.put("executionPath", executionPath);
 		flowObj.put("flowId", flowId);
 		flowObj.put("projectId", projectId);
+		
 		if(scheduleId >= 0) {
 			flowObj.put("scheduleId", scheduleId);
 		}
diff --git a/src/java/azkaban/executor/JdbcExecutorLoader.java b/src/java/azkaban/executor/JdbcExecutorLoader.java
index 33a9f76..5c907a9 100644
--- a/src/java/azkaban/executor/JdbcExecutorLoader.java
+++ b/src/java/azkaban/executor/JdbcExecutorLoader.java
@@ -223,13 +223,13 @@ public class JdbcExecutorLoader extends AbstractJdbcLoader implements ExecutorLo
 		ArrayList<Object> params = new ArrayList<Object>();
 		
 		boolean first = true;
-		if (projContain != null) {
+		if (projContain != null && !projContain.isEmpty()) {
 			query += " ef JOIN projects p ON ef.project_id = p.id WHERE name LIKE ?";
 			params.add('%'+projContain+'%');
 			first = false;
 		}
 		
-		if (flowContains != null) {
+		if (flowContains != null && !flowContains.isEmpty()) {
 			if (first) {
 				query += " WHERE ";
 				first = false;
@@ -242,7 +242,7 @@ public class JdbcExecutorLoader extends AbstractJdbcLoader implements ExecutorLo
 			params.add('%'+flowContains+'%');
 		}
 		
-		if (userNameContains != null) {
+		if (userNameContains != null && !userNameContains.isEmpty()) {
 			if (first) {
 				query += " WHERE ";
 				first = false;
diff --git a/src/java/azkaban/scheduler/ScheduleManager.java b/src/java/azkaban/scheduler/ScheduleManager.java
index 00c4f46..c60f143 100644
--- a/src/java/azkaban/scheduler/ScheduleManager.java
+++ b/src/java/azkaban/scheduler/ScheduleManager.java
@@ -270,15 +270,17 @@ public class ScheduleManager {
 	 * @param flow
 	 */
 	public synchronized void insertSchedule(Schedule s) {
-		boolean exist = scheduleIdentityPairMap.containsKey(s.getScheduleIdentityPair());
+		boolean exist = s.getScheduleId() != -1;
 		if(s.updateTime()) {
-			internalSchedule(s);
 			try {
 				if(!exist) {
 					loader.insertSchedule(s);
+					internalSchedule(s);
 				}
-				else
+				else{
 					loader.updateSchedule(s);
+					internalSchedule(s);
+				}
 			} catch (ScheduleManagerException e) {
 				// TODO Auto-generated catch block
 				e.printStackTrace();
@@ -407,6 +409,7 @@ public class ScheduleManager {
 
 									// Create ExecutableFlow
 									ExecutableFlow exflow = new ExecutableFlow(flow);
+									System.out.println("ScheduleManager: creating schedule: " +runningSched.getScheduleId());
 									exflow.setScheduleId(runningSched.getScheduleId());
 									exflow.setSubmitUser(runningSched.getSubmitUser());
 									exflow.addAllProxyUsers(project.getProxyUsers());
diff --git a/src/java/azkaban/webapp/servlet/HistoryServlet.java b/src/java/azkaban/webapp/servlet/HistoryServlet.java
index ac6fed0..aa6d2ad 100644
--- a/src/java/azkaban/webapp/servlet/HistoryServlet.java
+++ b/src/java/azkaban/webapp/servlet/HistoryServlet.java
@@ -120,10 +120,10 @@ public class HistoryServlet extends LoginAbstractAzkabanServlet {
 		}
 		List<ExecutableFlow> history = null;
 		if(hasParam(req, "advfilter")) {
-			String projContain = getParam(req, "projcontain") == "" ? null : getParam(req, "projcontain");
-			String flowContain = getParam(req, "flowcontain") == "" ? null : getParam(req, "flowcontain");
-			String userContain = getParam(req, "usercontain") == "" ? null : getParam(req, "usercontain");
-			int status = getIntParam(req, "status") == 0 ? 0 : getIntParam(req, "status");
+			String projContain = getParam(req, "projcontain");
+			String flowContain = getParam(req, "flowcontain");
+			String userContain = getParam(req, "usercontain");
+			int status = getIntParam(req, "status");
 			String begin = getParam(req, "begin");
 			long beginTime = begin == "" ? -1 : DateTimeFormat.forPattern("MM/dd/yyyy-HH:mm").parseDateTime(begin).getMillis();
 			String end = getParam(req, "end");
@@ -131,7 +131,6 @@ public class HistoryServlet extends LoginAbstractAzkabanServlet {
 			try {
 				history = executorManager.getExecutableFlows(projContain, flowContain, userContain, status, beginTime, endTime, (pageNum - 1)*pageSize, pageSize);
 			} catch (ExecutorManagerException e) {
-				// TODO Auto-generated catch block
 				page.add("error", e.getMessage());
 			}
 		}