You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by ve...@apache.org on 2015/09/12 00:52:38 UTC
[01/11] incubator-atlas git commit: ATLAS-154 Update website for
0.5-incubating release. Contributed by Venkatesh Seetharam
Repository: incubator-atlas
Updated Branches:
refs/heads/master 367f5f8ee -> 016e36c00
ATLAS-154 Update website for 0.5-incubating release. Contributed by Venkatesh Seetharam
Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/e4c5648b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/e4c5648b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/e4c5648b
Branch: refs/heads/master
Commit: e4c5648b642851519d7877945545fe7183234050
Parents: 367f5f8
Author: Venkatesh Seetharam <ve...@apache.org>
Authored: Fri Sep 11 14:51:18 2015 -0700
Committer: Venkatesh Seetharam <ve...@apache.org>
Committed: Fri Sep 11 14:51:18 2015 -0700
----------------------------------------------------------------------
docs/src/site/site.xml | 6 ++++--
release-log.txt | 1 +
2 files changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/e4c5648b/docs/src/site/site.xml
----------------------------------------------------------------------
diff --git a/docs/src/site/site.xml b/docs/src/site/site.xml
index c2ab126..b412569 100755
--- a/docs/src/site/site.xml
+++ b/docs/src/site/site.xml
@@ -94,12 +94,14 @@
</menu>
<menu name="Releases">
- <item name="Coming soon" href="https://cwiki.apache.org/confluence/display/ATLAS"/>
+ <item name="0.5-incubating"
+ href="http://www.apache.org/dyn/closer.cgi/incubator/atlas/0.5.0-incubating/"/>
</menu>
<menu name="Documentation">
<!-- current points to latest release -->
- <item name="current" href="index.html"/>
+ <item name="current" href="./0.5.0-incubating/index.html"/>
+ <item name="0.5-incubating" href="./0.5.0-incubating/index.html"/>
</menu>
<menu name="Resources">
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/e4c5648b/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index e2e5557..0711f7c 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -8,6 +8,7 @@ ATLAS-54 Rename configs in hive hook (shwethags)
ATLAS-3 Mixed Index creation fails with Date types (suma.shivaprasad via shwethags)
ALL CHANGES:
+ATLAS-154 Update website for 0.5-incubating release (Venkatesh Seetharam)
ATLAS-153 Build failure - org.glassfish:javax.el (shwethags)
ATLAS-117 Build fails on the latest commit (dossett@gmail.com via shwethags)
ATLAS-115 Remove unnecessary log4j.xml in typesystem (jmaron)
[09/11] incubator-atlas git commit: ATLAS-112 UI: Make lineage graph
extensible for multiple nodes. Contributed by Vishal Kadam
Posted by ve...@apache.org.
ATLAS-112 UI: Make lineage graph extensible for multiple nodes. Contributed by Vishal Kadam
Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/1e1ed482
Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/1e1ed482
Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/1e1ed482
Branch: refs/heads/master
Commit: 1e1ed482cebff075664577d383d5e7a3bc6d12c3
Parents: ff5b1f1
Author: Venkatesh Seetharam <ve...@apache.org>
Authored: Fri Sep 11 15:16:37 2015 -0700
Committer: Venkatesh Seetharam <ve...@apache.org>
Committed: Fri Sep 11 15:16:37 2015 -0700
----------------------------------------------------------------------
dashboard/.jshintrc | 5 +-
.../public/modules/lineage/lineageController.js | 582 +++++++++++++++----
.../public/modules/lineage/views/lineage.html | 15 +-
release-log.txt | 2 +
4 files changed, 482 insertions(+), 122 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/1e1ed482/dashboard/.jshintrc
----------------------------------------------------------------------
diff --git a/dashboard/.jshintrc b/dashboard/.jshintrc
index 62b5e65..f42738e 100644
--- a/dashboard/.jshintrc
+++ b/dashboard/.jshintrc
@@ -39,7 +39,8 @@
"undef": true, // Require all non-global variables be declared before they are used.
"unused": true, // Warn unused variables.
"globals": { // Globals variables.
- "angular": true
+ "angular": true,
+ "$": false
},
"predef": [ // Extra globals.
"define",
@@ -60,4 +61,4 @@
"expect",
"ngGridFlexibleHeightPlugin"
]
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/1e1ed482/dashboard/public/modules/lineage/lineageController.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/lineage/lineageController.js b/dashboard/public/modules/lineage/lineageController.js
index b8bd09c..151002f 100644
--- a/dashboard/public/modules/lineage/lineageController.js
+++ b/dashboard/public/modules/lineage/lineageController.js
@@ -36,8 +36,9 @@ angular.module('dgc.lineage').controller('LineageController', ['$element', '$sco
render();
}
});
+ }else{
+ $scope.requested = false;
}
- $scope.requested = false;
});
}
@@ -62,16 +63,28 @@ angular.module('dgc.lineage').controller('LineageController', ['$element', '$sco
$scope.type = $element.parent().attr('data-table-type');
$scope.requested = false;
+ $scope.height = $element[0].offsetHeight;
+ $scope.width = $element[0].offsetWidth;
function render() {
renderGraph($scope.lineageData, {
+ eleObj : $element,
element: $element[0],
- height: $element[0].offsetHeight,
- width: $element[0].offsetWidth
+ height: $scope.height,
+ width: $scope.width
});
$scope.rendered = true;
}
+ $scope.onReset = function(){
+ renderGraph($scope.lineageData, {
+ eleObj : $element,
+ element: $element[0],
+ height: $scope.height,
+ width: $scope.width
+ });
+ };
+
$scope.$on('render-lineage', function(event, lineageData) {
if (lineageData.type === $scope.type) {
if (!$scope.lineageData) {
@@ -155,50 +168,249 @@ angular.module('dgc.lineage').controller('LineageController', ['$element', '$sco
}
function renderGraph(data, container) {
- // ************** Generate the tree diagram *****************
- var element = d3.select(container.element),
- width = Math.max(container.width, 960),
- height = Math.max(container.height, 350);
-
- var margin = {
- top: 100,
- right: 80,
- bottom: 30,
- left: 80
- };
- width = width - margin.right - margin.left;
- height = height - margin.top - margin.bottom;
-
- var i = 0;
-
- var tree = d3.layout.tree()
- .size([height, width]);
-
- var diagonal = d3.svg.diagonal()
- .projection(function(d) {
- return [d.y, d.x];
- });
+ // ************** Generate the tree diagram *****************
+ var element = d3.select(container.element),
+ widthg = Math.max(container.width, 960),
+ heightg = Math.max(container.height, 500),
+
+ totalNodes = 0,
+ maxLabelLength = 0,
+ selectedNode = null,
+ draggingNode = null,
+ dragListener = null,
+ dragStarted = true,
+ domNode = null,
+ multiParents = null,
+ nodes = null,
+ tooltip = null,
+ node = null,
+ i = 0,
+ duration = 750,
+ root,
+ depthwidth = 10;
+
+
+ var viewerWidth = widthg - 15,
+ viewerHeight = heightg;
+
+ var tree = d3.layout.tree().nodeSize([100, 200]);
+ /*.size([viewerHeight, viewerWidth]);*/
+
+ container.eleObj.find(".graph").html('');
+ container.eleObj.find("svg").remove();
+
+ // define a d3 diagonal projection for use by the node paths later on.
+ var diagonal = d3.svg.diagonal()
+ .projection(function(d) {
+ return [d.y, d.x];
+ });
- /* Initialize tooltip */
- var tooltip = d3.tip()
- .attr('class', 'd3-tip')
- .html(function(d) {
- return '<pre class="alert alert-success">' + d.tip + '</pre>';
- });
+ // A recursive helper function for performing some setup by walking through all nodes
+
+ function visit(parent, visitFn, childrenFn) {
+ if (!parent) return;
+
+ visitFn(parent);
+
+ var children = childrenFn(parent);
+ if (children) {
+ var count = children.length;
+ for (var i = 0; i < count; i++) {
+ visit(children[i], visitFn, childrenFn);
+ }
+ }
+ }
+
+ // Call visit function to establish maxLabelLength
+ visit(data, function(d) {
+ totalNodes++;
+ maxLabelLength = Math.max(d.name.length, maxLabelLength);
+
+ }, function(d) {
+ return d.children && d.children.length > 0 ? d.children : null;
+ });
+
+
+ // sort the tree according to the node names
+
+ function sortTree() {
+ tree.sort(function(a, b) {
+ return b.name.toLowerCase() < a.name.toLowerCase() ? 1 : -1;
+ });
+ }
+ // Sort the tree initially incase the JSON isn't in a sorted order.
+ sortTree();
+
+ // Define the zoom function for the zoomable tree
+
+ function zoom() {
+ svgGroup.attr("transform", "translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")");
+ }
+
+
+ // define the zoomListener which calls the zoom function on the "zoom" event constrained within the scaleExtents
+ var zoomListener = d3.behavior.zoom().scaleExtent([0.1, 3]).on("zoom", zoom);
+ /* Initialize tooltip */
+ tooltip = d3.tip()
+ .attr('class', 'd3-tip')
+ .html(function(d) {
+ return '<pre class="alert alert-success">' + d.name + '</pre>';
+ });
- var svg = element.select('svg')
- .attr('width', width + margin.right + margin.left)
- .attr('height', height + margin.top + margin.bottom)
- /* Invoke the tip in the context of your visualization */
- .call(tooltip)
- .select('g')
- .attr('transform',
- 'translate(' + margin.left + ',' + margin.right + ')');
- //arrow
- svg.append("svg:defs").append("svg:marker").attr("id", "arrow").attr("viewBox", "0 0 10 10").attr("refX", 26).attr("refY", 5).attr("markerUnits", "strokeWidth").attr("markerWidth", 6).attr("markerHeight", 9).attr("orient", "auto").append("svg:path").attr("d", "M 0 0 L 10 5 L 0 10 z");
+ // define the baseSvg, attaching a class for styling and the zoomListener
+ var baseSvg = element.append('svg')
+ .attr("width", viewerWidth)
+ .attr("height", viewerHeight)
+ .attr("class", "overlay")
+ .call(zoomListener)
+ .call(tooltip);
+
+
+ // Define the drag listeners for drag/drop behaviour of nodes.
+ dragListener = d3.behavior.drag()
+ .on("dragstart", function(d) {
+ if (d ===root) {
+ return;
+ }
+ dragStarted = true;
+ nodes = tree.nodes(d);
+ d3.event.sourceEvent.stopPropagation();
+ // it's important that we suppress the mouseover event on the node being dragged. Otherwise it will absorb the mouseover event and the underlying node will not detect it d3.select(this).attr('pointer-events', 'none');
+ })
+ .on("dragend", function(d) {
+ if (d ===root) {
+ return;
+ }
+ domNode = this;
+ if (selectedNode) {
+ // now remove the element from the parent, and insert it into the new elements children
+ var index = draggingNode.parent.children.indexOf(draggingNode);
+ if (index > -1) {
+ draggingNode.parent.children.splice(index, 1);
+ }
+ if (typeof selectedNode.children !== 'undefined' || typeof selectedNode._children !== 'undefined') {
+ if (typeof selectedNode.children !== 'undefined') {
+ selectedNode.children.push(draggingNode);
+ } else {
+ selectedNode._children.push(draggingNode);
+ }
+ } else {
+ selectedNode.children = [];
+ selectedNode.children.push(draggingNode);
+ }
+ // Make sure that the node being added to is expanded so user can see added node is correctly moved
+ expand(selectedNode);
+ sortTree();
+ endDrag();
+ } else {
+ endDrag();
+ }
+ });
+
+ function endDrag() {
+ selectedNode = null;
+ d3.selectAll('.ghostCircle').attr('class', 'ghostCircle');
+ d3.select(domNode).attr('class', 'node');
+ // now restore the mouseover event or we won't be able to drag a 2nd time
+ d3.select(domNode).select('.ghostCircle').attr('pointer-events', '');
+ updateTempConnector();
+ if (draggingNode !== null) {
+ update(root);
+ centerNode(draggingNode);
+ draggingNode = null;
+ }
+ }
+
+
+ function expand(d) {
+ if (d._children) {
+ d.children = d._children;
+ d.children.forEach(expand);
+ d._children = null;
+ }
+ }
+
+ // Function to update the temporary connector indicating dragging affiliation
+ var updateTempConnector = function() {
+ var data = [];
+ if (draggingNode !== null && selectedNode !== null) {
+ // have to flip the source coordinates since we did this for the existing connectors on the original tree
+ data = [{
+ source: {
+ x: selectedNode.y0,
+ y: selectedNode.x0
+ },
+ target: {
+ x: draggingNode.y0,
+ y: draggingNode.x0
+ }
+ }];
+ }
+ var link = svgGroup.selectAll(".templink").data(data);
+
+ link.enter().append("path")
+ .attr("class", "templink")
+ .attr("d", d3.svg.diagonal())
+ .attr('pointer-events', 'none');
+
+ link.attr("d", d3.svg.diagonal());
+
+ link.exit().remove();
+ };
+
+ // Function to center node when clicked/dropped so node doesn't get lost when collapsing/moving with large amount of children.
+
+ function centerNode(source) {
+ var scale = (depthwidth === 10) ? zoomListener.scale() : 0.4;
+ var x = -source.y0;
+ var y = -source.x0;
+ x = x * scale + 150;
+ y = y * scale + viewerHeight / 2;
+ d3.select('g').transition()
+ .duration(duration)
+ .attr("transform", "translate(" + x + "," + y + ")scale(" + scale + ")");
+ zoomListener.scale(scale);
+ zoomListener.translate([x, y]);
+ }
+
+ // Toggle children function
+
+ function toggleChildren(d) {
+ if (d.children) {
+ d._children = d.children;
+ d.children = null;
+ } else if (d._children) {
+ d.children = d._children;
+ d._children = null;
+ }
+ return d;
+ }
+
+ // Toggle children on click.
+
+ function click(d) {
+ if (d3.event.defaultPrevented) return; // click suppressed
+ d = toggleChildren(d);
+ update(d);
+ //centerNode(d);
+ }
+
+ //arrow
+ baseSvg.append("svg:defs")
+ .append("svg:marker")
+ .attr("id", "arrow")
+ .attr("viewBox", "0 0 10 10")
+ .attr("refX", 22)
+ .attr("refY", 5)
+ .attr("markerUnits", "strokeWidth")
+ .attr("markerWidth", 6)
+ .attr("markerHeight", 9)
+ .attr("orient", "auto")
+ .append("svg:path")
+ .attr("d", "M 0 0 L 10 5 L 0 10 z");
//marker for input type graph
- svg.append("svg:defs")
+ baseSvg.append("svg:defs")
.append("svg:marker")
.attr("id", "input-arrow")
.attr("viewBox", "0 0 10 10")
@@ -211,88 +423,228 @@ angular.module('dgc.lineage').controller('LineageController', ['$element', '$sco
.append("svg:path")
.attr("d", "M -2 5 L 8 0 L 8 10 z");
- var root = data;
-
- function update(source) {
+ function update(source) {
+ // Compute the new height, function counts total children of root node and sets tree height accordingly.
+ // This prevents the layout looking squashed when new nodes are made visible or looking sparse when nodes are removed
+ // This makes the layout more consistent.
+ var levelWidth = [1];
+ var childCount = function(level, n) {
- // Compute the new tree layout.
- var nodes = tree.nodes(source).reverse(),
- links = tree.links(nodes);
+ if (n.children && n.children.length > 0) {
+ if (levelWidth.length <= level + 1) levelWidth.push(0);
- // Normalize for fixed-depth.
- nodes.forEach(function(d) {
- d.y = d.depth * 180;
+ levelWidth[level + 1] += n.children.length;
+ n.children.forEach(function(d) {
+ childCount(level + 1, d);
});
+ }
+ };
+ childCount(0, root);
+ tree = tree.nodeSize([50, 100]);
+
+ // Compute the new tree layout.
+ var nodes = tree.nodes(root).reverse(),
+ links = tree.links(nodes);
+
+ // Set widths between levels based on maxLabelLength.
+ nodes.forEach(function(d) {
+ if(levelWidth.length > 1 && depthwidth === 10){
+ for(var o=0; o < levelWidth.length; o++){
+ if(levelWidth[o] > 4 ) { depthwidth = 70; break;}
+ }
+ }
+ var maxLebal = maxLabelLength;
+ if(depthwidth === 10) { maxLebal = 20;}
+ d.y = (d.depth * (maxLebal * depthwidth));
+ });
+
+ // Update the nodes…
+ node = svgGroup.selectAll("g.node")
+ .data(nodes, function(d) {
+ return d.id || (d.id = ++i);
+ });
- // Declare the nodes…
- var node = svg.selectAll('g.node')
- .data(nodes, function(d) {
- return d.id || (d.id = ++i);
- });
+ // Enter any new nodes at the parent's previous position.
+ var nodeEnter = node.enter().append("g")
+ .call(dragListener)
+ .attr("class", "node")
+ .attr("transform", function() {
+ return "translate(" + source.y0 + "," + source.x0 + ")";
+ })
+ .on('click', click);
+
+ nodeEnter.append("image")
+ .attr("class","nodeImage")
+ .attr("xlink:href", function(d) {
+ return d.type === 'Table' ? '../img/tableicon.png' : '../img/process.png';
+ })
+ .on('mouseover', function(d) {
+ if (d.type === 'LoadProcess' || 'Table') {
+ tooltip.show(d);
+ }
+ })
+ .on('mouseout', function(d) {
+ if (d.type === 'LoadProcess' || 'Table') {
+ tooltip.hide(d);
+ }
+ })
+ .attr("x", "-18px")
+ .attr("y", "-18px")
+ .attr("width", "34px")
+ .attr("height", "34px");
+
+ nodeEnter.append("text")
+ .attr("x", function(d) {
+ return d.children || d._children ? -10 : 10;
+ })
+ .attr("dx", function (d) { return d.children ? 50 : -50; })
+ .attr("dy", -24)
+ .attr('class', 'place-label')
+ .attr("text-anchor", function(d) {
+ return d.children || d._children ? "end" : "start";
+ })
+ .text(function(d) {
+ var nameDis = (d.name.length > 15) ? d.name.substring(0,15) + "..." : d.name;
+ $(this).attr('title', d.name);
+ return nameDis;
+ })
+ .style("fill-opacity", 0);
+
+ // Update the text to reflect whether node has children or not.
+ node.select('text')
+ .attr("x", function(d) {
+ return d.children || d._children ? -10 : 10;
+ })
+ .attr("text-anchor", function(d) {
+ return d.children || d._children ? "end" : "start";
+ })
+ .text(function(d) {
+ var nameDis = (d.name.length > 15) ? d.name.substring(0,15) + "..." : d.name;
+ $(this).attr('title', d.name);
+ return nameDis;
+ });
- // Enter the nodes.
- var nodeEnter = node.enter().append('g')
- .attr('class', 'node')
- .attr('transform', function(d) {
- return 'translate(' + d.y + ',' + d.x + ')';
- });
+ // Change the circle fill depending on whether it has children and is collapsed
+ // Change the circle fill depending on whether it has children and is collapsed
+ node.select("image.nodeImage")
+ .attr("r", 4.5)
+ .attr("xlink:href", function(d) {
+ if(d._children){
+ return d.type === 'Table' ? '../img/tableicon1.png' : '../img/process1.png';
+ }
+ return d.type === 'Table' ? '../img/tableicon.png' : '../img/process.png';
+ });
- nodeEnter.append("image")
- .attr("xlink:href", function(d) {
- //return d.icon;
- return d.type === 'Table' ? '../img/tableicon.png' : '../img/process.png';
- })
- .on('mouseover', function(d) {
- if (d.type === 'LoadProcess') {
- tooltip.show(d);
- }
- })
- .on('mouseout', function(d) {
- if (d.type === 'LoadProcess') {
- tooltip.hide(d);
- }
- })
- .attr("x", "-18px")
- .attr("y", "-18px")
- .attr("width", "34px")
- .attr("height", "34px");
-
- nodeEnter.append('text')
- .attr('x', function(d) {
- return d.children || d._children ?
- (5) * -1 : +15;
- })
- .attr('dy', '-1.75em')
- .attr('text-anchor', function(d) {
- return d.children || d._children ? 'middle' : 'middle';
- })
- .text(function(d) {
- return d.name;
- })
-
- .style('fill-opacity', 1);
-
- // Declare the links…
- var link = svg.selectAll('path.link')
- .data(links, function(d) {
- return d.target.id;
- });
- link.enter().insert('path', 'g')
- .attr('class', 'link')
- //.style('stroke', function(d) { return d.target.level; })
- .style('stroke', 'green')
- .attr('d', diagonal);
+ // Transition nodes to their new position.
+ var nodeUpdate = node.transition()
+ .duration(duration)
+ .attr("transform", function(d) {
+ return "translate(" + d.y + "," + d.x + ")";
+ });
- if ($scope.type === 'inputs') {
- link.attr("marker-start", "url(#input-arrow)"); //if input
- } else {
- link.attr("marker-end", "url(#arrow)"); //if input
- }
+ // Fade the text in
+ nodeUpdate.select("text")
+ .style("fill-opacity", 1);
- }
+ // Transition exiting nodes to the parent's new position.
+ var nodeExit = node.exit().transition()
+ .duration(duration)
+ .attr("transform", function() {
+ return "translate(" + source.y + "," + source.x + ")";
+ })
+ .remove();
- update(root);
+ nodeExit.select("circle")
+ .attr("r", 0);
+
+ nodeExit.select("text")
+ .style("fill-opacity", 0);
+
+ // Update the links…
+ var link = svgGroup.selectAll("path.link")
+ .data(links, function(d) {
+ return d.target.id;
+ });
+
+ // Enter any new links at the parent's previous position.
+ link.enter().insert("path", "g")
+ .attr("class", "link")
+ .style('stroke', 'green')
+ .attr("d", function() {
+ var o = {
+ x: source.x0,
+ y: source.y0
+ };
+ return diagonal({
+ source: o,
+ target: o
+ });
+ });
+
+ // Transition links to their new position.
+ link.transition()
+ .duration(duration)
+ .attr("d", diagonal);
+
+ // Transition exiting nodes to the parent's new position.
+ link.exit().transition()
+ .duration(duration)
+ .attr("d", function() {
+ var o = {
+ x: source.x,
+ y: source.y
+ };
+ return diagonal({
+ source: o,
+ target: o
+ });
+ })
+ .remove();
+
+ // Stash the old positions for transition.
+ nodes.forEach(function(d) {
+ d.x0 = d.x;
+ d.y0 = d.y;
+ });
+
+ if ($scope.type === 'inputs') {
+ link.attr("marker-start", "url(#input-arrow)"); //if input
+ } else {
+ link.attr("marker-end", "url(#arrow)"); //if input
+ }
+ }
+
+ // Append a group which holds all nodes and which the zoom Listener can act upon.
+ var svgGroup = baseSvg.append("g")
+ .attr("transform", "translate(120 ," + heightg/2 + ")");
+
+ // Define the root
+ root = data;
+ root.x0 = viewerHeight / 2;
+ root.y0 = 0;
+
+ // Layout the tree initially and center on the root node.
+ update(root);
+ centerNode(root);
+
+ var couplingParent1 = tree.nodes(root).filter(function(d) {
+ return d.name === 'cluster';
+ })[0];
+ var couplingChild1 = tree.nodes(root).filter(function(d) {
+ return d.name === 'JSONConverter';
+ })[0];
+
+ multiParents = [{
+ parent: couplingParent1,
+ child: couplingChild1
+ }];
+
+ multiParents.forEach(function() {
+ svgGroup.append("path", "g");
+ });
+
+
}
}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/1e1ed482/dashboard/public/modules/lineage/views/lineage.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/lineage/views/lineage.html b/dashboard/public/modules/lineage/views/lineage.html
index e2e9ebd..3b412f7 100644
--- a/dashboard/public/modules/lineage/views/lineage.html
+++ b/dashboard/public/modules/lineage/views/lineage.html
@@ -17,9 +17,14 @@
-->
<div class="lineage-viz" data-ng-controller="LineageController">
- <h4 data-ng-if="!requested && !lineageData">No lineage data found</h4>
- <i data-ng-if="requested" class="fa fa-spinner fa-spin fa-5x"></i>
- <svg >
- <g/>
- </svg>
+ <button type="button" class="btn btn-primary pull-right" ng-click="onReset()">
+ Reset
+ </button>
+ <div class="graph">
+ <h4 data-ng-if="!requested && !lineageData">No lineage data found</h4>
+ <i data-ng-if="requested" class="fa fa-spinner fa-spin fa-5x"></i>
+ <svg >
+ <g/>
+ </svg>
+ </div>
</div>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/1e1ed482/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index dd50765..26e37d7 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -8,6 +8,8 @@ ATLAS-54 Rename configs in hive hook (shwethags)
ATLAS-3 Mixed Index creation fails with Date types (suma.shivaprasad via shwethags)
ALL CHANGES:
+ATLAS-112 UI: Make lineage graph extensible for multiple nodes (Vishal Kadam
+via Venkatesh Seetharam)
ATLAS-152 TimeStamp fields not showing the details tab (Vishal Kadam
via Venkatesh Seetharam)
ATLAS-111 UI: Create Help Link (Vishal Kadam via Venkatesh Seetharam)
[08/11] incubator-atlas git commit: ATLAS-152 TimeStamp fields not
showing the details tab. Contributed by Vishal Kadam
Posted by ve...@apache.org.
ATLAS-152 TimeStamp fields not showing the details tab. Contributed by Vishal Kadam
Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/ff5b1f17
Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/ff5b1f17
Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/ff5b1f17
Branch: refs/heads/master
Commit: ff5b1f172b18442c404db949f657e3f8e1317327
Parents: d1eef49
Author: Venkatesh Seetharam <ve...@apache.org>
Authored: Fri Sep 11 15:14:24 2015 -0700
Committer: Venkatesh Seetharam <ve...@apache.org>
Committed: Fri Sep 11 15:14:24 2015 -0700
----------------------------------------------------------------------
dashboard/public/modules/details/detailsController.js | 2 ++
dashboard/public/modules/details/views/details.html | 8 ++++----
release-log.txt | 5 +++--
3 files changed, 9 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/ff5b1f17/dashboard/public/modules/details/detailsController.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/details/detailsController.js b/dashboard/public/modules/details/detailsController.js
index 0e96d42..7bfed9b 100644
--- a/dashboard/public/modules/details/detailsController.js
+++ b/dashboard/public/modules/details/detailsController.js
@@ -33,6 +33,8 @@ angular.module('dgc.details').controller('DetailsController', ['$window', '$scop
$scope.isTable = data.typeName === 'Table';
});
+ $scope.isNumber = angular.isNumber;
+
$scope.isString = angular.isString;
$scope.onActivate = function tabActivate(tabname) {
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/ff5b1f17/dashboard/public/modules/details/views/details.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/details/views/details.html b/dashboard/public/modules/details/views/details.html
index 19f0ce0..c0419cb 100644
--- a/dashboard/public/modules/details/views/details.html
+++ b/dashboard/public/modules/details/views/details.html
@@ -33,10 +33,10 @@
</tr>
</thead>
<tbody>
- <tr data-ng-repeat="(key,value) in details.values" ng-if="value && !(key==='columns') && !(key==='name') && !(key==='description')">
- <td>{{key}}</td>
- <td data-ng-if="!isString(value)" data-ng-include="'/modules/details/views/attribute.html'"></td>
- <td data-ng-if="isString(value)">{{value | date:'medium'}}</td>
+ <tr data-ng-repeat="(key,value) in details.values" ng-if="value && !(key==='columns') && !(key==='name') && !(key==='description')">
+ <td>{{key}}</td>
+ <td data-ng-if="!isString(value) && !isNumber(value)" data-ng-include="'/modules/details/views/attribute.html'"></td>
+ <td data-ng-if="isString(value) || isNumber(value)">{{value | date:'medium'}}</td>
</tr>
</tbody>
</table>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/ff5b1f17/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index babfa10..dd50765 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -8,8 +8,9 @@ ATLAS-54 Rename configs in hive hook (shwethags)
ATLAS-3 Mixed Index creation fails with Date types (suma.shivaprasad via shwethags)
ALL CHANGES:
-ATLAS-111
-UI: Create Help Link (Vishal Kadam via Venkatesh Seetharam)
+ATLAS-152 TimeStamp fields not showing the details tab (Vishal Kadam
+via Venkatesh Seetharam)
+ATLAS-111 UI: Create Help Link (Vishal Kadam via Venkatesh Seetharam)
ATLAS-113 Add an About Dialog to Apache Atlas UI with version number (Vishal Kadam
via Venkatesh Seetharam)
ATLAS-109 Remove v2 Folder (Vishal Kadam via Venkatesh Seetharam)
[10/11] incubator-atlas git commit: ATLAS-110 UI: Lineage should be
clickable. Contributed by Vishal Kadam
Posted by ve...@apache.org.
ATLAS-110 UI: Lineage should be clickable. Contributed by Vishal Kadam
Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/c4d47974
Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/c4d47974
Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/c4d47974
Branch: refs/heads/master
Commit: c4d4797445d0e80a6badbd0834239477512c52a6
Parents: 1e1ed48
Author: Venkatesh Seetharam <ve...@apache.org>
Authored: Fri Sep 11 15:17:45 2015 -0700
Committer: Venkatesh Seetharam <ve...@apache.org>
Committed: Fri Sep 11 15:17:45 2015 -0700
----------------------------------------------------------------------
dashboard/public/modules/lineage/lineageController.js | 5 +++++
release-log.txt | 1 +
2 files changed, 6 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/c4d47974/dashboard/public/modules/lineage/lineageController.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/lineage/lineageController.js b/dashboard/public/modules/lineage/lineageController.js
index 151002f..2d88147 100644
--- a/dashboard/public/modules/lineage/lineageController.js
+++ b/dashboard/public/modules/lineage/lineageController.js
@@ -35,6 +35,11 @@ angular.module('dgc.lineage').controller('LineageController', ['$element', '$sco
if (callRender) {
render();
}
+ })
+ .on("dblclick", function(d) {
+ $state.go("details", {
+ id: d.guid
+ });
});
}else{
$scope.requested = false;
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/c4d47974/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index 26e37d7..9be6e3d 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -8,6 +8,7 @@ ATLAS-54 Rename configs in hive hook (shwethags)
ATLAS-3 Mixed Index creation fails with Date types (suma.shivaprasad via shwethags)
ALL CHANGES:
+ATLAS-110 UI: Lineage should be clickable (Vishal Kadam via Venkatesh Seetharam)
ATLAS-112 UI: Make lineage graph extensible for multiple nodes (Vishal Kadam
via Venkatesh Seetharam)
ATLAS-152 TimeStamp fields not showing the details tab (Vishal Kadam
[03/11] incubator-atlas git commit: ATLAS-109 Remove v2 Folder.
Contributed by Vishal Kadam
Posted by ve...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/home/headerController.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/home/headerController.js b/dashboard/v2/public/modules/home/headerController.js
deleted file mode 100755
index a8d1411..0000000
--- a/dashboard/v2/public/modules/home/headerController.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('dgc.home').controller('HeaderController', ['$scope', function($scope) {
-
- $scope.menu = [];
-
- $scope.isCollapsed = true;
- $scope.isLoggedIn = function() {
- return true;
- };
-}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/home/homeModule.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/home/homeModule.js b/dashboard/v2/public/modules/home/homeModule.js
deleted file mode 100755
index 017811c..0000000
--- a/dashboard/v2/public/modules/home/homeModule.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('dgc.home', []);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/home/views/header.html
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/home/views/header.html b/dashboard/v2/public/modules/home/views/header.html
deleted file mode 100755
index 85c5f4d..0000000
--- a/dashboard/v2/public/modules/home/views/header.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<div data-ng-controller="HeaderController" class="row">
- <div class="navbar-header">
- <button class="navbar-toggle" type="button" data-ng-click="isCollapsed = !isCollapsed">
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <a data-ui-sref="search({ query: '' })" data-ui-sref-active="active"><img src="../img/ApacheAtlasLogo.png" /></a>
- </div>
- <nav class="collapse navbar-collapse" data-collapse="isCollapsed" data-role="navigation">
- <ul class="navbar-nav nav" data-ng-if="isLoggedIn()">
- <li data-ng-repeat="item in menu" data-ui-sref-active="active">
- <a data-ui-sref="{{item.state}}">{{item.title}}</a>
- </li>
- </ul>
- </nav>
-</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/home/views/home.html
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/home/views/home.html b/dashboard/v2/public/modules/home/views/home.html
deleted file mode 100755
index 4e93782..0000000
--- a/dashboard/v2/public/modules/home/views/home.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<section class="text-center">
- <img data-ui-sref="search" class="pointer" src="modules/home/img/splash.png"/>
-</section>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/lineage/lineageController.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/lineage/lineageController.js b/dashboard/v2/public/modules/lineage/lineageController.js
deleted file mode 100755
index b8bd09c..0000000
--- a/dashboard/v2/public/modules/lineage/lineageController.js
+++ /dev/null
@@ -1,299 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * 'License'); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an 'AS IS' BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('dgc.lineage').controller('LineageController', ['$element', '$scope', '$state', '$stateParams', 'lodash', 'LineageResource', 'd3', 'DetailsResource', '$q',
- function($element, $scope, $state, $stateParams, _, LineageResource, d3, DetailsResource, $q) {
- var guidsList = [];
-
- function getLineageData(tableData, callRender) {
- LineageResource.get({
- tableName: tableData.tableName,
- type: tableData.type
- }, function lineageSuccess(response) {
- if (!_.isEmpty(response.results.values.vertices)) {
- var allGuids = loadProcess(response.results.values.edges, response.results.values.vertices);
- allGuids.then(function(res) {
- guidsList = res;
- $scope.lineageData = transformData(response.results);
- if (callRender) {
- render();
- }
- });
- }
- $scope.requested = false;
- });
- }
-
- function loadProcess(edges, vertices) {
-
- var urlCalls = [];
- var deferred = $q.defer();
- for (var guid in edges) {
- if (!vertices.hasOwnProperty(guid)) {
- urlCalls.push(DetailsResource.get({
- id: guid
- }).$promise);
- }
-
- }
- $q.all(urlCalls)
- .then(function(results) {
- deferred.resolve(results);
- });
- return deferred.promise;
- }
-
- $scope.type = $element.parent().attr('data-table-type');
- $scope.requested = false;
-
- function render() {
- renderGraph($scope.lineageData, {
- element: $element[0],
- height: $element[0].offsetHeight,
- width: $element[0].offsetWidth
- });
- $scope.rendered = true;
- }
-
- $scope.$on('render-lineage', function(event, lineageData) {
- if (lineageData.type === $scope.type) {
- if (!$scope.lineageData) {
- if (!$scope.requested) {
- getLineageData(lineageData, true);
- $scope.requested = true;
- }
- } else {
- render();
- }
- }
- });
-
- function transformData(metaData) {
- var edges = metaData.values.edges,
- vertices = metaData.values.vertices,
- nodes = {};
-
- function getNode(guid) {
- var name, type, tip;
- if (vertices.hasOwnProperty(guid)) {
- name = vertices[guid].values.name;
- type = vertices[guid].values.vertexId.values.typeName;
- } else {
- var loadProcess = getLoadProcessTypes(guid);
- if (typeof loadProcess !== "undefined") {
- name = loadProcess.name;
- type = loadProcess.typeName;
- tip = loadProcess.tip;
- } else {
- name = 'Load Process';
- type = 'Load Process';
- }
- }
- var vertex = {
- guid: guid,
- name: name,
- type: type,
- tip: tip
- };
- if (!nodes.hasOwnProperty(guid)) {
- nodes[guid] = vertex;
- }
- return nodes[guid];
- }
-
- function getLoadProcessTypes(guid) {
- var procesRes = [];
- angular.forEach(guidsList, function(value) {
- if (value.id.id === guid) {
- procesRes.name = value.values.name;
- procesRes.typeName = value.typeName;
- procesRes.tip = value.values.queryText;
- }
- });
- return procesRes;
- }
-
- function attachParent(edge, node) {
- edge.forEach(function eachPoint(childGuid) {
- var childNode = getNode(childGuid);
- node.children = node.children || [];
- node.children.push(childNode);
- childNode.parent = node.guid;
- });
- }
-
- /* Loop through all edges and attach them to correct parent */
- for (var guid in edges) {
- var edge = edges[guid],
- node = getNode(guid);
-
- /* Attach parent to each endpoint of edge */
- attachParent(edge, node);
- }
-
- /* Return the first node w/o parent, this is root node*/
- return _.find(nodes, function(node) {
- return !node.hasOwnProperty('parent');
- });
- }
-
- function renderGraph(data, container) {
- // ************** Generate the tree diagram *****************
- var element = d3.select(container.element),
- width = Math.max(container.width, 960),
- height = Math.max(container.height, 350);
-
- var margin = {
- top: 100,
- right: 80,
- bottom: 30,
- left: 80
- };
- width = width - margin.right - margin.left;
- height = height - margin.top - margin.bottom;
-
- var i = 0;
-
- var tree = d3.layout.tree()
- .size([height, width]);
-
- var diagonal = d3.svg.diagonal()
- .projection(function(d) {
- return [d.y, d.x];
- });
-
- /* Initialize tooltip */
- var tooltip = d3.tip()
- .attr('class', 'd3-tip')
- .html(function(d) {
- return '<pre class="alert alert-success">' + d.tip + '</pre>';
- });
-
- var svg = element.select('svg')
- .attr('width', width + margin.right + margin.left)
- .attr('height', height + margin.top + margin.bottom)
- /* Invoke the tip in the context of your visualization */
- .call(tooltip)
- .select('g')
- .attr('transform',
- 'translate(' + margin.left + ',' + margin.right + ')');
- //arrow
- svg.append("svg:defs").append("svg:marker").attr("id", "arrow").attr("viewBox", "0 0 10 10").attr("refX", 26).attr("refY", 5).attr("markerUnits", "strokeWidth").attr("markerWidth", 6).attr("markerHeight", 9).attr("orient", "auto").append("svg:path").attr("d", "M 0 0 L 10 5 L 0 10 z");
-
- //marker for input type graph
- svg.append("svg:defs")
- .append("svg:marker")
- .attr("id", "input-arrow")
- .attr("viewBox", "0 0 10 10")
- .attr("refX", -15)
- .attr("refY", 5)
- .attr("markerUnits", "strokeWidth")
- .attr("markerWidth", 6)
- .attr("markerHeight", 9)
- .attr("orient", "auto")
- .append("svg:path")
- .attr("d", "M -2 5 L 8 0 L 8 10 z");
-
- var root = data;
-
- function update(source) {
-
- // Compute the new tree layout.
- var nodes = tree.nodes(source).reverse(),
- links = tree.links(nodes);
-
- // Normalize for fixed-depth.
- nodes.forEach(function(d) {
- d.y = d.depth * 180;
- });
-
- // Declare the nodes…
- var node = svg.selectAll('g.node')
- .data(nodes, function(d) {
- return d.id || (d.id = ++i);
- });
-
- // Enter the nodes.
- var nodeEnter = node.enter().append('g')
- .attr('class', 'node')
- .attr('transform', function(d) {
- return 'translate(' + d.y + ',' + d.x + ')';
- });
-
- nodeEnter.append("image")
- .attr("xlink:href", function(d) {
- //return d.icon;
- return d.type === 'Table' ? '../img/tableicon.png' : '../img/process.png';
- })
- .on('mouseover', function(d) {
- if (d.type === 'LoadProcess') {
- tooltip.show(d);
- }
- })
- .on('mouseout', function(d) {
- if (d.type === 'LoadProcess') {
- tooltip.hide(d);
- }
- })
- .attr("x", "-18px")
- .attr("y", "-18px")
- .attr("width", "34px")
- .attr("height", "34px");
-
- nodeEnter.append('text')
- .attr('x', function(d) {
- return d.children || d._children ?
- (5) * -1 : +15;
- })
- .attr('dy', '-1.75em')
- .attr('text-anchor', function(d) {
- return d.children || d._children ? 'middle' : 'middle';
- })
- .text(function(d) {
- return d.name;
- })
-
- .style('fill-opacity', 1);
-
- // Declare the links…
- var link = svg.selectAll('path.link')
- .data(links, function(d) {
- return d.target.id;
- });
-
- link.enter().insert('path', 'g')
- .attr('class', 'link')
- //.style('stroke', function(d) { return d.target.level; })
- .style('stroke', 'green')
- .attr('d', diagonal);
-
- if ($scope.type === 'inputs') {
- link.attr("marker-start", "url(#input-arrow)"); //if input
- } else {
- link.attr("marker-end", "url(#arrow)"); //if input
- }
-
- }
-
- update(root);
- }
-
- }
-]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/lineage/lineageModule.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/lineage/lineageModule.js b/dashboard/v2/public/modules/lineage/lineageModule.js
deleted file mode 100755
index 4fda24d..0000000
--- a/dashboard/v2/public/modules/lineage/lineageModule.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('dgc.lineage', []);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/lineage/lineageResource.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/lineage/lineageResource.js b/dashboard/v2/public/modules/lineage/lineageResource.js
deleted file mode 100755
index e729a35..0000000
--- a/dashboard/v2/public/modules/lineage/lineageResource.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('dgc.lineage').factory('LineageResource', ['$resource', function($resource) {
- return $resource('/api/atlas/lineage/hive/table/:tableName/:type/graph', {});
-}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/lineage/views/lineage.html
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/lineage/views/lineage.html b/dashboard/v2/public/modules/lineage/views/lineage.html
deleted file mode 100755
index e2e9ebd..0000000
--- a/dashboard/v2/public/modules/lineage/views/lineage.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<div class="lineage-viz" data-ng-controller="LineageController">
- <h4 data-ng-if="!requested && !lineageData">No lineage data found</h4>
- <i data-ng-if="requested" class="fa fa-spinner fa-spin fa-5x"></i>
- <svg >
- <g/>
- </svg>
-</div>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/navigation/navigationController.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/navigation/navigationController.js b/dashboard/v2/public/modules/navigation/navigationController.js
deleted file mode 100644
index a012885..0000000
--- a/dashboard/v2/public/modules/navigation/navigationController.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('dgc.navigation').controller('NavigationController', ['$scope', 'NavigationResource',
- function($scope, NavigationResource) {
-
- $scope.leftnav = NavigationResource.get();
- $scope.updateVar = function(event) {
- $scope.$$prevSibling.query = angular.element(event.target).text();
-
- };
-
- }
-]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/navigation/navigationModule.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/navigation/navigationModule.js b/dashboard/v2/public/modules/navigation/navigationModule.js
deleted file mode 100644
index 504eb1f..0000000
--- a/dashboard/v2/public/modules/navigation/navigationModule.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('dgc.navigation', []);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/navigation/navigationResource.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/navigation/navigationResource.js b/dashboard/v2/public/modules/navigation/navigationResource.js
deleted file mode 100644
index 3d9797d..0000000
--- a/dashboard/v2/public/modules/navigation/navigationResource.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('dgc.navigation').factory('NavigationResource', ['$resource', function($resource) {
- return $resource('/api/atlas/types?type=TRAIT', {}, {
- get: {
- 'method': 'GET',
- 'responseType': 'json',
- 'isArray': true,
- 'transformResponse': function(data) {
- var results = [];
- angular.forEach(data && data.results, function(val) {
- results.push(val);
- });
- return results;
- }
- }
- });
-}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/navigation/views/navigation.html
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/navigation/views/navigation.html b/dashboard/v2/public/modules/navigation/views/navigation.html
deleted file mode 100644
index 1c94671..0000000
--- a/dashboard/v2/public/modules/navigation/views/navigation.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<div data-ng-controller="NavigationController">
- <h4>Tags</h4>
- <div class="list-group">
- <a ng-repeat="nav in leftnav" ui-sref="search({ query: nav })" class="list-group-item">{{nav}} </a>
- </div>
-</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/notification/notificationController.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/notification/notificationController.js b/dashboard/v2/public/modules/notification/notificationController.js
deleted file mode 100755
index ac36b0f..0000000
--- a/dashboard/v2/public/modules/notification/notificationController.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('dgc.system.notification').controller('NotificationController', ['$scope', 'NotificationService',
- function($scope, NotificationService) {
-
- $scope.getNotifications = NotificationService.getAll;
-
- $scope.close = function(notification) {
- NotificationService.close(notification);
- };
- }
-]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/notification/notificationModule.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/notification/notificationModule.js b/dashboard/v2/public/modules/notification/notificationModule.js
deleted file mode 100755
index e99736f..0000000
--- a/dashboard/v2/public/modules/notification/notificationModule.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('dgc.system.notification', ['ui.router']).constant('ColorCoding', {
- info: 'success',
- error: 'danger'
-}).run(['$rootScope', 'NotificationService', function($rootScope, NotificationService) {
- $rootScope.$on('$locationChangeSuccess', function(evt, from, to) {
- if (from !== to) {
- NotificationService.reset();
- }
- });
-}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/notification/notificationService.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/notification/notificationService.js b/dashboard/v2/public/modules/notification/notificationService.js
deleted file mode 100755
index 613cc22..0000000
--- a/dashboard/v2/public/modules/notification/notificationService.js
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('dgc.system.notification').service('NotificationService', ['$timeout', 'lodash', 'ColorCoding', function($timeout, _, colorCoding) {
-
- var notifications = [],
- service = {
- timeout: 2000,
- getAll: function() {
- return notifications;
- },
- reset: function() {
- notifications = [];
- },
- close: function(notification) {
- _.remove(notifications, notification);
- }
- };
-
- _.each(colorCoding, function(value, key) {
- service[key] = function(message, timeout) {
- var notification = message;
- if (_.isString(message)) {
- notification = {
- message: message
- };
- }
-
- notification.message = notification.msg || notification.message;
- delete notification.msg;
- notification.type = value;
- notification.timeout = _.isUndefined(timeout) ? (_.isUndefined(notification.timeout) ? true : notification.timeout) : timeout;
- notifications.push(notification);
-
- if (notification.timeout) {
- $timeout(function() {
- service.close(notification);
- }, angular.isNumber(notification.timeout) ? notification.timeout : service.timeout);
- }
- };
- });
-
- return service;
-}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/notification/views/notifications.html
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/notification/views/notifications.html b/dashboard/v2/public/modules/notification/views/notifications.html
deleted file mode 100755
index dcc02c5..0000000
--- a/dashboard/v2/public/modules/notification/views/notifications.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<div class="container" data-ng-controller="NotificationController">
- <alert data-ng-repeat="notification in getNotifications()" data-type="{{notification.type}}" data-close="close(notification)">
- {{notification.message}}
- </alert>
-</div>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/search/searchController.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/search/searchController.js b/dashboard/v2/public/modules/search/searchController.js
deleted file mode 100755
index b5e6c37..0000000
--- a/dashboard/v2/public/modules/search/searchController.js
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('dgc.search').controller('SearchController', ['$scope', '$location', '$http', '$state', '$stateParams', 'lodash', 'SearchResource', 'NotificationService',
- function($scope, $location, $http, $state, $stateParams, _, SearchResource, NotificationService) {
-
- $scope.results = [];
- $scope.resultCount = 0;
- $scope.isCollapsed = true;
- $scope.currentPage = 1;
- $scope.itemsPerPage = 10;
- $scope.filteredResults = [];
- $scope.resultRows = [];
- $scope.setPage = function(pageNo) {
- $scope.currentPage = pageNo;
- };
- $scope.search = function(query) {
- $scope.results = [];
- NotificationService.reset();
- $scope.limit = 4;
- $scope.searchMessage = 'load-gif';
-
- $scope.$parent.query = query;
- SearchResource.search({
- query: query
- }, function searchSuccess(response) {
- $scope.resultCount = response.count;
- $scope.results = response.results;
- $scope.resultRows = $scope.results.rows;
- $scope.totalItems = $scope.resultCount;
- $scope.transformedResults = {};
- $scope.dataTransitioned = false;
- if (response.results.dataType && response.results.dataType.typeName.indexOf('__') === 0) {
- $scope.dataTransitioned = true;
- var attrDef = response.results.dataType.attributeDefinitions;
- angular.forEach(attrDef, function(value) {
- if (value.dataTypeName === '__IdType') {
- $scope.searchKey = value.name;
- }
- });
- $scope.transformedResults = $scope.filterResults();
- } else {
- $scope.transformedResults = $scope.resultRows;
- }
- if ($scope.results.rows)
- $scope.searchMessage = $scope.resultCount + ' results matching your search query ' + $scope.query + ' were found';
- else
- $scope.searchMessage = '0 results matching your search query ' + $scope.query + ' were found';
-
- $scope.$watch('currentPage + itemsPerPage', function() {
- var begin = (($scope.currentPage - 1) * $scope.itemsPerPage),
- end = begin + $scope.itemsPerPage;
- if ($scope.transformedResults) $scope.filteredResults = $scope.transformedResults.slice(begin, end);
- $scope.pageCount = function() {
- return Math.ceil($scope.resultCount / $scope.itemsPerPage);
- };
- if ($scope.results.length < 1) {
- NotificationService.error('No Result found', false);
- }
- });
- }, function searchError(err) {
- $scope.searchMessage = '0 results matching your search query ' + $scope.query + ' were found';
- NotificationService.error('Error occurred during executing search query, error status code = ' + err.status + ', status text = ' + err.statusText, false);
- });
- $state.go('search', {
- query: query
- }, {
- location: 'replace'
- });
- };
-
- $scope.filterResults = function() {
- var res = [];
- angular.forEach($scope.resultRows, function(value) {
- res.push(value[$scope.searchKey]);
- });
- return res;
- };
- $scope.doToggle = function($event, el) {
- this.isCollapsed = !el;
- };
- $scope.filterSearchResults = function(items) {
- var res = {};
- var count = 0;
- items = _.omit(items, ['name', 'description', 'guid']);
- angular.forEach(items, function(value, key) {
- if (typeof value !== 'object' && (key.indexOf('$$') < 0)) {
- res[key] = value;
- count++;
- }
- });
- $scope.keyLength = count;
- return res;
- };
- $scope.searchQuery = $location.search();
- $scope.query = ($location.search()).query;
- if ($scope.query) {
-
- $scope.search($scope.query);
- }
- }
-]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/search/searchDirective.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/search/searchDirective.js b/dashboard/v2/public/modules/search/searchDirective.js
deleted file mode 100644
index 5c9fc48..0000000
--- a/dashboard/v2/public/modules/search/searchDirective.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('dgc.search').directive(
- "myDirective",
- function() {
- return {
- restrict: 'EA',
- template: '<a href="javascript: void(0);" button-toggle toggle="isCollapsed" class="show-more" ng-click="isCollapsed = !isCollapsed">..show more</a>',
- link: function($scope) {
- $scope.isCollapsed = true;
- console.log($scope.isCollapsed);
- },
- transclude: true,
- scope: {}
- };
- });
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/search/searchModule.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/search/searchModule.js b/dashboard/v2/public/modules/search/searchModule.js
deleted file mode 100755
index ac82e3e..0000000
--- a/dashboard/v2/public/modules/search/searchModule.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('dgc.search', ['dgc.details']);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/search/searchResource.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/search/searchResource.js b/dashboard/v2/public/modules/search/searchResource.js
deleted file mode 100755
index 19de021..0000000
--- a/dashboard/v2/public/modules/search/searchResource.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('dgc.search').factory('SearchResource', ['$resource', function($resource) {
- return $resource('/api/atlas/discovery/search/', {}, {
- search: {
- 'method': 'GET',
- 'responseType': 'json',
- 'transformResponse': function(data) {
- return data;
- }
- }
- });
-
-}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/search/searchRoutes.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/search/searchRoutes.js b/dashboard/v2/public/modules/search/searchRoutes.js
deleted file mode 100755
index abfe322..0000000
--- a/dashboard/v2/public/modules/search/searchRoutes.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-//Setting up route
-angular.module('dgc.search').config(['$stateProvider',
- function($stateProvider) {
- $stateProvider.state('search', {
- url: '/search?query',
- templateUrl: '/modules/search/views/search.html',
- controller: 'SearchController'
- });
- }
-]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/search/views/search.html
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/search/views/search.html b/dashboard/v2/public/modules/search/views/search.html
deleted file mode 100755
index 389364d..0000000
--- a/dashboard/v2/public/modules/search/views/search.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<div class="row mt20px">
- <form class="col-lg-offset-3 col-lg-9" name="form" novalidate>
- <div class="input-group">
- <input type="text" class="form-control" placeholder="Search" data-ng-model="query" required/>
- <span class="input-group-btn">
- <button class="btn btn-success" type="submit" data-ng-disabled="form.$invalid" ui-sref="search({ query: query })">
- <i class="glyphicon glyphicon-search white "></i>
- </button>
- </span>
- </div>
- <div>
- <small class="small-txt">Search: Table, DB, Column</small>
- </div>
- </form>
-</div>
-<div class="row mt10px">
- <div class="col-lg-3" data-ng-include="'/modules/navigation/views/navigation.html'"></div>
- <div class="col-lg-9">
- <div ng-switch on="searchMessage">
- <div ng-switch-when="load-gif" class="search-spinner"><img src="../img/spinner.gif" align="middle" /></div>
- <div ng-switch-default><h4 ng-show="searchMessage">{{searchMessage}}</h4></div>
- </div>
- <ul class="list-unstyled" ng-show='resultCount > 0'>
- <li ng-repeat="result in filteredResults" class="searchresults">
- <h4><a data-ui-sref="details({id:result['$id$'].id || result.guid})">{{result.name || result.guid}}</a></h4>
-
- <p>{{result.description}}</p>
- <span ng-repeat="(key, value) in filterSearchResults(result)">
- <span ng-show="$index <= 3 "><b>{{key}}: </b>{{value}} {{(($index+1 === limit) || $last ) ? '' : ', '}}</span>
- </span>
-
- <div collapse="isCollapsed">
- <span ng-repeat="(key, value) in filterSearchResults(result)">
- <span ng-show="$index > 3"><b>{{key}}: </b>{{value}}{{$last ? '' : ', '}}</span>
- </span>
- </div>
- <a href ng-show="isCollapsed && (keyLength > 4)" ng-click="doToggle($event,isCollapsed)">..show more</a>
- <a href ng-show="!isCollapsed" ng-click="doToggle($event,isCollapsed)">..show less</a>
-
- <h5 ng-show="!dataTransitioned">Tags : <a ng-repeat="(key, value) in result['$traits$']" data-ui-sref="search({query: key})">{{key}}</a></h5>
-
- </li>
- </ul>
- <div class="pull-right" ng-show='resultCount > 0'>
- <pagination total-items="totalItems" items-per-page="itemsPerPage" ng-model="currentPage" ng-change="pageChanged()"></pagination>
- <p>
- </div>
- </div>
-</div>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/search/views/searchResult.html
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/search/views/searchResult.html b/dashboard/v2/public/modules/search/views/searchResult.html
deleted file mode 100755
index 0faf3bb..0000000
--- a/dashboard/v2/public/modules/search/views/searchResult.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-<!--
-<h4 ng-show='results.rows.length > 0'>{{results.rows.length}} results matching your search query "{{query}}" were found</h4>
-<h4 ng-show='results.rows.length == "0"'>searching .....</h4>
-<h4 ng-show='!(results.rows)'>0 results matching your search query "{{query}}" were found</h4>-->
-
-<h4 ng-show="searchMessage">{{searchMessage}}</h4>
-
-<ul class="list-unstyled">
- <li ng-repeat="result in filteredResults" class="searchresults">
- <h4><a data-ui-sref="details({id:result['$id$'].id})">{{result.name}}</a></h4>
- <p>{{result.description}}</p>
- <span ng-repeat="(key, value) in filterSearchResults(result)" >
- <span ng-show="$index < 4"><b>{{key}}: </b>{{value}}{{$index+1 === limit ? '' : ', '}}</span>
- </span>
- <div collapse="isCollapsed">
- <span ng-repeat="(key, value) in filterSearchResults(result)" >
- <span ng-show="$index > 4"><b>{{key}}: </b>{{value}}{{$last ? '' : ', '}}</span>
- </span>
- </div>
- <a href ng-show="isCollapsed && (keyLength > 4)" ng-click="doToggle($event,isCollapsed)">..show more</a>
- <a href ng-show="!isCollapsed" ng-click="doToggle($event,isCollapsed)">..show less</a>
-
- <h5>Tags : <a ng-repeat="(key, value) in result['$traits$']" data-ui-sref="search.results({query: key})">{{key}}</a> </h5>
- <div data-ng-if="!searchTypesAvailable" data-ng-include="'/modules/search/views/types/guid.html'"></div>
- </li>
-</ul>
-<div class="resultsPagination" ng-show='filteredResults.length > 0'>
- <pagination total-items="totalItems" items-per-page="itemsPerPage" ng-model="currentPage" ng-change="pageChanged()"></pagination>
- <p>
-</div>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/search/views/types/column.html
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/search/views/types/column.html b/dashboard/v2/public/modules/search/views/types/column.html
deleted file mode 100644
index 3bbb6c0..0000000
--- a/dashboard/v2/public/modules/search/views/types/column.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<h4><a data-ui-sref="details({id:result['$id$'].id})">{{result.name}}</a></h4>
-<p><b>Comment:</b> {{result.comment}}, <b>DataType:</b> {{result.dataType}},<b>Table:</b> {{result.table}}</p>
-<h5>Tags : <a ng-repeat="(key, value) in result['$traits$']" data-ui-sref="search.results({query: key})">{{key}}</a> </h5>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/search/views/types/db.html
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/search/views/types/db.html b/dashboard/v2/public/modules/search/views/types/db.html
deleted file mode 100644
index 28467b0..0000000
--- a/dashboard/v2/public/modules/search/views/types/db.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<h4><a data-ui-sref="details({id:result['$id$'].id})">{{result.name}}</a></h4>
-<p>{{result.description}}</p>
-<p><b>locationUri:</b> {{result.locationUri}}, <b>Owner: </b>{{result.owner}}</p>
-<h5>Tags : <a ng-repeat="(key, value) in result['$traits$']" data-ui-sref="search.results({query: key})">{{key}}</a> </h5>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/search/views/types/guid.html
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/search/views/types/guid.html b/dashboard/v2/public/modules/search/views/types/guid.html
deleted file mode 100755
index 483ca80..0000000
--- a/dashboard/v2/public/modules/search/views/types/guid.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<h4><a data-ui-sref="details({id:result.instanceInfo.guid})">{{result.instanceInfo.guid}}</a></h4>
-<p><b>TypeName: </b>{{result.instanceInfo.typeName}}</p>
-<h5>Tags : <a ng-repeat="(key, value) in result['$traits$']" data-ui-sref="search.results({query: key})">{{key}}</a> </h5>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/search/views/types/hiveLineage.html
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/search/views/types/hiveLineage.html b/dashboard/v2/public/modules/search/views/types/hiveLineage.html
deleted file mode 100755
index b150722..0000000
--- a/dashboard/v2/public/modules/search/views/types/hiveLineage.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<a data-ui-sref="details({id:result.guid})">{{result.guid}}</a>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/search/views/types/hive_table.html
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/search/views/types/hive_table.html b/dashboard/v2/public/modules/search/views/types/hive_table.html
deleted file mode 100755
index 84b747e..0000000
--- a/dashboard/v2/public/modules/search/views/types/hive_table.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<a data-ui-sref="details({id:result.guid})">{{result["hive_table.name"]}}</a>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/search/views/types/loadprocess.html
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/search/views/types/loadprocess.html b/dashboard/v2/public/modules/search/views/types/loadprocess.html
deleted file mode 100644
index 652cd97..0000000
--- a/dashboard/v2/public/modules/search/views/types/loadprocess.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<h4><a data-ui-sref="details({id:result['$id$'].id})">{{result.name}}</a></h4>
-<p>{{result.description}}</p>
-<p><b>inputTables: </b>{{result.inputTables['id']}},<b>queryText: </b>{{result.queryText}},<b>startTime: </b>{{result.startTime | date:'medium'}},<b>endTime: </b> {{result.endTime | date:'medium'}}</p>
-<h5>Tags : <a ng-repeat="(key, value) in result['$traits$']" data-ui-sref="search.results({query: key})">{{key}}</a> </h5>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/search/views/types/storagedesc.html
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/search/views/types/storagedesc.html b/dashboard/v2/public/modules/search/views/types/storagedesc.html
deleted file mode 100644
index 0587f26..0000000
--- a/dashboard/v2/public/modules/search/views/types/storagedesc.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<h4><a data-ui-sref="details({id:result['$id$'].id})">{{result.name}}</a></h4>
-<p><b>compressed: </b>{{result.compressed}},<b>outputFormat: </b>{{result.outputFormat}},<b>location: </b>{{result.location}}, <b>inputFormat: </b>{{result.inputFormat}}</p>
-<h5>Tags : <a ng-repeat="(key, value) in result['$traits$']" data-ui-sref="search.results({query: key})">{{key}}</a> </h5>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/search/views/types/table.html
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/search/views/types/table.html b/dashboard/v2/public/modules/search/views/types/table.html
deleted file mode 100644
index a678ff9..0000000
--- a/dashboard/v2/public/modules/search/views/types/table.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<h4><a data-ui-sref="details({id:result['$id$'].id})">{{result.name}}</a></h4>
-<p>{{result.description}}</p>
-<p><b>owner: </b>{{result.owner}}, <b>createTime: </b>{{result.createTime}}</p>
-<h5>Tags : <a ng-repeat="(key, value) in result['$traits$']" data-ui-sref="search.results({query: key})">{{key}}</a> </h5>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/distro/src/main/assemblies/src-package.xml
----------------------------------------------------------------------
diff --git a/distro/src/main/assemblies/src-package.xml b/distro/src/main/assemblies/src-package.xml
index ca03c7a..7df4c7a 100755
--- a/distro/src/main/assemblies/src-package.xml
+++ b/distro/src/main/assemblies/src-package.xml
@@ -36,11 +36,11 @@
<exclude>**/*.iml</exclude>
<exclude>**/*.log</exclude>
<exclude>**/*.pyc</exclude> <!-- python compiled executable -->
- <exclude>dashboard/**/.bower-*/**</exclude> <!-- temp libs -->
- <exclude>dashboard/v2/lib/**</exclude> <!-- temp libs -->
- <exclude>dashboard/v2/node*/**</exclude> <!-- temp libs -->
- <exclude>dashboard/v2/dist/**</exclude> <!-- package -->
- <exclude>dashboard/v2/**/*.min.js*</exclude> <!-- minified JS -->
+ <exclude>dashboard/.bower-*/**</exclude> <!-- temp libs -->
+ <exclude>dashboard/lib/**</exclude> <!-- temp libs -->
+ <exclude>dashboard/node*/**</exclude> <!-- temp libs -->
+ <exclude>dashboard/dist/**</exclude> <!-- package -->
+ <exclude>dashboard/*.min.js*</exclude> <!-- minified JS -->
</excludes>
</fileSet>
</fileSets>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index a18e968..e8d18a2 100755
--- a/pom.xml
+++ b/pom.xml
@@ -1255,7 +1255,7 @@
<artifactId>frontend-maven-plugin</artifactId>
<version>0.0.23</version>
<configuration>
- <workingDirectory>../dashboard/v2/</workingDirectory>
+ <workingDirectory>../dashboard/</workingDirectory>
</configuration>
</plugin>
@@ -1552,19 +1552,19 @@
<exclude>**/.externalToolBuilders/**</exclude>
<exclude>**/build.log</exclude>
<!-- temp libs -->
- <exclude>dashboard/**/.bower-*/**</exclude>
+ <exclude>dashboard/.bower-*/**</exclude>
<!-- json file -->
- <exclude>dashboard/v2/.bowerrc</exclude>
+ <exclude>dashboard/.bowerrc</exclude>
<!-- temp libs -->
- <exclude>dashboard/v2/lib/**</exclude>
+ <exclude>dashboard/lib/**</exclude>
<!-- temp libs -->
- <exclude>dashboard/v2/node*/**</exclude>
+ <exclude>dashboard/node*/**</exclude>
<!-- package -->
- <exclude>dashboard/v2/dist/**</exclude>
+ <exclude>dashboard/dist/**</exclude>
<!-- lib files -->
- <exclude>dashboard/v2/public/lib/**</exclude>
+ <exclude>dashboard/public/lib/**</exclude>
<!-- minified JS -->
- <exclude>dashboard/v2/**/*.min.js*</exclude>
+ <exclude>dashboard/**/*.min.js*</exclude>
</excludes>
</configuration>
<executions>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index 851cbdc..26512ac 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -8,6 +8,7 @@ ATLAS-54 Rename configs in hive hook (shwethags)
ATLAS-3 Mixed Index creation fails with Date types (suma.shivaprasad via shwethags)
ALL CHANGES:
+ATLAS-109 Remove v2 Folder (Vishal Kadam via Venkatesh Seetharam)
ATLAS-90 Support offline builds (Vishal Kadam via Venkatesh Seetharam)
ATLAS-154 Update website for 0.5-incubating release (Venkatesh Seetharam)
ATLAS-153 Build failure - org.glassfish:javax.el (shwethags)
[11/11] incubator-atlas git commit: ATLAS-109 Remove v2 Folder -
removed left over files. Contributed by Vishal Kadam
Posted by ve...@apache.org.
ATLAS-109 Remove v2 Folder - removed left over files. Contributed by Vishal Kadam
Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/016e36c0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/016e36c0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/016e36c0
Branch: refs/heads/master
Commit: 016e36c007f05dbba0071b1d21d9b26fa8fe0b01
Parents: c4d4797
Author: Venkatesh Seetharam <ve...@apache.org>
Authored: Fri Sep 11 15:54:41 2015 -0700
Committer: Venkatesh Seetharam <ve...@apache.org>
Committed: Fri Sep 11 15:54:41 2015 -0700
----------------------------------------------------------------------
dashboard/public/modules/home/views/header.html | 2 +-
dashboard/v2/public/img/ApacheAtlasLogo.png | Bin 3115 -> 0 bytes
dashboard/v2/public/img/favicon.ico | Bin 3638 -> 0 bytes
dashboard/v2/public/img/loader.gif | Bin 9315 -> 0 bytes
dashboard/v2/public/img/process.png | Bin 3204 -> 0 bytes
dashboard/v2/public/img/spinner.gif | Bin 8275 -> 0 bytes
dashboard/v2/public/img/tableicon.png | Bin 478 -> 0 bytes
.../v2/public/modules/home/img/logo-green.png | Bin 7271 -> 0 bytes
dashboard/v2/public/modules/home/img/logo-sm.png | Bin 2161 -> 0 bytes
dashboard/v2/public/modules/home/img/splash.png | Bin 275202 -> 0 bytes
.../public/modules/search/views/types/view.html | Bin 1242 -> 0 bytes
11 files changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/016e36c0/dashboard/public/modules/home/views/header.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/home/views/header.html b/dashboard/public/modules/home/views/header.html
index a0f515e..538321d 100644
--- a/dashboard/public/modules/home/views/header.html
+++ b/dashboard/public/modules/home/views/header.html
@@ -32,7 +32,7 @@
<a data-ui-sref="{{item.state}}">{{item.title}}</a>
</li>
</ul>
- <a ng-if="!username" class="pull-right menulink" href="https://cwiki.apache.org/confluence/display/ATLAS/Atlas+Home;jsessionid=3678CAD2035F4BE464481DD625BAFC1F" target="_blank">Help</a>
+ <a ng-if="!username" class="pull-right menulink" href="https://cwiki.apache.org/confluence/display/ATLAS/Atlas+Home" target="_blank">Help</a>
<a ng-if="!username" class="pull-right menulink" href="javascript:void(0)" ng-click="ShowAbout()">About</a>
</nav>
</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/016e36c0/dashboard/v2/public/img/ApacheAtlasLogo.png
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/img/ApacheAtlasLogo.png b/dashboard/v2/public/img/ApacheAtlasLogo.png
deleted file mode 100644
index 50c0ffd..0000000
Binary files a/dashboard/v2/public/img/ApacheAtlasLogo.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/016e36c0/dashboard/v2/public/img/favicon.ico
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/img/favicon.ico b/dashboard/v2/public/img/favicon.ico
deleted file mode 100644
index f0c22ad..0000000
Binary files a/dashboard/v2/public/img/favicon.ico and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/016e36c0/dashboard/v2/public/img/loader.gif
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/img/loader.gif b/dashboard/v2/public/img/loader.gif
deleted file mode 100755
index 72a9b35..0000000
Binary files a/dashboard/v2/public/img/loader.gif and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/016e36c0/dashboard/v2/public/img/process.png
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/img/process.png b/dashboard/v2/public/img/process.png
deleted file mode 100644
index ec841af..0000000
Binary files a/dashboard/v2/public/img/process.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/016e36c0/dashboard/v2/public/img/spinner.gif
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/img/spinner.gif b/dashboard/v2/public/img/spinner.gif
deleted file mode 100644
index 06fec2a..0000000
Binary files a/dashboard/v2/public/img/spinner.gif and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/016e36c0/dashboard/v2/public/img/tableicon.png
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/img/tableicon.png b/dashboard/v2/public/img/tableicon.png
deleted file mode 100755
index d56d328..0000000
Binary files a/dashboard/v2/public/img/tableicon.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/016e36c0/dashboard/v2/public/modules/home/img/logo-green.png
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/home/img/logo-green.png b/dashboard/v2/public/modules/home/img/logo-green.png
deleted file mode 100755
index fc3f234..0000000
Binary files a/dashboard/v2/public/modules/home/img/logo-green.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/016e36c0/dashboard/v2/public/modules/home/img/logo-sm.png
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/home/img/logo-sm.png b/dashboard/v2/public/modules/home/img/logo-sm.png
deleted file mode 100755
index 7bfaa84..0000000
Binary files a/dashboard/v2/public/modules/home/img/logo-sm.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/016e36c0/dashboard/v2/public/modules/home/img/splash.png
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/home/img/splash.png b/dashboard/v2/public/modules/home/img/splash.png
deleted file mode 100755
index f85ceed..0000000
Binary files a/dashboard/v2/public/modules/home/img/splash.png and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/016e36c0/dashboard/v2/public/modules/search/views/types/view.html
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/search/views/types/view.html b/dashboard/v2/public/modules/search/views/types/view.html
deleted file mode 100644
index e26d3e0..0000000
Binary files a/dashboard/v2/public/modules/search/views/types/view.html and /dev/null differ
[05/11] incubator-atlas git commit: ATLAS-109 Remove v2 Folder.
Contributed by Vishal Kadam
Posted by ve...@apache.org.
ATLAS-109 Remove v2 Folder. Contributed by Vishal Kadam
Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/37db9955
Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/37db9955
Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/37db9955
Branch: refs/heads/master
Commit: 37db995596f5a571a148e584eaf4242381b19450
Parents: fd4ff8e
Author: Venkatesh Seetharam <ve...@apache.org>
Authored: Fri Sep 11 15:07:22 2015 -0700
Committer: Venkatesh Seetharam <ve...@apache.org>
Committed: Fri Sep 11 15:07:22 2015 -0700
----------------------------------------------------------------------
dashboard/.bowerrc | 8 +
dashboard/.gitignore | 28 ++
dashboard/.jshintignore | 19 ++
dashboard/.jshintrc | 63 ++++
dashboard/README.md | 37 +++
dashboard/bower.json | 25 ++
dashboard/gruntfile.js | 187 ++++++++++++
dashboard/package.json | 62 ++++
dashboard/public/css/common.css | 125 ++++++++
dashboard/public/css/d3tip.css | 46 +++
dashboard/public/css/details.css | 21 ++
dashboard/public/css/lineage.css | 79 +++++
dashboard/public/css/sticky-footer-navbar.css | 41 +++
dashboard/public/index.html | 72 +++++
dashboard/public/js/app.js | 80 +++++
dashboard/public/js/init.js | 29 ++
dashboard/public/js/routes.js | 28 ++
.../public/modules/details/detailsController.js | 50 ++++
.../public/modules/details/detailsModule.js | 21 ++
.../public/modules/details/detailsResource.js | 34 +++
.../public/modules/details/detailsRoutes.js | 30 ++
.../public/modules/details/views/attribute.html | 29 ++
.../public/modules/details/views/details.html | 49 +++
.../public/modules/details/views/schema.html | 52 ++++
.../public/modules/home/headerController.js | 29 ++
dashboard/public/modules/home/homeModule.js | 21 ++
dashboard/public/modules/home/views/header.html | 36 +++
dashboard/public/modules/home/views/home.html | 21 ++
.../public/modules/lineage/lineageController.js | 299 +++++++++++++++++++
.../public/modules/lineage/lineageModule.js | 21 ++
.../public/modules/lineage/lineageResource.js | 23 ++
.../public/modules/lineage/views/lineage.html | 25 ++
.../modules/navigation/navigationController.js | 31 ++
.../modules/navigation/navigationModule.js | 21 ++
.../modules/navigation/navigationResource.js | 36 +++
.../modules/navigation/views/navigation.html | 24 ++
.../notification/notificationController.js | 30 ++
.../modules/notification/notificationModule.js | 30 ++
.../modules/notification/notificationService.js | 61 ++++
.../notification/views/notifications.html | 23 ++
.../public/modules/search/searchController.js | 119 ++++++++
.../public/modules/search/searchDirective.js | 34 +++
dashboard/public/modules/search/searchModule.js | 21 ++
.../public/modules/search/searchResource.js | 32 ++
dashboard/public/modules/search/searchRoutes.js | 30 ++
.../public/modules/search/views/search.html | 67 +++++
.../modules/search/views/searchResult.html | 47 +++
.../modules/search/views/types/column.html | 21 ++
.../public/modules/search/views/types/db.html | 22 ++
.../public/modules/search/views/types/guid.html | 21 ++
.../modules/search/views/types/hiveLineage.html | 19 ++
.../modules/search/views/types/hive_table.html | 19 ++
.../modules/search/views/types/loadprocess.html | 22 ++
.../modules/search/views/types/storagedesc.html | 21 ++
.../modules/search/views/types/table.html | 22 ++
dashboard/v2/.bowerrc | 8 -
dashboard/v2/.gitignore | 28 --
dashboard/v2/.jshintignore | 19 --
dashboard/v2/.jshintrc | 63 ----
dashboard/v2/README.md | 37 ---
dashboard/v2/bower.json | 25 --
dashboard/v2/gruntfile.js | 187 ------------
dashboard/v2/package.json | 62 ----
dashboard/v2/public/css/common.css | 125 --------
dashboard/v2/public/css/d3tip.css | 46 ---
dashboard/v2/public/css/details.css | 21 --
dashboard/v2/public/css/lineage.css | 79 -----
.../v2/public/css/sticky-footer-navbar.css | 41 ---
dashboard/v2/public/index.html | 72 -----
dashboard/v2/public/js/app.js | 80 -----
dashboard/v2/public/js/init.js | 29 --
dashboard/v2/public/js/routes.js | 28 --
.../public/modules/details/detailsController.js | 50 ----
.../v2/public/modules/details/detailsModule.js | 21 --
.../public/modules/details/detailsResource.js | 34 ---
.../v2/public/modules/details/detailsRoutes.js | 30 --
.../public/modules/details/views/attribute.html | 29 --
.../public/modules/details/views/details.html | 49 ---
.../v2/public/modules/details/views/schema.html | 52 ----
.../v2/public/modules/home/headerController.js | 29 --
dashboard/v2/public/modules/home/homeModule.js | 21 --
.../v2/public/modules/home/views/header.html | 36 ---
.../v2/public/modules/home/views/home.html | 21 --
.../public/modules/lineage/lineageController.js | 299 -------------------
.../v2/public/modules/lineage/lineageModule.js | 21 --
.../public/modules/lineage/lineageResource.js | 23 --
.../public/modules/lineage/views/lineage.html | 25 --
.../modules/navigation/navigationController.js | 31 --
.../modules/navigation/navigationModule.js | 21 --
.../modules/navigation/navigationResource.js | 36 ---
.../modules/navigation/views/navigation.html | 24 --
.../notification/notificationController.js | 30 --
.../modules/notification/notificationModule.js | 30 --
.../modules/notification/notificationService.js | 61 ----
.../notification/views/notifications.html | 23 --
.../public/modules/search/searchController.js | 119 --------
.../v2/public/modules/search/searchDirective.js | 34 ---
.../v2/public/modules/search/searchModule.js | 21 --
.../v2/public/modules/search/searchResource.js | 32 --
.../v2/public/modules/search/searchRoutes.js | 30 --
.../v2/public/modules/search/views/search.html | 67 -----
.../modules/search/views/searchResult.html | 47 ---
.../modules/search/views/types/column.html | 21 --
.../public/modules/search/views/types/db.html | 22 --
.../public/modules/search/views/types/guid.html | 21 --
.../modules/search/views/types/hiveLineage.html | 19 --
.../modules/search/views/types/hive_table.html | 19 --
.../modules/search/views/types/loadprocess.html | 22 --
.../modules/search/views/types/storagedesc.html | 21 --
.../modules/search/views/types/table.html | 22 --
distro/src/main/assemblies/src-package.xml | 10 +-
pom.xml | 16 +-
release-log.txt | 1 +
113 files changed, 2477 insertions(+), 2476 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/.bowerrc
----------------------------------------------------------------------
diff --git a/dashboard/.bowerrc b/dashboard/.bowerrc
new file mode 100644
index 0000000..010bb05
--- /dev/null
+++ b/dashboard/.bowerrc
@@ -0,0 +1,8 @@
+{
+ "directory": "../webapp/target/dist/lib/",
+ "storage": {
+ "packages": ".bower-cache",
+ "registry": ".bower-registry"
+ },
+ "tmp": ".bower-tmp"
+}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/.gitignore
----------------------------------------------------------------------
diff --git a/dashboard/.gitignore b/dashboard/.gitignore
new file mode 100644
index 0000000..e5ee796
--- /dev/null
+++ b/dashboard/.gitignore
@@ -0,0 +1,28 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+.DS_Store
+.bower-*/
+.idea/
+node_modules/
+lib/
+public/lib
+public/dist
+*.log
+*.tgz
+node/
+dist/
+**/app.min.js
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/.jshintignore
----------------------------------------------------------------------
diff --git a/dashboard/.jshintignore b/dashboard/.jshintignore
new file mode 100644
index 0000000..efd063f
--- /dev/null
+++ b/dashboard/.jshintignore
@@ -0,0 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+test/coverage/**
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/.jshintrc
----------------------------------------------------------------------
diff --git a/dashboard/.jshintrc b/dashboard/.jshintrc
new file mode 100644
index 0000000..62b5e65
--- /dev/null
+++ b/dashboard/.jshintrc
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+{
+ "browser": true, // Standard browser globals e.g. `window`, `document`.
+ "bitwise": false, // Prohibit bitwise operators (&, |, ^, etc.).
+ "camelcase": false, // Permit only camelcase for `var` and `object indexes`.
+ "curly": false, // Require {} for every new block or scope.
+ "devel": true, // Allow development statements e.g. `console.log();`.
+ "esnext": true, // Allow ES.next specific features such as `const` and `let`.
+ "eqeqeq": true, // Require triple equals i.e. `===`.
+ "immed": true, // Require immediate invocations to be wrapped in parens e.g. `( function(){}() );`
+ "indent": false, // Specify indentation spacing
+ "latedef": true, // Prohibit variable use before definition.
+ "node": true, // Enable globals available when code is running inside of the NodeJS runtime environment.
+ "newcap": false, // Require capitalization of all constructor functions e.g. `new F()`.
+ "noarg": true, // Prohibit use of `arguments.caller` and `arguments.callee`.
+ "noempty": true, // Prohibit use of empty blocks.
+ "quotmark": false, // Define quotes to string values.
+ "regexp": true, // Prohibit `.` and `[^...]` in regular expressions.
+ "strict": true, // Require `use strict` pragma in every file.
+ "smarttabs": false, // Suppresses warnings about mixed tabs and spaces
+ "trailing": true, // Prohibit trailing whitespaces.
+ "undef": true, // Require all non-global variables be declared before they are used.
+ "unused": true, // Warn unused variables.
+ "globals": { // Globals variables.
+ "angular": true
+ },
+ "predef": [ // Extra globals.
+ "define",
+ "require",
+ "exports",
+ "module",
+ "spyOn",
+ "describe",
+ "xdescribe",
+ "before",
+ "beforeEach",
+ "after",
+ "afterEach",
+ "jasmine",
+ "it",
+ "xit",
+ "inject",
+ "expect",
+ "ngGridFlexibleHeightPlugin"
+ ]
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/README.md
----------------------------------------------------------------------
diff --git a/dashboard/README.md b/dashboard/README.md
new file mode 100644
index 0000000..0957582
--- /dev/null
+++ b/dashboard/README.md
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+# Apache Atlas
+
+## Instructions
+
+### Prerequisite
+1. Nodejs (http://nodejs.org/download/)
+2. ```npm install -g grunt-cli```
+
+### Setup:
+
+```
+git clone $git-repo-url
+git checkout dal
+cd dashboard/v2
+npm install
+grunt server
+```
+Server will start at:
+<http://localhost:3010/>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/bower.json
----------------------------------------------------------------------
diff --git a/dashboard/bower.json b/dashboard/bower.json
new file mode 100644
index 0000000..2ffdc90
--- /dev/null
+++ b/dashboard/bower.json
@@ -0,0 +1,25 @@
+{
+ "name": "atlas-metadata",
+ "description": "Apache Atlas",
+ "version": "1.0.0-SNAPSHOT",
+ "devDependencies": {
+ "angular": "~1.2.15",
+ "angular-resource": "~1.2.15",
+ "angular-cookies": "~1.2.15",
+ "angular-route": "~1.2.15",
+ "angular-sanitize": "~1.2.15",
+ "bootstrap": "~3.1.1",
+ "angular-bootstrap": "~0.12.0",
+ "angular-ui-router": "~0.2.13",
+ "d3": "~3.5.3",
+ "d3-tip": "~0.6.6",
+ "lodash": "~3.0.0",
+ "angular-ui-utils": "~0.1.1",
+ "font-awesome": "~4.2.0",
+ "closure-compiler": "https://dl.google.com/closure-compiler/compiler-20140814.zip",
+ "ng-closure-runner": "https://raw.github.com/angular/ng-closure-runner/v0.2.3/assets/ng-closure-runner.zip"
+ },
+ "resolutions": {
+ "d3": "~3.5.3"
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/gruntfile.js
----------------------------------------------------------------------
diff --git a/dashboard/gruntfile.js b/dashboard/gruntfile.js
new file mode 100644
index 0000000..76ca84a
--- /dev/null
+++ b/dashboard/gruntfile.js
@@ -0,0 +1,187 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+var git = require('git-rev');
+
+module.exports = function(grunt) {
+ var classPathSep = (process.platform === "win32") ? ';' : ':',
+ gitHash = '',
+ pkg = grunt.file.readJSON('package.json'),
+ distPath = '../webapp/target/dist';
+
+ grunt.initConfig({
+ watch: {
+ options: {
+ livereload: 35729
+ },
+ js: {
+ files: ['public/**/*.js', '!public/lib/**', '!public/dist/**', '!public/js/app.min.js'],
+ tasks: ['shell']
+ },
+ html: {
+ files: ['public/**/*.html'],
+ tasks: ['copy:dist']
+ },
+ css: {
+ files: ['public/**/*.css'],
+ tasks: ['copy:dist']
+ },
+ image: {
+ files: ['public/**/*.{ico,gif,png}'],
+ tasks: ['copy:dist']
+ }
+ },
+ jshint: {
+ all: {
+ src: ['gruntfile.js', 'package.json', 'server.js', 'server/**/*.js', 'public/**/*.js', '!public/lib/**', '!public/dist/**', '!public/**/app.min.js'],
+ options: {
+ jshintrc: true
+ }
+ }
+ },
+ concurrent: {
+ tasks: ['watch', 'proxitserver'],
+ options: {
+ logConcurrentOutput: true
+ }
+ },
+ jsbeautifier: {
+ 'default': {
+ src: ['<%= jshint.all.src %>', 'bower.json'],
+ options: {
+ js: {
+ preserveNewlines: true,
+ maxPreserveNewlines: 2
+ }
+ }
+ },
+ 'build': {
+ src: '<%= jsbeautifier.default.src %>',
+ options: {
+ mode: 'VERIFY_ONLY',
+ js: '<%= jsbeautifier.default.options.js%>'
+ }
+ }
+ },
+ bower: {
+ install: {
+ options: {
+ verbose: true,
+ targetDir: '.bower-components'
+ }
+ }
+ },
+ dist: distPath + '/js/app.min.js',
+ modules: grunt.file.expand(
+ 'public/js/app.js',
+ 'public/js/routes.js',
+ 'public/modules/**/*Module.js',
+ 'public/modules/**/*.js',
+ 'public/js/init.js'
+ ).join(' '),
+ shell: {
+ min: {
+ command: 'java ' +
+ '-cp ' + distPath + '/lib/closure-compiler/compiler.jar' + classPathSep +
+ '' + distPath + '/lib/ng-closure-runner/ngcompiler.jar ' +
+ 'org.angularjs.closurerunner.NgClosureRunner ' +
+ '--compilation_level SIMPLE_OPTIMIZATIONS ' +
+ //'--formatting PRETTY_PRINT ' +
+ '--language_in ECMASCRIPT5_STRICT ' +
+ '--angular_pass ' +
+ '--manage_closure_dependencies ' +
+ '--js <%= modules %> ' +
+ '--js_output_file <%= dist %>'
+ }
+ },
+ devUpdate: {
+ main: {
+ options: {
+ updateType: 'force'
+ }
+ }
+ },
+ compress: {
+ release: {
+ options: {
+ archive: function() {
+ return [pkg.name, pkg.version, gitHash].join('_') + '.tgz';
+ }
+ },
+ src: ['node_modules/**', 'package.json', 'server.js', 'server/**', 'public/**', '!public/js/**', '!public/modules/**/*.js']
+ }
+ },
+ copy: {
+ dist: {
+ expand: true,
+ cwd: 'public/',
+ src: ['**', '!js/**/*.js', '!modules/**/*.js'],
+ dest: distPath
+ }
+ },
+ clean: {
+ build: [distPath],
+ options: {
+ force: true
+ }
+ },
+ proxit: {
+ dev: {
+ options: {
+ 'port': 3010,
+ 'verbose': true,
+ 'hosts': [{
+ 'hostnames': ['*'],
+ 'routes': {
+ '/': distPath,
+ '/api': 'http://162.249.6.50:21000/api'
+ }
+ }]
+ }
+ }
+ }
+ });
+
+ require('load-grunt-tasks')(grunt);
+ grunt.registerTask('default', ['devUpdate', 'bower', 'jshint', 'jsbeautifier:default']);
+
+ grunt.registerTask('server', ['jshint', 'clean', 'bower', 'copy:dist', 'minify', 'concurrent']);
+ grunt.registerTask('build', ['copy:dist', 'minify']);
+
+ grunt.registerTask('minify', 'Minify the all js', function() {
+ var done = this.async();
+ grunt.task.run(['shell:min']);
+ done();
+ });
+ grunt.loadNpmTasks('proxit');
+ grunt.registerTask('proxitserver', 'Proxit', function() {
+ var done = this.async();
+ grunt.task.run(['proxit:dev']);
+ done();
+ });
+ grunt.registerTask('release', 'Create release package', function() {
+ var done = this.async();
+ git.short(function(str) {
+ gitHash = str;
+ grunt.task.run(['minify', 'compress:release']);
+ done();
+ });
+ });
+};
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/package.json
----------------------------------------------------------------------
diff --git a/dashboard/package.json b/dashboard/package.json
new file mode 100644
index 0000000..3772654
--- /dev/null
+++ b/dashboard/package.json
@@ -0,0 +1,62 @@
+{
+ "name": "atlas-metadata",
+ "description": "Apache Atlas",
+ "version": "0.5.0-incubating",
+ "private": true,
+ "repository": {
+ "type": "git",
+ "url": "https://git-wip-us.apache.org/repos/asf/incubator-atlas.git"
+ },
+ "engines": {
+ "node": "0.10.x",
+ "npm": "1.3.x"
+ },
+ "keywords": [
+ "Apache",
+ "Atlas",
+ "HortonWorks"
+ ],
+ "dependencies": {
+ "body-parser": "^1.2.0",
+ "bower": "~1.3.1",
+ "compression": "^1.0.2",
+ "consolidate": "~0.10.0",
+ "cookie-parser": "^1.0.1",
+ "cookies": "~0.4.0",
+ "express": "~4.2.0",
+ "express-load": "^1.1.14",
+ "forever": "~0.11.1",
+ "lodash": "~2.4.1",
+ "method-override": "^1.0.0",
+ "morgan": "^1.0.1",
+ "path-extra": "~0.1.1",
+ "proxit": "^0.6.0",
+ "q": "~1.0.1",
+ "rc": "~0.3.4",
+ "serve-favicon": "^2.0.0",
+ "static-favicon": "^2.0.0-alpha",
+ "superagent": "^0.20.0",
+ "swig": "~1.3.2",
+ "view-helpers": "~0.1.4",
+ "grunt-contrib-clean": "~0.6.0"
+ },
+ "devDependencies": {
+ "git-rev": "^0.2.1",
+ "grunt": "~0.4.2",
+ "grunt-bower-task": "~0.4.0",
+ "grunt-cli": "~0.1.11",
+ "grunt-concurrent": "^1.0.0",
+ "grunt-contrib-compress": "^0.13.0",
+ "grunt-contrib-jshint": "^0.11.0",
+ "grunt-contrib-watch": "^0.6.0",
+ "grunt-dev-update": "^1.0.2",
+ "grunt-jsbeautifier": "^0.2.6",
+ "grunt-nodemon": "^0.4.0",
+ "grunt-shell": "^1.1.1",
+ "load-grunt-tasks": "^3.1.0",
+ "grunt-nginx": "~0.2.2",
+ "grunt-contrib-copy": "~0.8.0",
+ "grunt-contrib-clean": "~0.6.0",
+ "proxit": "~0.6.4"
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/css/common.css
----------------------------------------------------------------------
diff --git a/dashboard/public/css/common.css b/dashboard/public/css/common.css
new file mode 100644
index 0000000..c6af853
--- /dev/null
+++ b/dashboard/public/css/common.css
@@ -0,0 +1,125 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+div.separator {
+ position: relative;
+ font-size: 18px;
+ color: #aaa;
+ margin-top: 10px;
+ margin-bottom: 10px;
+ padding-top: 10px;
+ padding-bottom: 10px;
+}
+
+span.separator {
+ display: block;
+ position: absolute;
+ left: 50%;
+ top: -2px;
+ margin-left: -25px;
+ background-color: #fff;
+ width: 50px;
+ text-align: center;
+}
+
+hr.separator {
+ background-color: #cdcdcd;
+ height: 1px;
+ margin-top: 0px !important;
+ margin-bottom: 0px !important;
+}
+
+.pointer {
+ cursor: pointer;
+}
+
+.form-control {
+ border-color: #5cbb5a;
+ border-width: 2px;
+}
+
+.small-txt {
+ color: #999999;
+ padding-left: 14px;
+}
+
+/* Header background */
+header.navbar-top {
+ background-color: #fafafa;
+ border-bottom: solid 4px #5cbb5a;
+ margin-bottom: 0px;
+}
+
+header .container {
+ padding: 12px;
+}
+
+/* Footer */
+footer.navbar-bottom {
+ background-color: #fafafa;
+ border-top: solid 4px #5cbb5a;
+}
+
+footer.navbar-bottom p {
+ color: #333333;
+ margin: 23px 10px 10px;
+}
+
+footer.navbar-bottom img {
+ padding-left: 5px;
+ margin-top: -21px;
+}
+
+.searchresults {
+ border: 1px solid #ddd;
+ padding: 10px;
+}
+
+.mt10px {
+ margin-top: 10px;
+}
+
+.mt20px {
+ margin-top: 20px;
+}
+
+.searchresults:first-child {
+ border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+}
+
+.searchresults:last-child {
+ margin-bottom: 0;
+ border-bottom-right-radius: 4px;
+ border-bottom-left-radius: 4px;
+}
+.searchresults hr {
+ margin: 0;
+ border: 0;
+}
+.searchresults .well {
+ background-color: #fff;
+ border: 0;
+ box-shadow: none;
+ height: auto;
+ min-height: 0;
+ padding: 5px 5px 5px 0;
+}
+.search-spinner {
+ text-align: center;
+}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/css/d3tip.css
----------------------------------------------------------------------
diff --git a/dashboard/public/css/d3tip.css b/dashboard/public/css/d3tip.css
new file mode 100644
index 0000000..11e12b2
--- /dev/null
+++ b/dashboard/public/css/d3tip.css
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+.d3-tip {
+ line-height: 1;
+ font-weight: bold;
+ padding: 12px;
+ background: rgba(0, 0, 0, 0.8);
+ color: #fff;
+ border-radius: 2px;
+}
+
+/* Creates a small triangle extender for the tooltip */
+.d3-tip:after {
+ box-sizing: border-box;
+ display: inline;
+ font-size: 10px;
+ width: 100%;
+ line-height: 1;
+ color: rgba(0, 0, 0, 0.8);
+ content: "\25BC";
+ position: absolute;
+ text-align: center;
+}
+
+/* Style northward tooltips differently */
+.d3-tip.n:after {
+ margin: -1px 0 0 0;
+ top: 100%;
+ left: 0;
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/css/details.css
----------------------------------------------------------------------
diff --git a/dashboard/public/css/details.css b/dashboard/public/css/details.css
new file mode 100644
index 0000000..156d5f6
--- /dev/null
+++ b/dashboard/public/css/details.css
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+.tab-content .table-bordered {
+ border-top: none;
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/css/lineage.css
----------------------------------------------------------------------
diff --git a/dashboard/public/css/lineage.css b/dashboard/public/css/lineage.css
new file mode 100644
index 0000000..fddc0b0
--- /dev/null
+++ b/dashboard/public/css/lineage.css
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*g circle {*/
+ /*cursor: pointer;*/
+ /*stroke: green;*/
+ /*stroke-width: 2px;*/
+ /*fill: url(#process-image);*/
+/*}*/
+
+/*g circle.empty {*/
+ /*fill: #90ef96;*/
+/*}*/
+
+.link {
+ fill: none;
+ stroke: green;
+ stroke-width: 2px;
+
+}
+
+g text {
+ pointer-events: none;
+ text-shadow: 0 1px 0 #fff, 1px 0 0 #fff, 0 -1px 0 #fff, -1px 0 0 #fff;
+ text-align: center;
+}
+
+.d3-tip pre {
+ max-width: 400px;
+}
+
+div.lineage {
+ border-bottom: 2px solid #006600;
+
+}
+
+/*.node rect {*/
+ /*stroke: #333;*/
+ /*fill: #fff;*/
+/*}*/
+
+.edgePath path {
+ stroke: #333;
+ fill: #333;
+ stroke-width: 1.5px;
+}
+
+/*.node rect,*/
+/*.node circle {*/
+ /*stroke: #333;*/
+ /*fill: #fff;*/
+ /*stroke-width: 1.5px;*/
+/*}*/
+
+.lineage-viz {
+ margin: 0 auto;
+ overflow: auto;
+ /*border: 1px solid #ddd;
+ border-top: none;*/
+
+}
+/*.images {*/
+ /*background-image: url("../img/process.png");*/
+/*}*/
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/css/sticky-footer-navbar.css
----------------------------------------------------------------------
diff --git a/dashboard/public/css/sticky-footer-navbar.css b/dashboard/public/css/sticky-footer-navbar.css
new file mode 100644
index 0000000..3a2444b
--- /dev/null
+++ b/dashboard/public/css/sticky-footer-navbar.css
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* Sticky footer styles
+-------------------------------------------------- */
+html {
+ position: relative;
+ min-height: 100%;
+}
+body {
+ /* Margin bottom by footer height */
+ margin-bottom: 60px;
+}
+
+.content {
+ padding-bottom: 90px;
+}
+
+.footer {
+ position: absolute;
+ bottom: 0;
+ width: 100%;
+ /* Set the fixed height of the footer here */
+ height: 60px;
+ background-color: #f5f5f5;
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/index.html
----------------------------------------------------------------------
diff --git a/dashboard/public/index.html b/dashboard/public/index.html
new file mode 100644
index 0000000..5ce839d
--- /dev/null
+++ b/dashboard/public/index.html
@@ -0,0 +1,72 @@
+<!doctype html>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<html lang="en" xmlns="http://www.w3.org/1999/xhtml" itemscope="itemscope" itemtype="http://schema.org/Product">
+<head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <meta name="viewport" content="width=device-width,initial-scale=1">
+
+ <title>Apache Atlas</title>
+ <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
+
+
+ <link href="img/favicon.ico" rel="shortcut icon" type="image/x-icon">
+
+ <link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css">
+ <link rel="stylesheet" href="/css/sticky-footer-navbar.css">
+ <link rel="stylesheet" href="/css/common.css">
+ <link rel="stylesheet" href="/css/details.css">
+ <link rel="stylesheet" href="/css/lineage.css">
+ <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
+ </head>
+
+
+<link href="img/favicon.ico" rel="shortcut icon" type="image/x-icon">
+<body>
+<header class="navbar navbar-static-top navbar-top" data-role="navigation">
+ <div class="container" data-ng-include="'/modules/home/views/header.html'"></div>
+</header>
+<div class="content">
+ <div data-ng-include="'/modules/notification/views/notifications.html'"></div>
+ <div data-ui-view class="container"></div>
+</div>
+<footer class="footer navbar-bottom">
+ <div class="container">
+ <!--<p align="right">Powered by<img src="modules/home/img/logo-green.png"></p>-->
+ </div>
+</footer>
+
+<script src="lib/jquery/dist/jquery.js"></script>
+<script src="lib/angular/angular.js"></script>
+<script src="lib/bootstrap/dist/js/bootstrap.js"></script>
+<script src="lib/angular-bootstrap/ui-bootstrap-tpls.js"></script>
+<script src="lib/angular-cookies/angular-cookies.js"></script>
+<script src="lib/angular-resource/angular-resource.js"></script>
+<script src="lib/angular-route/angular-route.js"></script>
+<script src="lib/angular-sanitize/angular-sanitize.js"></script>
+<script src="lib/angular-ui-router/release/angular-ui-router.js"></script>
+<script src="lib/angular-ui-utils/ui-utils.js"></script>
+<script src="lib/lodash/lodash.js"></script>
+<script src="/lib/d3/d3.js"></script>
+<script src="/lib/d3-tip/index.js"></script>
+
+<script src="js/app.min.js"></script>
+</body>
+</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/js/app.js
----------------------------------------------------------------------
diff --git a/dashboard/public/js/app.js b/dashboard/public/js/app.js
new file mode 100644
index 0000000..1bdb316
--- /dev/null
+++ b/dashboard/public/js/app.js
@@ -0,0 +1,80 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc', ['ngCookies',
+ 'ngResource',
+ 'ui.bootstrap',
+ 'ui.router',
+ 'dgc.system',
+ 'dgc.home',
+ 'dgc.search',
+ 'dgc.navigation'
+]);
+
+angular.module('dgc.system', ['dgc.system.notification']);
+
+angular.module('dgc').factory('lodash', ['$window',
+ function($window) {
+ return $window._;
+ }
+]).factory('d3', ['$window',
+ function($window) {
+ return $window.d3;
+ }
+]).factory('Global', ['$window', '$location',
+ function($window, $location) {
+ return {
+ user: $location.search()['user.name'],
+ authenticated: !!$window.user,
+ renderErrors: $window.renderErrors
+ };
+ }
+]).factory('HttpInterceptor', ['Global', function(Global) {
+ return {
+ 'request': function(config) {
+ if (config.url && (config.url.indexOf('api/atlas/') === 0 || config.url.indexOf('/api/atlas/') === 0)) {
+ config.params = config.params || {};
+ config.params['user.name'] = Global.user;
+ }
+ return config;
+ }
+ };
+}]).config(['$httpProvider', function($httpProvider) {
+ $httpProvider.interceptors.push('HttpInterceptor');
+}]).run(['$rootScope', 'Global', 'NotificationService', 'lodash', 'd3', function($rootScope, Global, NotificationService, lodash, d3) {
+ var errors = Global.renderErrors;
+ if (angular.isArray(errors) || angular.isObject(errors)) {
+ lodash.forEach(errors, function(err) {
+ err = angular.isObject(err) ? err : {
+ message: err
+ };
+ err.timeout = false;
+ NotificationService.error(err);
+ });
+ } else {
+ if (errors) {
+ errors.timeout = false;
+ NotificationService.error(errors);
+ }
+ }
+ $rootScope.$on('$stateChangeStart', function() {
+ d3.selectAll('.d3-tip').remove();
+ });
+}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/js/init.js
----------------------------------------------------------------------
diff --git a/dashboard/public/js/init.js b/dashboard/public/js/init.js
new file mode 100644
index 0000000..aa99935
--- /dev/null
+++ b/dashboard/public/js/init.js
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.element(document).ready(function() {
+ /* Fixing facebook bug with redirect */
+ if (window.location.hash === '#_=_') window.location.hash = '#!';
+
+ //Then init the app
+ angular.bootstrap(document, ['dgc'], {
+ strictDi: true
+ });
+});
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/js/routes.js
----------------------------------------------------------------------
diff --git a/dashboard/public/js/routes.js b/dashboard/public/js/routes.js
new file mode 100644
index 0000000..8d0a3ac
--- /dev/null
+++ b/dashboard/public/js/routes.js
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+//Setting up route
+angular.module('dgc').config(['$locationProvider', '$urlRouterProvider',
+ function($locationProvider, $urlRouterProvider) {
+ $locationProvider.hashPrefix('!');
+ // For unmatched routes:
+ $urlRouterProvider.otherwise('/search');
+ }
+]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/details/detailsController.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/details/detailsController.js b/dashboard/public/modules/details/detailsController.js
new file mode 100644
index 0000000..0e96d42
--- /dev/null
+++ b/dashboard/public/modules/details/detailsController.js
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.details').controller('DetailsController', ['$window', '$scope', '$stateParams', 'DetailsResource',
+ function($window, $scope, $stateParams, DetailsResource) {
+
+ $scope.tableName = false;
+ $scope.isTable = false;
+
+ DetailsResource.get({
+ id: $stateParams.id
+ }, function(data) {
+ $scope.details = data;
+ $scope.schemas = data;
+ $scope.tableName = data.values.name;
+ $scope.isTable = data.typeName === 'Table';
+ });
+
+ $scope.isString = angular.isString;
+
+ $scope.onActivate = function tabActivate(tabname) {
+ $scope.$broadcast('render-lineage', {
+ type: tabname,
+ tableName: $scope.tableName
+ });
+ };
+
+ $scope.goBack = function() {
+ $window.history.back();
+ };
+
+ }
+]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/details/detailsModule.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/details/detailsModule.js b/dashboard/public/modules/details/detailsModule.js
new file mode 100644
index 0000000..987750a
--- /dev/null
+++ b/dashboard/public/modules/details/detailsModule.js
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.details', ['dgc.lineage']);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/details/detailsResource.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/details/detailsResource.js b/dashboard/public/modules/details/detailsResource.js
new file mode 100644
index 0000000..af2f249
--- /dev/null
+++ b/dashboard/public/modules/details/detailsResource.js
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.details').factory('DetailsResource', ['$resource', function($resource) {
+ return $resource('/api/atlas/entities/:id', {}, {
+ get: {
+ method: 'GET',
+ transformResponse: function(data) {
+ if (data) {
+ return angular.fromJson(data.definition);
+ }
+ },
+ responseType: 'json'
+ }
+ });
+
+}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/details/detailsRoutes.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/details/detailsRoutes.js b/dashboard/public/modules/details/detailsRoutes.js
new file mode 100644
index 0000000..17e32fa
--- /dev/null
+++ b/dashboard/public/modules/details/detailsRoutes.js
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.details').config(['$stateProvider',
+ function($stateProvider) {
+
+ // states for my app
+ $stateProvider.state('details', {
+ url: '/details/:id',
+ templateUrl: '/modules/details/views/details.html'
+ });
+ }
+]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/details/views/attribute.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/details/views/attribute.html b/dashboard/public/modules/details/views/attribute.html
new file mode 100644
index 0000000..89fa067
--- /dev/null
+++ b/dashboard/public/modules/details/views/attribute.html
@@ -0,0 +1,29 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<!--<div>-->
+<!--{{key}}:-->
+
+<!--{{value}}-->
+<!--</div>-->
+
+<div class="row" data-ng-repeat="(key1, value1) in value" ng-if="value1">
+ <div class="col-md-6" data-ng-if="!isString(value1)" data-ng-repeat="(key2, value2) in value1 track by $index"></div>
+ <div data-ng-if="isString(value2)" data-ng-repeat="(key3, value3) in value2"> {{key3}}: {{value3}}</div>
+ <div class="col-md-6" data-ng-if="isString(value1)"> {{key1}} : {{value1 | date:'medium'}}</div>
+</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/details/views/details.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/details/views/details.html b/dashboard/public/modules/details/views/details.html
new file mode 100644
index 0000000..19f0ce0
--- /dev/null
+++ b/dashboard/public/modules/details/views/details.html
@@ -0,0 +1,49 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<div class="row" data-ng-controller="DetailsController">
+ <ul class="breadcrumb">
+ <li><button class="btn btn-link" data-ng-click="goBack()">Back To Result</button> </li>
+ </ul>
+ <div role="tabpanel" class="col-lg-12">
+ <h2>Name: {{details.values.name}}</h2>
+ <h4>Description: {{details.values.description}}</h4>
+ <tabset>
+ <tab heading="Details">
+ <table class="table table-bordered">
+ <thead>
+ <tr>
+ <th>Key</th>
+ <th>Value</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr data-ng-repeat="(key,value) in details.values" ng-if="value && !(key==='columns') && !(key==='name') && !(key==='description')">
+ <td>{{key}}</td>
+ <td data-ng-if="!isString(value)" data-ng-include="'/modules/details/views/attribute.html'"></td>
+ <td data-ng-if="isString(value)">{{value | date:'medium'}}</td>
+ </tr>
+ </tbody>
+ </table>
+ </tab>
+ <tab data-heading="Schema" data-ng-if="isTable"><ng-include src="'/modules/details/views/schema.html'"/></tab>
+ <tab data-heading="Output" data-ng-if="isTable" data-disable="!tableName" data-select="onActivate('outputs')"><ng-include data-table-type="outputs" src="'/modules/lineage/views/lineage.html'"/></tab>
+ <tab data-heading="Input" data-ng-if="isTable" data-disable="!tableName" data-select="onActivate('inputs')"><ng-include data-table-type="inputs" src="'/modules/lineage/views/lineage.html'"/></tab>
+ </tabset>
+ </div>
+</div>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/details/views/schema.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/details/views/schema.html b/dashboard/public/modules/details/views/schema.html
new file mode 100644
index 0000000..1aaf96d
--- /dev/null
+++ b/dashboard/public/modules/details/views/schema.html
@@ -0,0 +1,52 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<table class="table table-bordered">
+ <thead>
+ <tr>
+ <th>Name</th>
+ <th>Comment</th>
+ <th>DataType</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td> {{details.values.columns[0].values.name}}</td>
+ <td>{{details.values.columns[0].values.comment}}</td>
+ <td> {{details.values.columns[0].values.dataType}}</td>
+
+ </tr>
+ <tr>
+
+ <td> {{details.values.columns[1].values.name}}</td>
+ <td>{{details.values.columns[1].values.comment}}</td>
+ <td> {{details.values.columns[1].values.dataType}}</td>
+ </tr>
+ <tr>
+
+ <td> {{details.values.columns[2].values.name}}</td>
+ <td>{{details.values.columns[2].values.comment}}</td>
+ <td> {{details.values.columns[2].values.dataType}}</td>
+ </tr>
+ <tr>
+
+ <td> {{details.values.columns[3].values.name}}</td>
+ <td>{{details.values.columns[3].values.comment}}</td>
+ <td> {{details.values.columns[3].values.dataType}}</td>
+ </tr>
+ </tbody>
+</table>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/home/headerController.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/home/headerController.js b/dashboard/public/modules/home/headerController.js
new file mode 100644
index 0000000..a8d1411
--- /dev/null
+++ b/dashboard/public/modules/home/headerController.js
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.home').controller('HeaderController', ['$scope', function($scope) {
+
+ $scope.menu = [];
+
+ $scope.isCollapsed = true;
+ $scope.isLoggedIn = function() {
+ return true;
+ };
+}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/home/homeModule.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/home/homeModule.js b/dashboard/public/modules/home/homeModule.js
new file mode 100644
index 0000000..017811c
--- /dev/null
+++ b/dashboard/public/modules/home/homeModule.js
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.home', []);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/home/views/header.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/home/views/header.html b/dashboard/public/modules/home/views/header.html
new file mode 100644
index 0000000..85c5f4d
--- /dev/null
+++ b/dashboard/public/modules/home/views/header.html
@@ -0,0 +1,36 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<div data-ng-controller="HeaderController" class="row">
+ <div class="navbar-header">
+ <button class="navbar-toggle" type="button" data-ng-click="isCollapsed = !isCollapsed">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a data-ui-sref="search({ query: '' })" data-ui-sref-active="active"><img src="../img/ApacheAtlasLogo.png" /></a>
+ </div>
+ <nav class="collapse navbar-collapse" data-collapse="isCollapsed" data-role="navigation">
+ <ul class="navbar-nav nav" data-ng-if="isLoggedIn()">
+ <li data-ng-repeat="item in menu" data-ui-sref-active="active">
+ <a data-ui-sref="{{item.state}}">{{item.title}}</a>
+ </li>
+ </ul>
+ </nav>
+</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/home/views/home.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/home/views/home.html b/dashboard/public/modules/home/views/home.html
new file mode 100644
index 0000000..4e93782
--- /dev/null
+++ b/dashboard/public/modules/home/views/home.html
@@ -0,0 +1,21 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<section class="text-center">
+ <img data-ui-sref="search" class="pointer" src="modules/home/img/splash.png"/>
+</section>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/lineage/lineageController.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/lineage/lineageController.js b/dashboard/public/modules/lineage/lineageController.js
new file mode 100644
index 0000000..b8bd09c
--- /dev/null
+++ b/dashboard/public/modules/lineage/lineageController.js
@@ -0,0 +1,299 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * 'License'); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an 'AS IS' BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.lineage').controller('LineageController', ['$element', '$scope', '$state', '$stateParams', 'lodash', 'LineageResource', 'd3', 'DetailsResource', '$q',
+ function($element, $scope, $state, $stateParams, _, LineageResource, d3, DetailsResource, $q) {
+ var guidsList = [];
+
+ function getLineageData(tableData, callRender) {
+ LineageResource.get({
+ tableName: tableData.tableName,
+ type: tableData.type
+ }, function lineageSuccess(response) {
+ if (!_.isEmpty(response.results.values.vertices)) {
+ var allGuids = loadProcess(response.results.values.edges, response.results.values.vertices);
+ allGuids.then(function(res) {
+ guidsList = res;
+ $scope.lineageData = transformData(response.results);
+ if (callRender) {
+ render();
+ }
+ });
+ }
+ $scope.requested = false;
+ });
+ }
+
+ function loadProcess(edges, vertices) {
+
+ var urlCalls = [];
+ var deferred = $q.defer();
+ for (var guid in edges) {
+ if (!vertices.hasOwnProperty(guid)) {
+ urlCalls.push(DetailsResource.get({
+ id: guid
+ }).$promise);
+ }
+
+ }
+ $q.all(urlCalls)
+ .then(function(results) {
+ deferred.resolve(results);
+ });
+ return deferred.promise;
+ }
+
+ $scope.type = $element.parent().attr('data-table-type');
+ $scope.requested = false;
+
+ function render() {
+ renderGraph($scope.lineageData, {
+ element: $element[0],
+ height: $element[0].offsetHeight,
+ width: $element[0].offsetWidth
+ });
+ $scope.rendered = true;
+ }
+
+ $scope.$on('render-lineage', function(event, lineageData) {
+ if (lineageData.type === $scope.type) {
+ if (!$scope.lineageData) {
+ if (!$scope.requested) {
+ getLineageData(lineageData, true);
+ $scope.requested = true;
+ }
+ } else {
+ render();
+ }
+ }
+ });
+
+ function transformData(metaData) {
+ var edges = metaData.values.edges,
+ vertices = metaData.values.vertices,
+ nodes = {};
+
+ function getNode(guid) {
+ var name, type, tip;
+ if (vertices.hasOwnProperty(guid)) {
+ name = vertices[guid].values.name;
+ type = vertices[guid].values.vertexId.values.typeName;
+ } else {
+ var loadProcess = getLoadProcessTypes(guid);
+ if (typeof loadProcess !== "undefined") {
+ name = loadProcess.name;
+ type = loadProcess.typeName;
+ tip = loadProcess.tip;
+ } else {
+ name = 'Load Process';
+ type = 'Load Process';
+ }
+ }
+ var vertex = {
+ guid: guid,
+ name: name,
+ type: type,
+ tip: tip
+ };
+ if (!nodes.hasOwnProperty(guid)) {
+ nodes[guid] = vertex;
+ }
+ return nodes[guid];
+ }
+
+ function getLoadProcessTypes(guid) {
+ var procesRes = [];
+ angular.forEach(guidsList, function(value) {
+ if (value.id.id === guid) {
+ procesRes.name = value.values.name;
+ procesRes.typeName = value.typeName;
+ procesRes.tip = value.values.queryText;
+ }
+ });
+ return procesRes;
+ }
+
+ function attachParent(edge, node) {
+ edge.forEach(function eachPoint(childGuid) {
+ var childNode = getNode(childGuid);
+ node.children = node.children || [];
+ node.children.push(childNode);
+ childNode.parent = node.guid;
+ });
+ }
+
+ /* Loop through all edges and attach them to correct parent */
+ for (var guid in edges) {
+ var edge = edges[guid],
+ node = getNode(guid);
+
+ /* Attach parent to each endpoint of edge */
+ attachParent(edge, node);
+ }
+
+ /* Return the first node w/o parent, this is root node*/
+ return _.find(nodes, function(node) {
+ return !node.hasOwnProperty('parent');
+ });
+ }
+
+ function renderGraph(data, container) {
+ // ************** Generate the tree diagram *****************
+ var element = d3.select(container.element),
+ width = Math.max(container.width, 960),
+ height = Math.max(container.height, 350);
+
+ var margin = {
+ top: 100,
+ right: 80,
+ bottom: 30,
+ left: 80
+ };
+ width = width - margin.right - margin.left;
+ height = height - margin.top - margin.bottom;
+
+ var i = 0;
+
+ var tree = d3.layout.tree()
+ .size([height, width]);
+
+ var diagonal = d3.svg.diagonal()
+ .projection(function(d) {
+ return [d.y, d.x];
+ });
+
+ /* Initialize tooltip */
+ var tooltip = d3.tip()
+ .attr('class', 'd3-tip')
+ .html(function(d) {
+ return '<pre class="alert alert-success">' + d.tip + '</pre>';
+ });
+
+ var svg = element.select('svg')
+ .attr('width', width + margin.right + margin.left)
+ .attr('height', height + margin.top + margin.bottom)
+ /* Invoke the tip in the context of your visualization */
+ .call(tooltip)
+ .select('g')
+ .attr('transform',
+ 'translate(' + margin.left + ',' + margin.right + ')');
+ //arrow
+ svg.append("svg:defs").append("svg:marker").attr("id", "arrow").attr("viewBox", "0 0 10 10").attr("refX", 26).attr("refY", 5).attr("markerUnits", "strokeWidth").attr("markerWidth", 6).attr("markerHeight", 9).attr("orient", "auto").append("svg:path").attr("d", "M 0 0 L 10 5 L 0 10 z");
+
+ //marker for input type graph
+ svg.append("svg:defs")
+ .append("svg:marker")
+ .attr("id", "input-arrow")
+ .attr("viewBox", "0 0 10 10")
+ .attr("refX", -15)
+ .attr("refY", 5)
+ .attr("markerUnits", "strokeWidth")
+ .attr("markerWidth", 6)
+ .attr("markerHeight", 9)
+ .attr("orient", "auto")
+ .append("svg:path")
+ .attr("d", "M -2 5 L 8 0 L 8 10 z");
+
+ var root = data;
+
+ function update(source) {
+
+ // Compute the new tree layout.
+ var nodes = tree.nodes(source).reverse(),
+ links = tree.links(nodes);
+
+ // Normalize for fixed-depth.
+ nodes.forEach(function(d) {
+ d.y = d.depth * 180;
+ });
+
+ // Declare the nodes…
+ var node = svg.selectAll('g.node')
+ .data(nodes, function(d) {
+ return d.id || (d.id = ++i);
+ });
+
+ // Enter the nodes.
+ var nodeEnter = node.enter().append('g')
+ .attr('class', 'node')
+ .attr('transform', function(d) {
+ return 'translate(' + d.y + ',' + d.x + ')';
+ });
+
+ nodeEnter.append("image")
+ .attr("xlink:href", function(d) {
+ //return d.icon;
+ return d.type === 'Table' ? '../img/tableicon.png' : '../img/process.png';
+ })
+ .on('mouseover', function(d) {
+ if (d.type === 'LoadProcess') {
+ tooltip.show(d);
+ }
+ })
+ .on('mouseout', function(d) {
+ if (d.type === 'LoadProcess') {
+ tooltip.hide(d);
+ }
+ })
+ .attr("x", "-18px")
+ .attr("y", "-18px")
+ .attr("width", "34px")
+ .attr("height", "34px");
+
+ nodeEnter.append('text')
+ .attr('x', function(d) {
+ return d.children || d._children ?
+ (5) * -1 : +15;
+ })
+ .attr('dy', '-1.75em')
+ .attr('text-anchor', function(d) {
+ return d.children || d._children ? 'middle' : 'middle';
+ })
+ .text(function(d) {
+ return d.name;
+ })
+
+ .style('fill-opacity', 1);
+
+ // Declare the links…
+ var link = svg.selectAll('path.link')
+ .data(links, function(d) {
+ return d.target.id;
+ });
+
+ link.enter().insert('path', 'g')
+ .attr('class', 'link')
+ //.style('stroke', function(d) { return d.target.level; })
+ .style('stroke', 'green')
+ .attr('d', diagonal);
+
+ if ($scope.type === 'inputs') {
+ link.attr("marker-start", "url(#input-arrow)"); //if input
+ } else {
+ link.attr("marker-end", "url(#arrow)"); //if input
+ }
+
+ }
+
+ update(root);
+ }
+
+ }
+]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/lineage/lineageModule.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/lineage/lineageModule.js b/dashboard/public/modules/lineage/lineageModule.js
new file mode 100644
index 0000000..4fda24d
--- /dev/null
+++ b/dashboard/public/modules/lineage/lineageModule.js
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.lineage', []);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/lineage/lineageResource.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/lineage/lineageResource.js b/dashboard/public/modules/lineage/lineageResource.js
new file mode 100644
index 0000000..e729a35
--- /dev/null
+++ b/dashboard/public/modules/lineage/lineageResource.js
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.lineage').factory('LineageResource', ['$resource', function($resource) {
+ return $resource('/api/atlas/lineage/hive/table/:tableName/:type/graph', {});
+}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/lineage/views/lineage.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/lineage/views/lineage.html b/dashboard/public/modules/lineage/views/lineage.html
new file mode 100644
index 0000000..e2e9ebd
--- /dev/null
+++ b/dashboard/public/modules/lineage/views/lineage.html
@@ -0,0 +1,25 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<div class="lineage-viz" data-ng-controller="LineageController">
+ <h4 data-ng-if="!requested && !lineageData">No lineage data found</h4>
+ <i data-ng-if="requested" class="fa fa-spinner fa-spin fa-5x"></i>
+ <svg >
+ <g/>
+ </svg>
+</div>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/navigation/navigationController.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/navigation/navigationController.js b/dashboard/public/modules/navigation/navigationController.js
new file mode 100644
index 0000000..a012885
--- /dev/null
+++ b/dashboard/public/modules/navigation/navigationController.js
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.navigation').controller('NavigationController', ['$scope', 'NavigationResource',
+ function($scope, NavigationResource) {
+
+ $scope.leftnav = NavigationResource.get();
+ $scope.updateVar = function(event) {
+ $scope.$$prevSibling.query = angular.element(event.target).text();
+
+ };
+
+ }
+]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/navigation/navigationModule.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/navigation/navigationModule.js b/dashboard/public/modules/navigation/navigationModule.js
new file mode 100644
index 0000000..504eb1f
--- /dev/null
+++ b/dashboard/public/modules/navigation/navigationModule.js
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.navigation', []);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/navigation/navigationResource.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/navigation/navigationResource.js b/dashboard/public/modules/navigation/navigationResource.js
new file mode 100644
index 0000000..3d9797d
--- /dev/null
+++ b/dashboard/public/modules/navigation/navigationResource.js
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.navigation').factory('NavigationResource', ['$resource', function($resource) {
+ return $resource('/api/atlas/types?type=TRAIT', {}, {
+ get: {
+ 'method': 'GET',
+ 'responseType': 'json',
+ 'isArray': true,
+ 'transformResponse': function(data) {
+ var results = [];
+ angular.forEach(data && data.results, function(val) {
+ results.push(val);
+ });
+ return results;
+ }
+ }
+ });
+}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/navigation/views/navigation.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/navigation/views/navigation.html b/dashboard/public/modules/navigation/views/navigation.html
new file mode 100644
index 0000000..1c94671
--- /dev/null
+++ b/dashboard/public/modules/navigation/views/navigation.html
@@ -0,0 +1,24 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<div data-ng-controller="NavigationController">
+ <h4>Tags</h4>
+ <div class="list-group">
+ <a ng-repeat="nav in leftnav" ui-sref="search({ query: nav })" class="list-group-item">{{nav}} </a>
+ </div>
+</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/notification/notificationController.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/notification/notificationController.js b/dashboard/public/modules/notification/notificationController.js
new file mode 100644
index 0000000..ac36b0f
--- /dev/null
+++ b/dashboard/public/modules/notification/notificationController.js
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.system.notification').controller('NotificationController', ['$scope', 'NotificationService',
+ function($scope, NotificationService) {
+
+ $scope.getNotifications = NotificationService.getAll;
+
+ $scope.close = function(notification) {
+ NotificationService.close(notification);
+ };
+ }
+]);
[07/11] incubator-atlas git commit: ATLAS-111 UI: Create Help Link.
Contributed by Vishal Kadam
Posted by ve...@apache.org.
ATLAS-111 UI: Create Help Link. Contributed by Vishal Kadam
Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/d1eef49e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/d1eef49e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/d1eef49e
Branch: refs/heads/master
Commit: d1eef49e2607b98e2cfd66a24d236a7634192a15
Parents: 15ba43c
Author: Venkatesh Seetharam <ve...@apache.org>
Authored: Fri Sep 11 15:12:39 2015 -0700
Committer: Venkatesh Seetharam <ve...@apache.org>
Committed: Fri Sep 11 15:12:39 2015 -0700
----------------------------------------------------------------------
dashboard/public/css/common.css | 4 ++++
dashboard/public/modules/home/views/header.html | 3 ++-
release-log.txt | 2 ++
3 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/d1eef49e/dashboard/public/css/common.css
----------------------------------------------------------------------
diff --git a/dashboard/public/css/common.css b/dashboard/public/css/common.css
index c6af853..310e1f9 100644
--- a/dashboard/public/css/common.css
+++ b/dashboard/public/css/common.css
@@ -123,3 +123,7 @@ footer.navbar-bottom img {
.search-spinner {
text-align: center;
}
+.menulink{
+ padding-left: 10px;
+ padding-right: 10px;
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/d1eef49e/dashboard/public/modules/home/views/header.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/home/views/header.html b/dashboard/public/modules/home/views/header.html
index 8d3ad18..a0f515e 100644
--- a/dashboard/public/modules/home/views/header.html
+++ b/dashboard/public/modules/home/views/header.html
@@ -32,6 +32,7 @@
<a data-ui-sref="{{item.state}}">{{item.title}}</a>
</li>
</ul>
- <a ng-if="!username" class="pull-right" href="javascript:void(0)" ng-click="ShowAbout()">About</a>
+ <a ng-if="!username" class="pull-right menulink" href="https://cwiki.apache.org/confluence/display/ATLAS/Atlas+Home;jsessionid=3678CAD2035F4BE464481DD625BAFC1F" target="_blank">Help</a>
+ <a ng-if="!username" class="pull-right menulink" href="javascript:void(0)" ng-click="ShowAbout()">About</a>
</nav>
</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/d1eef49e/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index 47a19da..babfa10 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -8,6 +8,8 @@ ATLAS-54 Rename configs in hive hook (shwethags)
ATLAS-3 Mixed Index creation fails with Date types (suma.shivaprasad via shwethags)
ALL CHANGES:
+ATLAS-111
+UI: Create Help Link (Vishal Kadam via Venkatesh Seetharam)
ATLAS-113 Add an About Dialog to Apache Atlas UI with version number (Vishal Kadam
via Venkatesh Seetharam)
ATLAS-109 Remove v2 Folder (Vishal Kadam via Venkatesh Seetharam)
[04/11] incubator-atlas git commit: ATLAS-109 Remove v2 Folder.
Contributed by Vishal Kadam
Posted by ve...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/notification/notificationModule.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/notification/notificationModule.js b/dashboard/public/modules/notification/notificationModule.js
new file mode 100644
index 0000000..e99736f
--- /dev/null
+++ b/dashboard/public/modules/notification/notificationModule.js
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.system.notification', ['ui.router']).constant('ColorCoding', {
+ info: 'success',
+ error: 'danger'
+}).run(['$rootScope', 'NotificationService', function($rootScope, NotificationService) {
+ $rootScope.$on('$locationChangeSuccess', function(evt, from, to) {
+ if (from !== to) {
+ NotificationService.reset();
+ }
+ });
+}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/notification/notificationService.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/notification/notificationService.js b/dashboard/public/modules/notification/notificationService.js
new file mode 100644
index 0000000..613cc22
--- /dev/null
+++ b/dashboard/public/modules/notification/notificationService.js
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.system.notification').service('NotificationService', ['$timeout', 'lodash', 'ColorCoding', function($timeout, _, colorCoding) {
+
+ var notifications = [],
+ service = {
+ timeout: 2000,
+ getAll: function() {
+ return notifications;
+ },
+ reset: function() {
+ notifications = [];
+ },
+ close: function(notification) {
+ _.remove(notifications, notification);
+ }
+ };
+
+ _.each(colorCoding, function(value, key) {
+ service[key] = function(message, timeout) {
+ var notification = message;
+ if (_.isString(message)) {
+ notification = {
+ message: message
+ };
+ }
+
+ notification.message = notification.msg || notification.message;
+ delete notification.msg;
+ notification.type = value;
+ notification.timeout = _.isUndefined(timeout) ? (_.isUndefined(notification.timeout) ? true : notification.timeout) : timeout;
+ notifications.push(notification);
+
+ if (notification.timeout) {
+ $timeout(function() {
+ service.close(notification);
+ }, angular.isNumber(notification.timeout) ? notification.timeout : service.timeout);
+ }
+ };
+ });
+
+ return service;
+}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/notification/views/notifications.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/notification/views/notifications.html b/dashboard/public/modules/notification/views/notifications.html
new file mode 100644
index 0000000..dcc02c5
--- /dev/null
+++ b/dashboard/public/modules/notification/views/notifications.html
@@ -0,0 +1,23 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<div class="container" data-ng-controller="NotificationController">
+ <alert data-ng-repeat="notification in getNotifications()" data-type="{{notification.type}}" data-close="close(notification)">
+ {{notification.message}}
+ </alert>
+</div>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/search/searchController.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/search/searchController.js b/dashboard/public/modules/search/searchController.js
new file mode 100644
index 0000000..b5e6c37
--- /dev/null
+++ b/dashboard/public/modules/search/searchController.js
@@ -0,0 +1,119 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.search').controller('SearchController', ['$scope', '$location', '$http', '$state', '$stateParams', 'lodash', 'SearchResource', 'NotificationService',
+ function($scope, $location, $http, $state, $stateParams, _, SearchResource, NotificationService) {
+
+ $scope.results = [];
+ $scope.resultCount = 0;
+ $scope.isCollapsed = true;
+ $scope.currentPage = 1;
+ $scope.itemsPerPage = 10;
+ $scope.filteredResults = [];
+ $scope.resultRows = [];
+ $scope.setPage = function(pageNo) {
+ $scope.currentPage = pageNo;
+ };
+ $scope.search = function(query) {
+ $scope.results = [];
+ NotificationService.reset();
+ $scope.limit = 4;
+ $scope.searchMessage = 'load-gif';
+
+ $scope.$parent.query = query;
+ SearchResource.search({
+ query: query
+ }, function searchSuccess(response) {
+ $scope.resultCount = response.count;
+ $scope.results = response.results;
+ $scope.resultRows = $scope.results.rows;
+ $scope.totalItems = $scope.resultCount;
+ $scope.transformedResults = {};
+ $scope.dataTransitioned = false;
+ if (response.results.dataType && response.results.dataType.typeName.indexOf('__') === 0) {
+ $scope.dataTransitioned = true;
+ var attrDef = response.results.dataType.attributeDefinitions;
+ angular.forEach(attrDef, function(value) {
+ if (value.dataTypeName === '__IdType') {
+ $scope.searchKey = value.name;
+ }
+ });
+ $scope.transformedResults = $scope.filterResults();
+ } else {
+ $scope.transformedResults = $scope.resultRows;
+ }
+ if ($scope.results.rows)
+ $scope.searchMessage = $scope.resultCount + ' results matching your search query ' + $scope.query + ' were found';
+ else
+ $scope.searchMessage = '0 results matching your search query ' + $scope.query + ' were found';
+
+ $scope.$watch('currentPage + itemsPerPage', function() {
+ var begin = (($scope.currentPage - 1) * $scope.itemsPerPage),
+ end = begin + $scope.itemsPerPage;
+ if ($scope.transformedResults) $scope.filteredResults = $scope.transformedResults.slice(begin, end);
+ $scope.pageCount = function() {
+ return Math.ceil($scope.resultCount / $scope.itemsPerPage);
+ };
+ if ($scope.results.length < 1) {
+ NotificationService.error('No Result found', false);
+ }
+ });
+ }, function searchError(err) {
+ $scope.searchMessage = '0 results matching your search query ' + $scope.query + ' were found';
+ NotificationService.error('Error occurred during executing search query, error status code = ' + err.status + ', status text = ' + err.statusText, false);
+ });
+ $state.go('search', {
+ query: query
+ }, {
+ location: 'replace'
+ });
+ };
+
+ $scope.filterResults = function() {
+ var res = [];
+ angular.forEach($scope.resultRows, function(value) {
+ res.push(value[$scope.searchKey]);
+ });
+ return res;
+ };
+ $scope.doToggle = function($event, el) {
+ this.isCollapsed = !el;
+ };
+ $scope.filterSearchResults = function(items) {
+ var res = {};
+ var count = 0;
+ items = _.omit(items, ['name', 'description', 'guid']);
+ angular.forEach(items, function(value, key) {
+ if (typeof value !== 'object' && (key.indexOf('$$') < 0)) {
+ res[key] = value;
+ count++;
+ }
+ });
+ $scope.keyLength = count;
+ return res;
+ };
+ $scope.searchQuery = $location.search();
+ $scope.query = ($location.search()).query;
+ if ($scope.query) {
+
+ $scope.search($scope.query);
+ }
+ }
+]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/search/searchDirective.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/search/searchDirective.js b/dashboard/public/modules/search/searchDirective.js
new file mode 100644
index 0000000..5c9fc48
--- /dev/null
+++ b/dashboard/public/modules/search/searchDirective.js
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.search').directive(
+ "myDirective",
+ function() {
+ return {
+ restrict: 'EA',
+ template: '<a href="javascript: void(0);" button-toggle toggle="isCollapsed" class="show-more" ng-click="isCollapsed = !isCollapsed">..show more</a>',
+ link: function($scope) {
+ $scope.isCollapsed = true;
+ console.log($scope.isCollapsed);
+ },
+ transclude: true,
+ scope: {}
+ };
+ });
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/search/searchModule.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/search/searchModule.js b/dashboard/public/modules/search/searchModule.js
new file mode 100644
index 0000000..ac82e3e
--- /dev/null
+++ b/dashboard/public/modules/search/searchModule.js
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.search', ['dgc.details']);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/search/searchResource.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/search/searchResource.js b/dashboard/public/modules/search/searchResource.js
new file mode 100644
index 0000000..19de021
--- /dev/null
+++ b/dashboard/public/modules/search/searchResource.js
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.search').factory('SearchResource', ['$resource', function($resource) {
+ return $resource('/api/atlas/discovery/search/', {}, {
+ search: {
+ 'method': 'GET',
+ 'responseType': 'json',
+ 'transformResponse': function(data) {
+ return data;
+ }
+ }
+ });
+
+}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/search/searchRoutes.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/search/searchRoutes.js b/dashboard/public/modules/search/searchRoutes.js
new file mode 100644
index 0000000..abfe322
--- /dev/null
+++ b/dashboard/public/modules/search/searchRoutes.js
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+//Setting up route
+angular.module('dgc.search').config(['$stateProvider',
+ function($stateProvider) {
+ $stateProvider.state('search', {
+ url: '/search?query',
+ templateUrl: '/modules/search/views/search.html',
+ controller: 'SearchController'
+ });
+ }
+]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/search/views/search.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/search/views/search.html b/dashboard/public/modules/search/views/search.html
new file mode 100644
index 0000000..389364d
--- /dev/null
+++ b/dashboard/public/modules/search/views/search.html
@@ -0,0 +1,67 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<div class="row mt20px">
+ <form class="col-lg-offset-3 col-lg-9" name="form" novalidate>
+ <div class="input-group">
+ <input type="text" class="form-control" placeholder="Search" data-ng-model="query" required/>
+ <span class="input-group-btn">
+ <button class="btn btn-success" type="submit" data-ng-disabled="form.$invalid" ui-sref="search({ query: query })">
+ <i class="glyphicon glyphicon-search white "></i>
+ </button>
+ </span>
+ </div>
+ <div>
+ <small class="small-txt">Search: Table, DB, Column</small>
+ </div>
+ </form>
+</div>
+<div class="row mt10px">
+ <div class="col-lg-3" data-ng-include="'/modules/navigation/views/navigation.html'"></div>
+ <div class="col-lg-9">
+ <div ng-switch on="searchMessage">
+ <div ng-switch-when="load-gif" class="search-spinner"><img src="../img/spinner.gif" align="middle" /></div>
+ <div ng-switch-default><h4 ng-show="searchMessage">{{searchMessage}}</h4></div>
+ </div>
+ <ul class="list-unstyled" ng-show='resultCount > 0'>
+ <li ng-repeat="result in filteredResults" class="searchresults">
+ <h4><a data-ui-sref="details({id:result['$id$'].id || result.guid})">{{result.name || result.guid}}</a></h4>
+
+ <p>{{result.description}}</p>
+ <span ng-repeat="(key, value) in filterSearchResults(result)">
+ <span ng-show="$index <= 3 "><b>{{key}}: </b>{{value}} {{(($index+1 === limit) || $last ) ? '' : ', '}}</span>
+ </span>
+
+ <div collapse="isCollapsed">
+ <span ng-repeat="(key, value) in filterSearchResults(result)">
+ <span ng-show="$index > 3"><b>{{key}}: </b>{{value}}{{$last ? '' : ', '}}</span>
+ </span>
+ </div>
+ <a href ng-show="isCollapsed && (keyLength > 4)" ng-click="doToggle($event,isCollapsed)">..show more</a>
+ <a href ng-show="!isCollapsed" ng-click="doToggle($event,isCollapsed)">..show less</a>
+
+ <h5 ng-show="!dataTransitioned">Tags : <a ng-repeat="(key, value) in result['$traits$']" data-ui-sref="search({query: key})">{{key}}</a></h5>
+
+ </li>
+ </ul>
+ <div class="pull-right" ng-show='resultCount > 0'>
+ <pagination total-items="totalItems" items-per-page="itemsPerPage" ng-model="currentPage" ng-change="pageChanged()"></pagination>
+ <p>
+ </div>
+ </div>
+</div>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/search/views/searchResult.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/search/views/searchResult.html b/dashboard/public/modules/search/views/searchResult.html
new file mode 100644
index 0000000..0faf3bb
--- /dev/null
+++ b/dashboard/public/modules/search/views/searchResult.html
@@ -0,0 +1,47 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<!--
+<h4 ng-show='results.rows.length > 0'>{{results.rows.length}} results matching your search query "{{query}}" were found</h4>
+<h4 ng-show='results.rows.length == "0"'>searching .....</h4>
+<h4 ng-show='!(results.rows)'>0 results matching your search query "{{query}}" were found</h4>-->
+
+<h4 ng-show="searchMessage">{{searchMessage}}</h4>
+
+<ul class="list-unstyled">
+ <li ng-repeat="result in filteredResults" class="searchresults">
+ <h4><a data-ui-sref="details({id:result['$id$'].id})">{{result.name}}</a></h4>
+ <p>{{result.description}}</p>
+ <span ng-repeat="(key, value) in filterSearchResults(result)" >
+ <span ng-show="$index < 4"><b>{{key}}: </b>{{value}}{{$index+1 === limit ? '' : ', '}}</span>
+ </span>
+ <div collapse="isCollapsed">
+ <span ng-repeat="(key, value) in filterSearchResults(result)" >
+ <span ng-show="$index > 4"><b>{{key}}: </b>{{value}}{{$last ? '' : ', '}}</span>
+ </span>
+ </div>
+ <a href ng-show="isCollapsed && (keyLength > 4)" ng-click="doToggle($event,isCollapsed)">..show more</a>
+ <a href ng-show="!isCollapsed" ng-click="doToggle($event,isCollapsed)">..show less</a>
+
+ <h5>Tags : <a ng-repeat="(key, value) in result['$traits$']" data-ui-sref="search.results({query: key})">{{key}}</a> </h5>
+ <div data-ng-if="!searchTypesAvailable" data-ng-include="'/modules/search/views/types/guid.html'"></div>
+ </li>
+</ul>
+<div class="resultsPagination" ng-show='filteredResults.length > 0'>
+ <pagination total-items="totalItems" items-per-page="itemsPerPage" ng-model="currentPage" ng-change="pageChanged()"></pagination>
+ <p>
+</div>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/search/views/types/column.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/search/views/types/column.html b/dashboard/public/modules/search/views/types/column.html
new file mode 100644
index 0000000..3bbb6c0
--- /dev/null
+++ b/dashboard/public/modules/search/views/types/column.html
@@ -0,0 +1,21 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<h4><a data-ui-sref="details({id:result['$id$'].id})">{{result.name}}</a></h4>
+<p><b>Comment:</b> {{result.comment}}, <b>DataType:</b> {{result.dataType}},<b>Table:</b> {{result.table}}</p>
+<h5>Tags : <a ng-repeat="(key, value) in result['$traits$']" data-ui-sref="search.results({query: key})">{{key}}</a> </h5>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/search/views/types/db.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/search/views/types/db.html b/dashboard/public/modules/search/views/types/db.html
new file mode 100644
index 0000000..28467b0
--- /dev/null
+++ b/dashboard/public/modules/search/views/types/db.html
@@ -0,0 +1,22 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<h4><a data-ui-sref="details({id:result['$id$'].id})">{{result.name}}</a></h4>
+<p>{{result.description}}</p>
+<p><b>locationUri:</b> {{result.locationUri}}, <b>Owner: </b>{{result.owner}}</p>
+<h5>Tags : <a ng-repeat="(key, value) in result['$traits$']" data-ui-sref="search.results({query: key})">{{key}}</a> </h5>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/search/views/types/guid.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/search/views/types/guid.html b/dashboard/public/modules/search/views/types/guid.html
new file mode 100644
index 0000000..483ca80
--- /dev/null
+++ b/dashboard/public/modules/search/views/types/guid.html
@@ -0,0 +1,21 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<h4><a data-ui-sref="details({id:result.instanceInfo.guid})">{{result.instanceInfo.guid}}</a></h4>
+<p><b>TypeName: </b>{{result.instanceInfo.typeName}}</p>
+<h5>Tags : <a ng-repeat="(key, value) in result['$traits$']" data-ui-sref="search.results({query: key})">{{key}}</a> </h5>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/search/views/types/hiveLineage.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/search/views/types/hiveLineage.html b/dashboard/public/modules/search/views/types/hiveLineage.html
new file mode 100644
index 0000000..b150722
--- /dev/null
+++ b/dashboard/public/modules/search/views/types/hiveLineage.html
@@ -0,0 +1,19 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<a data-ui-sref="details({id:result.guid})">{{result.guid}}</a>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/search/views/types/hive_table.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/search/views/types/hive_table.html b/dashboard/public/modules/search/views/types/hive_table.html
new file mode 100644
index 0000000..84b747e
--- /dev/null
+++ b/dashboard/public/modules/search/views/types/hive_table.html
@@ -0,0 +1,19 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<a data-ui-sref="details({id:result.guid})">{{result["hive_table.name"]}}</a>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/search/views/types/loadprocess.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/search/views/types/loadprocess.html b/dashboard/public/modules/search/views/types/loadprocess.html
new file mode 100644
index 0000000..652cd97
--- /dev/null
+++ b/dashboard/public/modules/search/views/types/loadprocess.html
@@ -0,0 +1,22 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<h4><a data-ui-sref="details({id:result['$id$'].id})">{{result.name}}</a></h4>
+<p>{{result.description}}</p>
+<p><b>inputTables: </b>{{result.inputTables['id']}},<b>queryText: </b>{{result.queryText}},<b>startTime: </b>{{result.startTime | date:'medium'}},<b>endTime: </b> {{result.endTime | date:'medium'}}</p>
+<h5>Tags : <a ng-repeat="(key, value) in result['$traits$']" data-ui-sref="search.results({query: key})">{{key}}</a> </h5>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/search/views/types/storagedesc.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/search/views/types/storagedesc.html b/dashboard/public/modules/search/views/types/storagedesc.html
new file mode 100644
index 0000000..0587f26
--- /dev/null
+++ b/dashboard/public/modules/search/views/types/storagedesc.html
@@ -0,0 +1,21 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<h4><a data-ui-sref="details({id:result['$id$'].id})">{{result.name}}</a></h4>
+<p><b>compressed: </b>{{result.compressed}},<b>outputFormat: </b>{{result.outputFormat}},<b>location: </b>{{result.location}}, <b>inputFormat: </b>{{result.inputFormat}}</p>
+<h5>Tags : <a ng-repeat="(key, value) in result['$traits$']" data-ui-sref="search.results({query: key})">{{key}}</a> </h5>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/public/modules/search/views/types/table.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/search/views/types/table.html b/dashboard/public/modules/search/views/types/table.html
new file mode 100644
index 0000000..a678ff9
--- /dev/null
+++ b/dashboard/public/modules/search/views/types/table.html
@@ -0,0 +1,22 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<h4><a data-ui-sref="details({id:result['$id$'].id})">{{result.name}}</a></h4>
+<p>{{result.description}}</p>
+<p><b>owner: </b>{{result.owner}}, <b>createTime: </b>{{result.createTime}}</p>
+<h5>Tags : <a ng-repeat="(key, value) in result['$traits$']" data-ui-sref="search.results({query: key})">{{key}}</a> </h5>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/.bowerrc
----------------------------------------------------------------------
diff --git a/dashboard/v2/.bowerrc b/dashboard/v2/.bowerrc
deleted file mode 100755
index b4d0ffc..0000000
--- a/dashboard/v2/.bowerrc
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "directory": "../../webapp/target/dist/lib/",
- "storage": {
- "packages": ".bower-cache",
- "registry": ".bower-registry"
- },
- "tmp": ".bower-tmp"
-}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/.gitignore
----------------------------------------------------------------------
diff --git a/dashboard/v2/.gitignore b/dashboard/v2/.gitignore
deleted file mode 100755
index e5ee796..0000000
--- a/dashboard/v2/.gitignore
+++ /dev/null
@@ -1,28 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-.DS_Store
-.bower-*/
-.idea/
-node_modules/
-lib/
-public/lib
-public/dist
-*.log
-*.tgz
-node/
-dist/
-**/app.min.js
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/.jshintignore
----------------------------------------------------------------------
diff --git a/dashboard/v2/.jshintignore b/dashboard/v2/.jshintignore
deleted file mode 100755
index efd063f..0000000
--- a/dashboard/v2/.jshintignore
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-test/coverage/**
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/.jshintrc
----------------------------------------------------------------------
diff --git a/dashboard/v2/.jshintrc b/dashboard/v2/.jshintrc
deleted file mode 100755
index 62b5e65..0000000
--- a/dashboard/v2/.jshintrc
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-{
- "browser": true, // Standard browser globals e.g. `window`, `document`.
- "bitwise": false, // Prohibit bitwise operators (&, |, ^, etc.).
- "camelcase": false, // Permit only camelcase for `var` and `object indexes`.
- "curly": false, // Require {} for every new block or scope.
- "devel": true, // Allow development statements e.g. `console.log();`.
- "esnext": true, // Allow ES.next specific features such as `const` and `let`.
- "eqeqeq": true, // Require triple equals i.e. `===`.
- "immed": true, // Require immediate invocations to be wrapped in parens e.g. `( function(){}() );`
- "indent": false, // Specify indentation spacing
- "latedef": true, // Prohibit variable use before definition.
- "node": true, // Enable globals available when code is running inside of the NodeJS runtime environment.
- "newcap": false, // Require capitalization of all constructor functions e.g. `new F()`.
- "noarg": true, // Prohibit use of `arguments.caller` and `arguments.callee`.
- "noempty": true, // Prohibit use of empty blocks.
- "quotmark": false, // Define quotes to string values.
- "regexp": true, // Prohibit `.` and `[^...]` in regular expressions.
- "strict": true, // Require `use strict` pragma in every file.
- "smarttabs": false, // Suppresses warnings about mixed tabs and spaces
- "trailing": true, // Prohibit trailing whitespaces.
- "undef": true, // Require all non-global variables be declared before they are used.
- "unused": true, // Warn unused variables.
- "globals": { // Globals variables.
- "angular": true
- },
- "predef": [ // Extra globals.
- "define",
- "require",
- "exports",
- "module",
- "spyOn",
- "describe",
- "xdescribe",
- "before",
- "beforeEach",
- "after",
- "afterEach",
- "jasmine",
- "it",
- "xit",
- "inject",
- "expect",
- "ngGridFlexibleHeightPlugin"
- ]
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/README.md
----------------------------------------------------------------------
diff --git a/dashboard/v2/README.md b/dashboard/v2/README.md
deleted file mode 100755
index 0957582..0000000
--- a/dashboard/v2/README.md
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-# Apache Atlas
-
-## Instructions
-
-### Prerequisite
-1. Nodejs (http://nodejs.org/download/)
-2. ```npm install -g grunt-cli```
-
-### Setup:
-
-```
-git clone $git-repo-url
-git checkout dal
-cd dashboard/v2
-npm install
-grunt server
-```
-Server will start at:
-<http://localhost:3010/>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/bower.json
----------------------------------------------------------------------
diff --git a/dashboard/v2/bower.json b/dashboard/v2/bower.json
deleted file mode 100755
index 2ffdc90..0000000
--- a/dashboard/v2/bower.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "atlas-metadata",
- "description": "Apache Atlas",
- "version": "1.0.0-SNAPSHOT",
- "devDependencies": {
- "angular": "~1.2.15",
- "angular-resource": "~1.2.15",
- "angular-cookies": "~1.2.15",
- "angular-route": "~1.2.15",
- "angular-sanitize": "~1.2.15",
- "bootstrap": "~3.1.1",
- "angular-bootstrap": "~0.12.0",
- "angular-ui-router": "~0.2.13",
- "d3": "~3.5.3",
- "d3-tip": "~0.6.6",
- "lodash": "~3.0.0",
- "angular-ui-utils": "~0.1.1",
- "font-awesome": "~4.2.0",
- "closure-compiler": "https://dl.google.com/closure-compiler/compiler-20140814.zip",
- "ng-closure-runner": "https://raw.github.com/angular/ng-closure-runner/v0.2.3/assets/ng-closure-runner.zip"
- },
- "resolutions": {
- "d3": "~3.5.3"
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/gruntfile.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/gruntfile.js b/dashboard/v2/gruntfile.js
deleted file mode 100755
index 3302913..0000000
--- a/dashboard/v2/gruntfile.js
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-var git = require('git-rev');
-
-module.exports = function(grunt) {
- var classPathSep = (process.platform === "win32") ? ';' : ':',
- gitHash = '',
- pkg = grunt.file.readJSON('package.json'),
- distPath = '../../webapp/target/dist';
-
- grunt.initConfig({
- watch: {
- options: {
- livereload: 35729
- },
- js: {
- files: ['public/**/*.js', '!public/lib/**', '!public/dist/**', '!public/js/app.min.js'],
- tasks: ['shell']
- },
- html: {
- files: ['public/**/*.html'],
- tasks: ['copy:dist']
- },
- css: {
- files: ['public/**/*.css'],
- tasks: ['copy:dist']
- },
- image: {
- files: ['public/**/*.{ico,gif,png}'],
- tasks: ['copy:dist']
- }
- },
- jshint: {
- all: {
- src: ['gruntfile.js', 'package.json', 'server.js', 'server/**/*.js', 'public/**/*.js', '!public/lib/**', '!public/dist/**', '!public/**/app.min.js'],
- options: {
- jshintrc: true
- }
- }
- },
- concurrent: {
- tasks: ['watch', 'proxitserver'],
- options: {
- logConcurrentOutput: true
- }
- },
- jsbeautifier: {
- 'default': {
- src: ['<%= jshint.all.src %>', 'bower.json'],
- options: {
- js: {
- preserveNewlines: true,
- maxPreserveNewlines: 2
- }
- }
- },
- 'build': {
- src: '<%= jsbeautifier.default.src %>',
- options: {
- mode: 'VERIFY_ONLY',
- js: '<%= jsbeautifier.default.options.js%>'
- }
- }
- },
- bower: {
- install: {
- options: {
- verbose: true,
- targetDir: '.bower-components'
- }
- }
- },
- dist: distPath + '/js/app.min.js',
- modules: grunt.file.expand(
- 'public/js/app.js',
- 'public/js/routes.js',
- 'public/modules/**/*Module.js',
- 'public/modules/**/*.js',
- 'public/js/init.js'
- ).join(' '),
- shell: {
- min: {
- command: 'java ' +
- '-cp ' + distPath + '/lib/closure-compiler/compiler.jar' + classPathSep +
- '' + distPath + '/lib/ng-closure-runner/ngcompiler.jar ' +
- 'org.angularjs.closurerunner.NgClosureRunner ' +
- '--compilation_level SIMPLE_OPTIMIZATIONS ' +
- //'--formatting PRETTY_PRINT ' +
- '--language_in ECMASCRIPT5_STRICT ' +
- '--angular_pass ' +
- '--manage_closure_dependencies ' +
- '--js <%= modules %> ' +
- '--js_output_file <%= dist %>'
- }
- },
- devUpdate: {
- main: {
- options: {
- updateType: 'force'
- }
- }
- },
- compress: {
- release: {
- options: {
- archive: function() {
- return [pkg.name, pkg.version, gitHash].join('_') + '.tgz';
- }
- },
- src: ['node_modules/**', 'package.json', 'server.js', 'server/**', 'public/**', '!public/js/**', '!public/modules/**/*.js']
- }
- },
- copy: {
- dist: {
- expand: true,
- cwd: 'public/',
- src: ['**', '!js/**/*.js', '!modules/**/*.js'],
- dest: distPath
- }
- },
- clean: {
- build :[distPath],
- options: {
- force: true
- }
- },
- proxit: {
- dev: {
- options: {
- 'port': 3010,
- 'verbose': true,
- 'hosts': [{
- 'hostnames': ['*'],
- 'routes': {
- '/': distPath,
- '/api': 'http://162.249.6.50:21000/api'
- }
- }]
- }
- }
- }
- });
-
- require('load-grunt-tasks')(grunt);
- grunt.registerTask('default', ['devUpdate', 'bower', 'jshint', 'jsbeautifier:default']);
-
- grunt.registerTask('server', ['jshint', 'clean', 'bower', 'copy:dist', 'minify', 'concurrent']);
- grunt.registerTask('build', ['copy:dist', 'minify']);
-
- grunt.registerTask('minify', 'Minify the all js', function() {
- var done = this.async();
- grunt.task.run(['shell:min']);
- done();
- });
- grunt.loadNpmTasks('proxit');
- grunt.registerTask('proxitserver', 'Proxit', function() {
- var done = this.async();
- grunt.task.run(['proxit:dev']);
- done();
- });
- grunt.registerTask('release', 'Create release package', function() {
- var done = this.async();
- git.short(function(str) {
- gitHash = str;
- grunt.task.run(['minify', 'compress:release']);
- done();
- });
- });
-};
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/package.json
----------------------------------------------------------------------
diff --git a/dashboard/v2/package.json b/dashboard/v2/package.json
deleted file mode 100755
index 3772654..0000000
--- a/dashboard/v2/package.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "name": "atlas-metadata",
- "description": "Apache Atlas",
- "version": "0.5.0-incubating",
- "private": true,
- "repository": {
- "type": "git",
- "url": "https://git-wip-us.apache.org/repos/asf/incubator-atlas.git"
- },
- "engines": {
- "node": "0.10.x",
- "npm": "1.3.x"
- },
- "keywords": [
- "Apache",
- "Atlas",
- "HortonWorks"
- ],
- "dependencies": {
- "body-parser": "^1.2.0",
- "bower": "~1.3.1",
- "compression": "^1.0.2",
- "consolidate": "~0.10.0",
- "cookie-parser": "^1.0.1",
- "cookies": "~0.4.0",
- "express": "~4.2.0",
- "express-load": "^1.1.14",
- "forever": "~0.11.1",
- "lodash": "~2.4.1",
- "method-override": "^1.0.0",
- "morgan": "^1.0.1",
- "path-extra": "~0.1.1",
- "proxit": "^0.6.0",
- "q": "~1.0.1",
- "rc": "~0.3.4",
- "serve-favicon": "^2.0.0",
- "static-favicon": "^2.0.0-alpha",
- "superagent": "^0.20.0",
- "swig": "~1.3.2",
- "view-helpers": "~0.1.4",
- "grunt-contrib-clean": "~0.6.0"
- },
- "devDependencies": {
- "git-rev": "^0.2.1",
- "grunt": "~0.4.2",
- "grunt-bower-task": "~0.4.0",
- "grunt-cli": "~0.1.11",
- "grunt-concurrent": "^1.0.0",
- "grunt-contrib-compress": "^0.13.0",
- "grunt-contrib-jshint": "^0.11.0",
- "grunt-contrib-watch": "^0.6.0",
- "grunt-dev-update": "^1.0.2",
- "grunt-jsbeautifier": "^0.2.6",
- "grunt-nodemon": "^0.4.0",
- "grunt-shell": "^1.1.1",
- "load-grunt-tasks": "^3.1.0",
- "grunt-nginx": "~0.2.2",
- "grunt-contrib-copy": "~0.8.0",
- "grunt-contrib-clean": "~0.6.0",
- "proxit": "~0.6.4"
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/css/common.css
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/css/common.css b/dashboard/v2/public/css/common.css
deleted file mode 100755
index c6af853..0000000
--- a/dashboard/v2/public/css/common.css
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-div.separator {
- position: relative;
- font-size: 18px;
- color: #aaa;
- margin-top: 10px;
- margin-bottom: 10px;
- padding-top: 10px;
- padding-bottom: 10px;
-}
-
-span.separator {
- display: block;
- position: absolute;
- left: 50%;
- top: -2px;
- margin-left: -25px;
- background-color: #fff;
- width: 50px;
- text-align: center;
-}
-
-hr.separator {
- background-color: #cdcdcd;
- height: 1px;
- margin-top: 0px !important;
- margin-bottom: 0px !important;
-}
-
-.pointer {
- cursor: pointer;
-}
-
-.form-control {
- border-color: #5cbb5a;
- border-width: 2px;
-}
-
-.small-txt {
- color: #999999;
- padding-left: 14px;
-}
-
-/* Header background */
-header.navbar-top {
- background-color: #fafafa;
- border-bottom: solid 4px #5cbb5a;
- margin-bottom: 0px;
-}
-
-header .container {
- padding: 12px;
-}
-
-/* Footer */
-footer.navbar-bottom {
- background-color: #fafafa;
- border-top: solid 4px #5cbb5a;
-}
-
-footer.navbar-bottom p {
- color: #333333;
- margin: 23px 10px 10px;
-}
-
-footer.navbar-bottom img {
- padding-left: 5px;
- margin-top: -21px;
-}
-
-.searchresults {
- border: 1px solid #ddd;
- padding: 10px;
-}
-
-.mt10px {
- margin-top: 10px;
-}
-
-.mt20px {
- margin-top: 20px;
-}
-
-.searchresults:first-child {
- border-top-right-radius: 4px;
- border-top-left-radius: 4px;
-}
-
-.searchresults:last-child {
- margin-bottom: 0;
- border-bottom-right-radius: 4px;
- border-bottom-left-radius: 4px;
-}
-.searchresults hr {
- margin: 0;
- border: 0;
-}
-.searchresults .well {
- background-color: #fff;
- border: 0;
- box-shadow: none;
- height: auto;
- min-height: 0;
- padding: 5px 5px 5px 0;
-}
-.search-spinner {
- text-align: center;
-}
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/css/d3tip.css
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/css/d3tip.css b/dashboard/v2/public/css/d3tip.css
deleted file mode 100755
index 11e12b2..0000000
--- a/dashboard/v2/public/css/d3tip.css
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-.d3-tip {
- line-height: 1;
- font-weight: bold;
- padding: 12px;
- background: rgba(0, 0, 0, 0.8);
- color: #fff;
- border-radius: 2px;
-}
-
-/* Creates a small triangle extender for the tooltip */
-.d3-tip:after {
- box-sizing: border-box;
- display: inline;
- font-size: 10px;
- width: 100%;
- line-height: 1;
- color: rgba(0, 0, 0, 0.8);
- content: "\25BC";
- position: absolute;
- text-align: center;
-}
-
-/* Style northward tooltips differently */
-.d3-tip.n:after {
- margin: -1px 0 0 0;
- top: 100%;
- left: 0;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/css/details.css
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/css/details.css b/dashboard/v2/public/css/details.css
deleted file mode 100644
index 156d5f6..0000000
--- a/dashboard/v2/public/css/details.css
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-.tab-content .table-bordered {
- border-top: none;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/css/lineage.css
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/css/lineage.css b/dashboard/v2/public/css/lineage.css
deleted file mode 100755
index fddc0b0..0000000
--- a/dashboard/v2/public/css/lineage.css
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*g circle {*/
- /*cursor: pointer;*/
- /*stroke: green;*/
- /*stroke-width: 2px;*/
- /*fill: url(#process-image);*/
-/*}*/
-
-/*g circle.empty {*/
- /*fill: #90ef96;*/
-/*}*/
-
-.link {
- fill: none;
- stroke: green;
- stroke-width: 2px;
-
-}
-
-g text {
- pointer-events: none;
- text-shadow: 0 1px 0 #fff, 1px 0 0 #fff, 0 -1px 0 #fff, -1px 0 0 #fff;
- text-align: center;
-}
-
-.d3-tip pre {
- max-width: 400px;
-}
-
-div.lineage {
- border-bottom: 2px solid #006600;
-
-}
-
-/*.node rect {*/
- /*stroke: #333;*/
- /*fill: #fff;*/
-/*}*/
-
-.edgePath path {
- stroke: #333;
- fill: #333;
- stroke-width: 1.5px;
-}
-
-/*.node rect,*/
-/*.node circle {*/
- /*stroke: #333;*/
- /*fill: #fff;*/
- /*stroke-width: 1.5px;*/
-/*}*/
-
-.lineage-viz {
- margin: 0 auto;
- overflow: auto;
- /*border: 1px solid #ddd;
- border-top: none;*/
-
-}
-/*.images {*/
- /*background-image: url("../img/process.png");*/
-/*}*/
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/css/sticky-footer-navbar.css
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/css/sticky-footer-navbar.css b/dashboard/v2/public/css/sticky-footer-navbar.css
deleted file mode 100755
index 3a2444b..0000000
--- a/dashboard/v2/public/css/sticky-footer-navbar.css
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* Sticky footer styles
--------------------------------------------------- */
-html {
- position: relative;
- min-height: 100%;
-}
-body {
- /* Margin bottom by footer height */
- margin-bottom: 60px;
-}
-
-.content {
- padding-bottom: 90px;
-}
-
-.footer {
- position: absolute;
- bottom: 0;
- width: 100%;
- /* Set the fixed height of the footer here */
- height: 60px;
- background-color: #f5f5f5;
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/index.html
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/index.html b/dashboard/v2/public/index.html
deleted file mode 100644
index 5ce839d..0000000
--- a/dashboard/v2/public/index.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!doctype html>
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<html lang="en" xmlns="http://www.w3.org/1999/xhtml" itemscope="itemscope" itemtype="http://schema.org/Product">
-<head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- <meta name="viewport" content="width=device-width,initial-scale=1">
-
- <title>Apache Atlas</title>
- <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
-
-
- <link href="img/favicon.ico" rel="shortcut icon" type="image/x-icon">
-
- <link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css">
- <link rel="stylesheet" href="/css/sticky-footer-navbar.css">
- <link rel="stylesheet" href="/css/common.css">
- <link rel="stylesheet" href="/css/details.css">
- <link rel="stylesheet" href="/css/lineage.css">
- <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
- </head>
-
-
-<link href="img/favicon.ico" rel="shortcut icon" type="image/x-icon">
-<body>
-<header class="navbar navbar-static-top navbar-top" data-role="navigation">
- <div class="container" data-ng-include="'/modules/home/views/header.html'"></div>
-</header>
-<div class="content">
- <div data-ng-include="'/modules/notification/views/notifications.html'"></div>
- <div data-ui-view class="container"></div>
-</div>
-<footer class="footer navbar-bottom">
- <div class="container">
- <!--<p align="right">Powered by<img src="modules/home/img/logo-green.png"></p>-->
- </div>
-</footer>
-
-<script src="lib/jquery/dist/jquery.js"></script>
-<script src="lib/angular/angular.js"></script>
-<script src="lib/bootstrap/dist/js/bootstrap.js"></script>
-<script src="lib/angular-bootstrap/ui-bootstrap-tpls.js"></script>
-<script src="lib/angular-cookies/angular-cookies.js"></script>
-<script src="lib/angular-resource/angular-resource.js"></script>
-<script src="lib/angular-route/angular-route.js"></script>
-<script src="lib/angular-sanitize/angular-sanitize.js"></script>
-<script src="lib/angular-ui-router/release/angular-ui-router.js"></script>
-<script src="lib/angular-ui-utils/ui-utils.js"></script>
-<script src="lib/lodash/lodash.js"></script>
-<script src="/lib/d3/d3.js"></script>
-<script src="/lib/d3-tip/index.js"></script>
-
-<script src="js/app.min.js"></script>
-</body>
-</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/js/app.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/js/app.js b/dashboard/v2/public/js/app.js
deleted file mode 100755
index 1bdb316..0000000
--- a/dashboard/v2/public/js/app.js
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('dgc', ['ngCookies',
- 'ngResource',
- 'ui.bootstrap',
- 'ui.router',
- 'dgc.system',
- 'dgc.home',
- 'dgc.search',
- 'dgc.navigation'
-]);
-
-angular.module('dgc.system', ['dgc.system.notification']);
-
-angular.module('dgc').factory('lodash', ['$window',
- function($window) {
- return $window._;
- }
-]).factory('d3', ['$window',
- function($window) {
- return $window.d3;
- }
-]).factory('Global', ['$window', '$location',
- function($window, $location) {
- return {
- user: $location.search()['user.name'],
- authenticated: !!$window.user,
- renderErrors: $window.renderErrors
- };
- }
-]).factory('HttpInterceptor', ['Global', function(Global) {
- return {
- 'request': function(config) {
- if (config.url && (config.url.indexOf('api/atlas/') === 0 || config.url.indexOf('/api/atlas/') === 0)) {
- config.params = config.params || {};
- config.params['user.name'] = Global.user;
- }
- return config;
- }
- };
-}]).config(['$httpProvider', function($httpProvider) {
- $httpProvider.interceptors.push('HttpInterceptor');
-}]).run(['$rootScope', 'Global', 'NotificationService', 'lodash', 'd3', function($rootScope, Global, NotificationService, lodash, d3) {
- var errors = Global.renderErrors;
- if (angular.isArray(errors) || angular.isObject(errors)) {
- lodash.forEach(errors, function(err) {
- err = angular.isObject(err) ? err : {
- message: err
- };
- err.timeout = false;
- NotificationService.error(err);
- });
- } else {
- if (errors) {
- errors.timeout = false;
- NotificationService.error(errors);
- }
- }
- $rootScope.$on('$stateChangeStart', function() {
- d3.selectAll('.d3-tip').remove();
- });
-}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/js/init.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/js/init.js b/dashboard/v2/public/js/init.js
deleted file mode 100755
index aa99935..0000000
--- a/dashboard/v2/public/js/init.js
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.element(document).ready(function() {
- /* Fixing facebook bug with redirect */
- if (window.location.hash === '#_=_') window.location.hash = '#!';
-
- //Then init the app
- angular.bootstrap(document, ['dgc'], {
- strictDi: true
- });
-});
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/js/routes.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/js/routes.js b/dashboard/v2/public/js/routes.js
deleted file mode 100755
index 8d0a3ac..0000000
--- a/dashboard/v2/public/js/routes.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-//Setting up route
-angular.module('dgc').config(['$locationProvider', '$urlRouterProvider',
- function($locationProvider, $urlRouterProvider) {
- $locationProvider.hashPrefix('!');
- // For unmatched routes:
- $urlRouterProvider.otherwise('/search');
- }
-]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/details/detailsController.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/details/detailsController.js b/dashboard/v2/public/modules/details/detailsController.js
deleted file mode 100644
index 0e96d42..0000000
--- a/dashboard/v2/public/modules/details/detailsController.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('dgc.details').controller('DetailsController', ['$window', '$scope', '$stateParams', 'DetailsResource',
- function($window, $scope, $stateParams, DetailsResource) {
-
- $scope.tableName = false;
- $scope.isTable = false;
-
- DetailsResource.get({
- id: $stateParams.id
- }, function(data) {
- $scope.details = data;
- $scope.schemas = data;
- $scope.tableName = data.values.name;
- $scope.isTable = data.typeName === 'Table';
- });
-
- $scope.isString = angular.isString;
-
- $scope.onActivate = function tabActivate(tabname) {
- $scope.$broadcast('render-lineage', {
- type: tabname,
- tableName: $scope.tableName
- });
- };
-
- $scope.goBack = function() {
- $window.history.back();
- };
-
- }
-]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/details/detailsModule.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/details/detailsModule.js b/dashboard/v2/public/modules/details/detailsModule.js
deleted file mode 100644
index 987750a..0000000
--- a/dashboard/v2/public/modules/details/detailsModule.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('dgc.details', ['dgc.lineage']);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/details/detailsResource.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/details/detailsResource.js b/dashboard/v2/public/modules/details/detailsResource.js
deleted file mode 100644
index af2f249..0000000
--- a/dashboard/v2/public/modules/details/detailsResource.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('dgc.details').factory('DetailsResource', ['$resource', function($resource) {
- return $resource('/api/atlas/entities/:id', {}, {
- get: {
- method: 'GET',
- transformResponse: function(data) {
- if (data) {
- return angular.fromJson(data.definition);
- }
- },
- responseType: 'json'
- }
- });
-
-}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/details/detailsRoutes.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/details/detailsRoutes.js b/dashboard/v2/public/modules/details/detailsRoutes.js
deleted file mode 100644
index 17e32fa..0000000
--- a/dashboard/v2/public/modules/details/detailsRoutes.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-angular.module('dgc.details').config(['$stateProvider',
- function($stateProvider) {
-
- // states for my app
- $stateProvider.state('details', {
- url: '/details/:id',
- templateUrl: '/modules/details/views/details.html'
- });
- }
-]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/details/views/attribute.html
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/details/views/attribute.html b/dashboard/v2/public/modules/details/views/attribute.html
deleted file mode 100644
index 89fa067..0000000
--- a/dashboard/v2/public/modules/details/views/attribute.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<!--<div>-->
-<!--{{key}}:-->
-
-<!--{{value}}-->
-<!--</div>-->
-
-<div class="row" data-ng-repeat="(key1, value1) in value" ng-if="value1">
- <div class="col-md-6" data-ng-if="!isString(value1)" data-ng-repeat="(key2, value2) in value1 track by $index"></div>
- <div data-ng-if="isString(value2)" data-ng-repeat="(key3, value3) in value2"> {{key3}}: {{value3}}</div>
- <div class="col-md-6" data-ng-if="isString(value1)"> {{key1}} : {{value1 | date:'medium'}}</div>
-</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/details/views/details.html
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/details/views/details.html b/dashboard/v2/public/modules/details/views/details.html
deleted file mode 100644
index 19f0ce0..0000000
--- a/dashboard/v2/public/modules/details/views/details.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<div class="row" data-ng-controller="DetailsController">
- <ul class="breadcrumb">
- <li><button class="btn btn-link" data-ng-click="goBack()">Back To Result</button> </li>
- </ul>
- <div role="tabpanel" class="col-lg-12">
- <h2>Name: {{details.values.name}}</h2>
- <h4>Description: {{details.values.description}}</h4>
- <tabset>
- <tab heading="Details">
- <table class="table table-bordered">
- <thead>
- <tr>
- <th>Key</th>
- <th>Value</th>
- </tr>
- </thead>
- <tbody>
- <tr data-ng-repeat="(key,value) in details.values" ng-if="value && !(key==='columns') && !(key==='name') && !(key==='description')">
- <td>{{key}}</td>
- <td data-ng-if="!isString(value)" data-ng-include="'/modules/details/views/attribute.html'"></td>
- <td data-ng-if="isString(value)">{{value | date:'medium'}}</td>
- </tr>
- </tbody>
- </table>
- </tab>
- <tab data-heading="Schema" data-ng-if="isTable"><ng-include src="'/modules/details/views/schema.html'"/></tab>
- <tab data-heading="Output" data-ng-if="isTable" data-disable="!tableName" data-select="onActivate('outputs')"><ng-include data-table-type="outputs" src="'/modules/lineage/views/lineage.html'"/></tab>
- <tab data-heading="Input" data-ng-if="isTable" data-disable="!tableName" data-select="onActivate('inputs')"><ng-include data-table-type="inputs" src="'/modules/lineage/views/lineage.html'"/></tab>
- </tabset>
- </div>
-</div>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/37db9955/dashboard/v2/public/modules/details/views/schema.html
----------------------------------------------------------------------
diff --git a/dashboard/v2/public/modules/details/views/schema.html b/dashboard/v2/public/modules/details/views/schema.html
deleted file mode 100644
index 1aaf96d..0000000
--- a/dashboard/v2/public/modules/details/views/schema.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-<table class="table table-bordered">
- <thead>
- <tr>
- <th>Name</th>
- <th>Comment</th>
- <th>DataType</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td> {{details.values.columns[0].values.name}}</td>
- <td>{{details.values.columns[0].values.comment}}</td>
- <td> {{details.values.columns[0].values.dataType}}</td>
-
- </tr>
- <tr>
-
- <td> {{details.values.columns[1].values.name}}</td>
- <td>{{details.values.columns[1].values.comment}}</td>
- <td> {{details.values.columns[1].values.dataType}}</td>
- </tr>
- <tr>
-
- <td> {{details.values.columns[2].values.name}}</td>
- <td>{{details.values.columns[2].values.comment}}</td>
- <td> {{details.values.columns[2].values.dataType}}</td>
- </tr>
- <tr>
-
- <td> {{details.values.columns[3].values.name}}</td>
- <td>{{details.values.columns[3].values.comment}}</td>
- <td> {{details.values.columns[3].values.dataType}}</td>
- </tr>
- </tbody>
-</table>
\ No newline at end of file
[02/11] incubator-atlas git commit: ATLAS-90 Support offline builds.
Contributed by Vishal Kadam
Posted by ve...@apache.org.
ATLAS-90 Support offline builds. Contributed by Vishal Kadam
Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/fd4ff8ec
Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/fd4ff8ec
Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/fd4ff8ec
Branch: refs/heads/master
Commit: fd4ff8eca8e37a5d19fbf67ccb2f71ce5339b6f6
Parents: e4c5648
Author: Venkatesh Seetharam <ve...@apache.org>
Authored: Fri Sep 11 14:51:57 2015 -0700
Committer: Venkatesh Seetharam <ve...@apache.org>
Committed: Fri Sep 11 14:51:57 2015 -0700
----------------------------------------------------------------------
dashboard/v2/.bowerrc | 2 +-
dashboard/v2/gruntfile.js | 27 ++++---
dashboard/v2/package.json | 3 -
pom.xml | 37 +++++++---
release-log.txt | 1 +
webapp/pom.xml | 162 ++++++++++++++++++++++++++++++-----------
6 files changed, 165 insertions(+), 67 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/fd4ff8ec/dashboard/v2/.bowerrc
----------------------------------------------------------------------
diff --git a/dashboard/v2/.bowerrc b/dashboard/v2/.bowerrc
index b5ca2b8..b4d0ffc 100755
--- a/dashboard/v2/.bowerrc
+++ b/dashboard/v2/.bowerrc
@@ -1,5 +1,5 @@
{
- "directory": "dist/lib",
+ "directory": "../../webapp/target/dist/lib/",
"storage": {
"packages": ".bower-cache",
"registry": ".bower-registry"
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/fd4ff8ec/dashboard/v2/gruntfile.js
----------------------------------------------------------------------
diff --git a/dashboard/v2/gruntfile.js b/dashboard/v2/gruntfile.js
index 9535c7a..3302913 100755
--- a/dashboard/v2/gruntfile.js
+++ b/dashboard/v2/gruntfile.js
@@ -23,7 +23,8 @@ var git = require('git-rev');
module.exports = function(grunt) {
var classPathSep = (process.platform === "win32") ? ';' : ':',
gitHash = '',
- pkg = grunt.file.readJSON('package.json');
+ pkg = grunt.file.readJSON('package.json'),
+ distPath = '../../webapp/target/dist';
grunt.initConfig({
watch: {
@@ -82,11 +83,12 @@ module.exports = function(grunt) {
bower: {
install: {
options: {
- verbose: true
+ verbose: true,
+ targetDir: '.bower-components'
}
}
},
- dist: 'dist/js/app.min.js',
+ dist: distPath + '/js/app.min.js',
modules: grunt.file.expand(
'public/js/app.js',
'public/js/routes.js',
@@ -97,8 +99,8 @@ module.exports = function(grunt) {
shell: {
min: {
command: 'java ' +
- '-cp dist/lib/closure-compiler/compiler.jar' + classPathSep +
- 'dist/lib/ng-closure-runner/ngcompiler.jar ' +
+ '-cp ' + distPath + '/lib/closure-compiler/compiler.jar' + classPathSep +
+ '' + distPath + '/lib/ng-closure-runner/ngcompiler.jar ' +
'org.angularjs.closurerunner.NgClosureRunner ' +
'--compilation_level SIMPLE_OPTIMIZATIONS ' +
//'--formatting PRETTY_PRINT ' +
@@ -131,10 +133,15 @@ module.exports = function(grunt) {
expand: true,
cwd: 'public/',
src: ['**', '!js/**/*.js', '!modules/**/*.js'],
- dest: 'dist'
+ dest: distPath
+ }
+ },
+ clean: {
+ build :[distPath],
+ options: {
+ force: true
}
},
- clean: ['public/lib', 'dist'],
proxit: {
dev: {
options: {
@@ -143,7 +150,7 @@ module.exports = function(grunt) {
'hosts': [{
'hostnames': ['*'],
'routes': {
- '/': 'dist',
+ '/': distPath,
'/api': 'http://162.249.6.50:21000/api'
}
}]
@@ -155,8 +162,8 @@ module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
grunt.registerTask('default', ['devUpdate', 'bower', 'jshint', 'jsbeautifier:default']);
- grunt.registerTask('server', ['jshint', 'build', 'concurrent']);
- grunt.registerTask('build', ['clean', 'bower', 'copy:dist', 'minify']);
+ grunt.registerTask('server', ['jshint', 'clean', 'bower', 'copy:dist', 'minify', 'concurrent']);
+ grunt.registerTask('build', ['copy:dist', 'minify']);
grunt.registerTask('minify', 'Minify the all js', function() {
var done = this.async();
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/fd4ff8ec/dashboard/v2/package.json
----------------------------------------------------------------------
diff --git a/dashboard/v2/package.json b/dashboard/v2/package.json
index a81ce2c..3772654 100755
--- a/dashboard/v2/package.json
+++ b/dashboard/v2/package.json
@@ -16,9 +16,6 @@
"Atlas",
"HortonWorks"
],
- "scripts": {
- "postinstall": "node node_modules/bower/bin/bower install"
- },
"dependencies": {
"body-parser": "^1.2.0",
"bower": "~1.3.1",
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/fd4ff8ec/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 7e3df4d..a18e968 100755
--- a/pom.xml
+++ b/pom.xml
@@ -295,7 +295,7 @@
<developer>
<id>ssuresh</id>
<name>Suresh Srinivas</name>
- <email> ssuresh@apache.org</email>
+ <email>ssuresh@apache.org</email>
<timezone>-8</timezone>
<roles>
<role>committer</role>
@@ -306,7 +306,7 @@
<developer>
<id>vranganathan</id>
<name>Venkat Ranganathan</name>
- <email> vranganathan@apache.org</email>
+ <email>vranganathan@apache.org</email>
<timezone>-8</timezone>
<roles>
<role>committer</role>
@@ -320,7 +320,7 @@
<!-- platform encoding override -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-
+ <node.version>v0.10.30</node.version>
<slf4j.version>1.7.7</slf4j.version>
<jetty.version>9.2.12.v20150709</jetty.version>
<jersey.version>1.10</jersey.version>
@@ -1251,6 +1251,15 @@
</plugin>
<plugin>
+ <groupId>com.github.eirslett</groupId>
+ <artifactId>frontend-maven-plugin</artifactId>
+ <version>0.0.23</version>
+ <configuration>
+ <workingDirectory>../dashboard/v2/</workingDirectory>
+ </configuration>
+ </plugin>
+
+ <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
@@ -1297,7 +1306,7 @@
<artifactId>findbugs-maven-plugin</artifactId>
<version>3.0.1</version>
</plugin>
-
+
<!-- Source code metrics: mvn javancss:report or mvn site -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
@@ -1542,12 +1551,20 @@
<exclude>**/maven-eclipse.xml</exclude>
<exclude>**/.externalToolBuilders/**</exclude>
<exclude>**/build.log</exclude>
- <exclude>dashboard/**/.bower-*/**</exclude> <!-- temp libs -->
- <exclude>dashboard/v2/.bowerrc</exclude> <!-- json file -->
- <exclude>dashboard/v2/lib/**</exclude> <!-- temp libs -->
- <exclude>dashboard/v2/node*/**</exclude> <!-- temp libs -->
- <exclude>dashboard/v2/dist/**</exclude> <!-- package -->
- <exclude>dashboard/v2/**/*.min.js*</exclude> <!-- minified JS -->
+ <!-- temp libs -->
+ <exclude>dashboard/**/.bower-*/**</exclude>
+ <!-- json file -->
+ <exclude>dashboard/v2/.bowerrc</exclude>
+ <!-- temp libs -->
+ <exclude>dashboard/v2/lib/**</exclude>
+ <!-- temp libs -->
+ <exclude>dashboard/v2/node*/**</exclude>
+ <!-- package -->
+ <exclude>dashboard/v2/dist/**</exclude>
+ <!-- lib files -->
+ <exclude>dashboard/v2/public/lib/**</exclude>
+ <!-- minified JS -->
+ <exclude>dashboard/v2/**/*.min.js*</exclude>
</excludes>
</configuration>
<executions>
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/fd4ff8ec/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index 0711f7c..851cbdc 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -8,6 +8,7 @@ ATLAS-54 Rename configs in hive hook (shwethags)
ATLAS-3 Mixed Index creation fails with Date types (suma.shivaprasad via shwethags)
ALL CHANGES:
+ATLAS-90 Support offline builds (Vishal Kadam via Venkatesh Seetharam)
ATLAS-154 Update website for 0.5-incubating release (Venkatesh Seetharam)
ATLAS-153 Build failure - org.glassfish:javax.el (shwethags)
ATLAS-117 Build fails on the latest commit (dossett@gmail.com via shwethags)
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/fd4ff8ec/webapp/pom.xml
----------------------------------------------------------------------
diff --git a/webapp/pom.xml b/webapp/pom.xml
index e4f355e..6085d68 100755
--- a/webapp/pom.xml
+++ b/webapp/pom.xml
@@ -65,6 +65,124 @@
</plugins>
</build>
</profile>
+ <profile>
+ <id>install-node</id>
+ <activation>
+ <file>
+ <missing>../dashboard/v2/node</missing>
+ </file>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>com.github.eirslett</groupId>
+ <artifactId>frontend-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>install node and npm</id>
+ <goals>
+ <goal>install-node-and-npm</goal>
+ </goals>
+ <configuration>
+ <nodeVersion>${node.version}</nodeVersion>
+ <npmVersion>1.4.3</npmVersion>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>install-node_modules</id>
+ <activation>
+ <file>
+ <missing>../dashboard/v2/node_modules</missing>
+ </file>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>com.github.eirslett</groupId>
+ <artifactId>frontend-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>npm install</id>
+ <goals>
+ <goal>npm</goal>
+ </goals>
+ <configuration>
+ <arguments>install</arguments>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>bower-install</id>
+ <activation>
+ <file>
+ <missing>target/dist/lib</missing>
+ </file>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>com.github.eirslett</groupId>
+ <artifactId>frontend-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>install bower</id>
+ <goals>
+ <goal>grunt</goal>
+ </goals>
+ <configuration>
+ <arguments>bower</arguments>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>grunt-task</id>
+ <activation>
+ <property>
+ <name>!disableGrunt</name>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>com.github.eirslett</groupId>
+ <artifactId>frontend-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>npm remaining</id>
+ <goals>
+ <goal>npm</goal>
+ </goals>
+ <configuration>
+ <arguments>install --ignore-scripts</arguments>
+ </configuration>
+ </execution>
+ <execution>
+ <id>grunt dist</id>
+ <goals>
+ <goal>grunt</goal>
+ </goals>
+ <configuration>
+ <arguments>build</arguments>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
</profiles>
<dependencies>
@@ -219,51 +337,9 @@
<artifactId>commons-io</artifactId>
</dependency>
</dependencies>
-
<build>
<plugins>
<plugin>
- <groupId>com.github.eirslett</groupId>
- <artifactId>frontend-maven-plugin</artifactId>
- <version>0.0.23</version>
- <!-- optional -->
- <configuration>
- <workingDirectory>../dashboard/v2/</workingDirectory>
- </configuration>
- <executions>
- <execution>
- <id>install node and npm</id>
- <goals>
- <goal>install-node-and-npm</goal>
- </goals>
- <configuration>
- <nodeVersion>v0.10.30</nodeVersion>
- <npmVersion>1.4.3</npmVersion>
- </configuration>
- </execution>
-
- <execution>
- <id>npm install</id>
- <goals>
- <goal>npm</goal>
- </goals>
- <configuration>
- <arguments>install</arguments>
- </configuration>
- </execution>
-
- <execution>
- <id>grunt dist</id>
- <goals>
- <goal>grunt</goal>
- </goals>
- <configuration>
- <arguments>build</arguments>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
@@ -291,7 +367,7 @@
<attachClasses>true</attachClasses>
<webResources>
<resource>
- <directory>../dashboard/v2/dist</directory>
+ <directory>target/dist</directory>
<targetPath>/</targetPath>
</resource>
<resource>
[06/11] incubator-atlas git commit: ATLAS-113 Add an About Dialog to
Apache Atlas UI with version number. Contributed by Vishal Kadam
Posted by ve...@apache.org.
ATLAS-113 Add an About Dialog to Apache Atlas UI with version number. Contributed by Vishal Kadam
Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/15ba43c6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/15ba43c6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/15ba43c6
Branch: refs/heads/master
Commit: 15ba43c661029534048d47b8e8a0da7250668a17
Parents: 37db995
Author: Venkatesh Seetharam <ve...@apache.org>
Authored: Fri Sep 11 15:11:19 2015 -0700
Committer: Venkatesh Seetharam <ve...@apache.org>
Committed: Fri Sep 11 15:11:19 2015 -0700
----------------------------------------------------------------------
dashboard/public/js/app.js | 1 +
.../public/modules/about/aboutController.js | 27 ++++++++++++++
dashboard/public/modules/about/aboutModule.js | 21 +++++++++++
dashboard/public/modules/about/aboutResource.js | 23 ++++++++++++
dashboard/public/modules/about/views/about.html | 39 ++++++++++++++++++++
.../public/modules/home/headerController.js | 11 +++++-
dashboard/public/modules/home/views/header.html | 1 +
release-log.txt | 2 +
8 files changed, 124 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/15ba43c6/dashboard/public/js/app.js
----------------------------------------------------------------------
diff --git a/dashboard/public/js/app.js b/dashboard/public/js/app.js
index 1bdb316..9f3bc39 100644
--- a/dashboard/public/js/app.js
+++ b/dashboard/public/js/app.js
@@ -24,6 +24,7 @@ angular.module('dgc', ['ngCookies',
'ui.router',
'dgc.system',
'dgc.home',
+ 'dgc.about',
'dgc.search',
'dgc.navigation'
]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/15ba43c6/dashboard/public/modules/about/aboutController.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/about/aboutController.js b/dashboard/public/modules/about/aboutController.js
new file mode 100644
index 0000000..238b8a7
--- /dev/null
+++ b/dashboard/public/modules/about/aboutController.js
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.about').controller('AboutController', ['$scope', 'AboutResource', function($scope, AboutResource) {
+
+ AboutResource.get(function(data) {
+ $scope.versionInfo = data;
+ });
+
+}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/15ba43c6/dashboard/public/modules/about/aboutModule.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/about/aboutModule.js b/dashboard/public/modules/about/aboutModule.js
new file mode 100644
index 0000000..690994b
--- /dev/null
+++ b/dashboard/public/modules/about/aboutModule.js
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.about', []);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/15ba43c6/dashboard/public/modules/about/aboutResource.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/about/aboutResource.js b/dashboard/public/modules/about/aboutResource.js
new file mode 100644
index 0000000..44d97fa
--- /dev/null
+++ b/dashboard/public/modules/about/aboutResource.js
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+'use strict';
+
+angular.module('dgc.about').factory('AboutResource', ['$resource', function($resource) {
+ return $resource('/api/atlas/admin/version', {});
+}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/15ba43c6/dashboard/public/modules/about/views/about.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/about/views/about.html b/dashboard/public/modules/about/views/about.html
new file mode 100644
index 0000000..2915b35
--- /dev/null
+++ b/dashboard/public/modules/about/views/about.html
@@ -0,0 +1,39 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+
+<div class="modal-header">
+ <h3 class="modal-title title-bold">About</h3>
+</div>
+<div class="modal-body">
+ <div class="row">
+ <div class="col-md-4">
+ <img src="../img/ApacheAtlasLogo.png" class="img-responsive">
+ </div>
+ <div class="col-md-8">
+ <h2 class="title-bold">Apache Atlas</h2>
+ <p><b>Version : </b> {{versionInfo.Version}}</p>
+ </br>
+ <p class="text-info">Get involved!</p>
+ <p class="text-info"><a href="http://apache.org/licenses/LICENSE-2.0" target="_blank">Licensed under the Apache License Version 2.0</a></p>
+ </div>
+ </div>
+</div>
+<div class="modal-footer">
+ <button class="btn btn-success" ng-click="$dismiss()">OK</button>
+</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/15ba43c6/dashboard/public/modules/home/headerController.js
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/home/headerController.js b/dashboard/public/modules/home/headerController.js
index a8d1411..43bedb8 100644
--- a/dashboard/public/modules/home/headerController.js
+++ b/dashboard/public/modules/home/headerController.js
@@ -18,7 +18,7 @@
'use strict';
-angular.module('dgc.home').controller('HeaderController', ['$scope', function($scope) {
+angular.module('dgc.home').controller('HeaderController', ['$scope', '$modal', function($scope, $modal) {
$scope.menu = [];
@@ -26,4 +26,13 @@ angular.module('dgc.home').controller('HeaderController', ['$scope', function($s
$scope.isLoggedIn = function() {
return true;
};
+
+ $scope.ShowAbout = function() {
+ $modal.open({
+ animation: true,
+ templateUrl: '/modules/about/views/about.html',
+ controller: 'AboutController',
+ size: 'lg'
+ });
+ };
}]);
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/15ba43c6/dashboard/public/modules/home/views/header.html
----------------------------------------------------------------------
diff --git a/dashboard/public/modules/home/views/header.html b/dashboard/public/modules/home/views/header.html
index 85c5f4d..8d3ad18 100644
--- a/dashboard/public/modules/home/views/header.html
+++ b/dashboard/public/modules/home/views/header.html
@@ -32,5 +32,6 @@
<a data-ui-sref="{{item.state}}">{{item.title}}</a>
</li>
</ul>
+ <a ng-if="!username" class="pull-right" href="javascript:void(0)" ng-click="ShowAbout()">About</a>
</nav>
</div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/15ba43c6/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index 26512ac..47a19da 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -8,6 +8,8 @@ ATLAS-54 Rename configs in hive hook (shwethags)
ATLAS-3 Mixed Index creation fails with Date types (suma.shivaprasad via shwethags)
ALL CHANGES:
+ATLAS-113 Add an About Dialog to Apache Atlas UI with version number (Vishal Kadam
+via Venkatesh Seetharam)
ATLAS-109 Remove v2 Folder (Vishal Kadam via Venkatesh Seetharam)
ATLAS-90 Support offline builds (Vishal Kadam via Venkatesh Seetharam)
ATLAS-154 Update website for 0.5-incubating release (Venkatesh Seetharam)