azkaban-memoizeit

Wiring the execution tab.

1/11/2014 1:55:09 AM

Details

diff --git a/src/java/azkaban/webapp/servlet/velocity/flowpage.vm b/src/java/azkaban/webapp/servlet/velocity/flowpage.vm
index eb355ef..6c6aa06 100644
--- a/src/java/azkaban/webapp/servlet/velocity/flowpage.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/flowpage.vm
@@ -37,6 +37,7 @@
 		<script type="text/javascript" src="${context}/js/azkaban.context.menu.js"></script>
 		<script type="text/javascript" src="${context}/js/azkaban.job.status.utils.js"></script>
 		<script type="text/javascript" src="${context}/js/azkaban.layout.js"></script>
+		<script type="text/javascript" src="${context}/js/azkaban.flow.execute.view.js"></script>
 		<script type="text/javascript" src="${context}/js/azkaban.flow.view.js"></script>
 		<script type="text/javascript" src="${context}/js/azkaban.flow.job.view.js"></script>
 		<script type="text/javascript" src="${context}/js/azkaban.svg.flow.loader.js"></script>
diff --git a/src/web/js/azkaban.flow.execute.view.js b/src/web/js/azkaban.flow.execute.view.js
index f309163..c09af4c 100644
--- a/src/web/js/azkaban.flow.execute.view.js
+++ b/src/web/js/azkaban.flow.execute.view.js
@@ -224,7 +224,6 @@ azkaban.FlowExecuteDialogView = Backbone.View.extend({
 		var execId = data.execid;
 	
 		var loadedId = executableGraphModel.get("flowId");
-	
 		this.loadGraph(projectName, flowId);
 		this.loadFlowInfo(projectName, flowId, execId);
 
@@ -291,7 +290,32 @@ azkaban.FlowExecuteDialogView = Backbone.View.extend({
 	
 	loadGraph: function(projectName, flowId) {
 		console.log("Loading flow " + flowId);
-		fetchFlow(this.model, projectName, flowId, true);
+		var requestURL = contextURL + "/manager";
+		
+		var graphModel = executableGraphModel;
+		//fetchFlow(this.model, projectName, flowId, true);
+		var requestData = {
+				"project": projectName, 
+				"ajax": "fetchflowgraph", 
+				"flow": flowId
+			};
+		var successHandler = function(data) {
+			console.log("data fetched");
+			processFlowData(data);
+			graphModel.set({data:data});
+			
+			executingSvgGraphView = new azkaban.SvgGraphView({
+				el: $('#flow-executing-graph'), 
+				model: graphModel,
+				render: true,
+				rightClick: { 
+					"node": nodeClickCallback,
+					"edge": edgeClickCallback, 
+					"graph": graphClickCallback 
+				}
+			});
+		};
+		$.get(requestURL, requestData, successHandler, "json");
 	},
 	
 	handleExecuteFlow: function(evt) {
@@ -608,17 +632,6 @@ $(function() {
 		el: $('#execute-flow-panel'), 
 		model: executableGraphModel
 	});
-	svgGraphView = new azkaban.SvgGraphView({
-		el: $('#svg-div-custom'), 
-		model: executableGraphModel, 
-		topGId: "topG", 
-		graphMargin: 10, 
-		rightClick: { 
-			"node": nodeClickCallback, 
-			"edge": edgeClickCallback, 
-			"graph": graphClickCallback 
-		}
-	});
 	
 	sideMenuDialogView = new azkaban.SideMenuDialogView({
 		el: $('#graph-options')
diff --git a/src/web/js/azkaban.svg.graph.view.js b/src/web/js/azkaban.svg.graph.view.js
index a3cc2e0..cf6d2c4 100644
--- a/src/web/js/azkaban.svg.graph.view.js
+++ b/src/web/js/azkaban.svg.graph.view.js
@@ -36,10 +36,16 @@ azkaban.SvgGraphView = Backbone.View.extend({
 		
 		var graphDiv = this.el[0];
 		var svg = $(this.el).find('svg')[0];
+		if (!svg) {
+			svg = this.el;
+		}
+
 		this.svgGraph = svg;
 		$(this.svgGraph).svg();
 		this.svg = $(svg).svg('get');
 
+		$(this.svgGraph).empty();
+		
 		// Create mainG node
 		var gNode = document.createElementNS(this.svgns, 'g');
 		gNode.setAttribute("class", "main graph");
@@ -69,7 +75,7 @@ azkaban.SvgGraphView = Backbone.View.extend({
 	},
 	render: function() {
 		console.log("graph render");
-		
+
 		this.graphBounds = this.renderGraph(this.model.get("data"), this.mainG);
 		this.resetPanZoom(0);
 	},