From 3830cf1b31861fe8bd76388e16c5e096efdfa1b6 Mon Sep 17 00:00:00 2001 From: jbai Date: Mon, 29 Feb 2016 16:00:10 -0800 Subject: [PATCH] add the title for dataset and flow lineage --- web/app/controllers/Application.java | 2 +- web/app/dao/LineageDAO.java | 20 ++++++++++++++++++++ web/app/views/lineage.scala.html | 1 + web/public/javascripts/lineage.js | 14 ++++++++++++++ 4 files changed, 36 insertions(+), 1 deletion(-) diff --git a/web/app/controllers/Application.java b/web/app/controllers/Application.java index 065398f295..349799ba8d 100644 --- a/web/app/controllers/Application.java +++ b/web/app/controllers/Application.java @@ -92,7 +92,7 @@ public class Application extends Controller type = "appworx"; } - return ok(lineage.render(username, type, 0, application, project, flow)); + return ok(lineage.render(username, type, 0, application.replace(" ", "."), project, flow)); } @Security.Authenticated(Secured.class) diff --git a/web/app/dao/LineageDAO.java b/web/app/dao/LineageDAO.java index 4f6b2315a4..b4d62ea5fb 100644 --- a/web/app/dao/LineageDAO.java +++ b/web/app/dao/LineageDAO.java @@ -35,6 +35,9 @@ public class LineageDAO extends AbstractMySQLOpenSourceDAO private final static String GET_APPLICATION_ID = "SELECT DISTINCT app_id FROM " + "job_execution_data_lineage WHERE abstracted_object_name = ?"; + private final static String GET_FLOW_NAME = "SELECT flow_name FROM " + + "flow WHERE app_id = ? and flow_id = ?"; + private final static String GET_JOB = "SELECT ca.app_id, ca.app_code as cluster, je.flow_id, je.job_id, jedl.job_name, " + "fj.job_path, fj.job_type, jedl.flow_path, jedl.storage_type, jedl.source_target_type, jedl.operation, " + "max(jedl.job_exec_id) as job_exec_id, FROM_UNIXTIME(jedl.job_start_unixtime) as start_time, " + @@ -135,6 +138,7 @@ public class LineageDAO extends AbstractMySQLOpenSourceDAO } resultNode.set("nodes", Json.toJson(nodes)); resultNode.set("links", Json.toJson(edges)); + resultNode.put("urn", urn); resultNode.put("message", message); return resultNode; } @@ -404,6 +408,7 @@ public class LineageDAO extends AbstractMySQLOpenSourceDAO ObjectNode resultNode = Json.newObject(); List nodes = new ArrayList(); List edges = new ArrayList(); + String flowName = null; Map addedJobNodes = new HashMap(); Map addedDataNodes = new HashMap(); @@ -436,6 +441,20 @@ public class LineageDAO extends AbstractMySQLOpenSourceDAO if (appID != 0) { + try + { + flowName = getJdbcTemplate().queryForObject( + GET_FLOW_NAME, + new Object[] {appID, flowId}, + String.class); + } + catch(EmptyResultDataAccessException e) + { + Logger.error("getFlowLineage get flow name failed, application name = " + application + + " flowId " + Long.toString(flowId)); + Logger.error("Exception = " + e.getMessage()); + } + Long flowExecId = 0L; try { @@ -782,6 +801,7 @@ public class LineageDAO extends AbstractMySQLOpenSourceDAO } resultNode.set("nodes", Json.toJson(nodes)); resultNode.set("links", Json.toJson(edges)); + resultNode.put("flowName", flowName); return resultNode; } diff --git a/web/app/views/lineage.scala.html b/web/app/views/lineage.scala.html index 0ba6a2309c..04cf15b10b 100644 --- a/web/app/views/lineage.scala.html +++ b/web/app/views/lineage.scala.html @@ -14,6 +14,7 @@ +

diff --git a/web/public/javascripts/lineage.js b/web/public/javascripts/lineage.js index c938efb5a9..32dcb162ab 100644 --- a/web/public/javascripts/lineage.js +++ b/web/public/javascripts/lineage.js @@ -53,6 +53,10 @@ var g_downLevel = 1; var type = $('#lineageType').val(); var id = $('#lineageID').val(); var application = $('#application').val(); + if (application) + { + application = application.replace(/\./g, " "); + } var project = $('#project').val(); var flow = $('#flow').val(); var url = ''; @@ -99,6 +103,11 @@ var g_downLevel = 1; $.get(url, function(data) { if (data && data.status == "ok"){ $("#loading").hide(); + var titleObj = $('#title'); + if (titleObj && data.data && data.data.urn) + { + titleObj.text("Lineage for: " + data.data.urn); + } renderTables(data.data); g_currentData = data.data; setupDagreGraph(data.data, rotation, type); @@ -127,6 +136,11 @@ var g_downLevel = 1; $.get(url, function(data) { if (data && data.status == "ok"){ $("#loading").hide(); + var titleObj = $('#title'); + if (titleObj && data.data && data.data.flowName) + { + titleObj.text("Lineage for: " + application + '/' + project + '/' + data.data.flowName); + } renderTables(data.data); g_currentData = data.data; setupDagreGraph(data.data, rotation, type);