Repository: incubator-atlas
Updated Branches:
  refs/heads/master b28ab21ee -> e895819fe


ATLAS-971 UI not displaying results for this query - Eg: "hive_table as t where 
qualifiedName = 'default.input@cl1' select t" (kevalbhatt18 via shwethags)


Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/1b1f9d2a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/1b1f9d2a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/1b1f9d2a

Branch: refs/heads/master
Commit: 1b1f9d2aa945cdbc3a58da67090a67add1d2dae4
Parents: b28ab21
Author: Shwetha GS <[email protected]>
Authored: Fri Jul 15 19:44:39 2016 +0530
Committer: Shwetha GS <[email protected]>
Committed: Fri Jul 15 19:44:39 2016 +0530

----------------------------------------------------------------------
 dashboardv2/public/css/scss/main.scss           |  10 +-
 dashboardv2/public/css/scss/tag.scss            |   6 +
 .../public/js/utils/CommonViewFunction.js       | 137 +++++++--
 dashboardv2/public/js/utils/Utils.js            |  26 +-
 .../views/entity/EntityDetailTableLayoutView.js |   2 +-
 .../js/views/search/SearchResultLayoutView.js   | 303 ++++++++++---------
 release-log.txt                                 |   1 +
 7 files changed, 300 insertions(+), 185 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/1b1f9d2a/dashboardv2/public/css/scss/main.scss
----------------------------------------------------------------------
diff --git a/dashboardv2/public/css/scss/main.scss 
b/dashboardv2/public/css/scss/main.scss
index 1b566d4..82dbfc2 100644
--- a/dashboardv2/public/css/scss/main.scss
+++ b/dashboardv2/public/css/scss/main.scss
@@ -276,16 +276,24 @@ ul {
     }
     span {
         &.inputTag[data-id="tagClick"] {
+            span {
+                display: block;
+                padding: 3px 5px 3px 5px;
+            }
             i.fa-close[data-id="deleteTag"] {
                 display: none;
             }
         }
     }
     a {
-        &.inputTag[data-id="addTag"] {
+        &.inputTagAdd[data-id="addTag"] {
             display: none;
         }
         &.inputTag[data-id="tagClick"] {
+            span {
+                display: block;
+                padding: 3px 5px 3px 5px;
+            }
             i.fa-times[data-id="delete"] {
                 display: none;
             }

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/1b1f9d2a/dashboardv2/public/css/scss/tag.scss
----------------------------------------------------------------------
diff --git a/dashboardv2/public/css/scss/tag.scss 
b/dashboardv2/public/css/scss/tag.scss
index 0271daa..d291cd3 100644
--- a/dashboardv2/public/css/scss/tag.scss
+++ b/dashboardv2/public/css/scss/tag.scss
@@ -173,10 +173,16 @@
     border: 1px $color_jungle_green_approx solid;
     background-color: $white;
     color: $color_jungle_green_approx;
+    padding-left: 5px;
     &:hover {
         color: $white;
         background-color: $color_jungle_green_approx;
     }
+    i.fa {
+        &:hover {
+            background-color: $color_jungle_green_approx;
+        }
+    }
 }
 
 .addTagBase {

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/1b1f9d2a/dashboardv2/public/js/utils/CommonViewFunction.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/utils/CommonViewFunction.js 
b/dashboardv2/public/js/utils/CommonViewFunction.js
index 495d6b8..997060f 100644
--- a/dashboardv2/public/js/utils/CommonViewFunction.js
+++ b/dashboardv2/public/js/utils/CommonViewFunction.js
@@ -79,11 +79,14 @@ define(['require', 'utils/Utils', 'modules/Modal', 
'utils/Messages', 'utils/Glob
             }
         });
     };
-    CommonViewFunction.propertyTable = function(valueObject, scope) {
+    CommonViewFunction.propertyTable = function(valueObject, scope, 
searchTable) {
         var table = "",
             fetchInputOutputValue = function(id) {
                 var that = this;
-                scope.model.getEntity(id, {
+                if (searchTable) {
+                    ++scope.fetchList
+                }
+                scope.entityModel.getEntity(id, {
                     success: function(data) {
                         var value = "",
                             deleteButton = "";
@@ -116,7 +119,12 @@ define(['require', 'utils/Utils', 'modules/Modal', 
'utils/Messages', 'utils/Glob
                         }
                     },
                     error: function(error, data, status) {},
-                    complete: function() {}
+                    complete: function() {
+                        if (searchTable) {
+                            --scope.fetchList;
+                            scope.checkTableFetch();
+                        }
+                    }
                 });
             }
         _.keys(valueObject).map(function(key) {
@@ -129,6 +137,9 @@ define(['require', 'utils/Utils', 'modules/Modal', 
'utils/Messages', 'utils/Glob
                         id = undefined,
                         tempLink = "",
                         readOnly = false;
+                    if (inputOutputField['$id$']) {
+                        inputOutputField.id = inputOutputField['$id$'];
+                    }
                     if (inputOutputField) {
                         if (_.isObject(inputOutputField.id)) {
                             id = inputOutputField.id.id;
@@ -138,14 +149,18 @@ define(['require', 'utils/Utils', 'modules/Modal', 
'utils/Messages', 'utils/Glob
                         } else if (inputOutputField.id) {
                             id = inputOutputField.id;
                         } else if (_.isString(inputOutputField) || 
_.isBoolean(inputOutputField) || _.isNumber(inputOutputField)) {
-                            valueOfArray.push('<span>' + inputOutputField + 
'</span>');
+                            if (inputOutputField.indexOf("$") == -1) {
+                                valueOfArray.push('<span>' + inputOutputField 
+ '</span>');
+                            }
                         } else if (_.isObject(inputOutputField)) {
                             _.each(inputOutputField, function(objValue, 
objKey) {
                                 var value = objValue;
-                                if (_.isObject(value)) {
-                                    value = JSON.stringify(value);
+                                if (objKey.indexOf("$") == -1) {
+                                    if (_.isObject(value)) {
+                                        value = JSON.stringify(value);
+                                    }
+                                    valueOfArray.push('<span>' + objKey + ':' 
+ value + '</span>');
                                 }
-                                valueOfArray.push('<span>' + objKey + ':' + 
value + '</span>');
                             });
                         }
                     }
@@ -161,14 +176,25 @@ define(['require', 'utils/Utils', 'modules/Modal', 
'utils/Messages', 'utils/Glob
                             } else {
                                 tempLink += '<a href="#!/detailPage/' + id + 
'">' + id + '</a>'
                             }
+                        } else if (inputOutputField.name) {
+                            tempLink += '<a href="#!/detailPage/' + id + '">' 
+ inputOutputField.name + '</a>';
+                        } else if (inputOutputField.qualifiedName) {
+                            tempLink += '<a href="#!/detailPage/' + id + '">' 
+ inputOutputField.qualifiedName + '</a>'
                         } else {
+                            var fetch = true;
                             fetchInputOutputValue(id);
                             tempLink += '<div data-id="' + id + '"></div>';
                         }
                     }
                     if (readOnly) {
-                        tempLink += '<button title="Deleted" class="btn 
btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>';
-                        subLink += '<div class="block readOnlyLink">' + 
tempLink + '</div>';
+                        if (!fetch) {
+                            tempLink += '<button title="Deleted" class="btn 
btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>';
+                            subLink += '<div class="block readOnlyLink">' + 
tempLink + '</div>';
+                        } else {
+                            fetch = false;
+                            subLink += tempLink;
+                        }
+
                     } else {
                         if (tempLink.search('href') != -1) {
                             subLink += '<div>' + tempLink + '</div>'
@@ -180,11 +206,18 @@ define(['require', 'utils/Utils', 'modules/Modal', 
'utils/Messages', 'utils/Glob
                 if (valueOfArray.length) {
                     subLink = valueOfArray.join(', ');
                 }
-                table += '<tr><td>' + key + '</td><td>' + subLink + 
'</td></tr>';
+                if (searchTable) {
+                    table = subLink;
+                } else {
+                    table += '<tr><td>' + key + '</td><td>' + subLink + 
'</td></tr>';
+                }
             } else if (_.isObject(keyValue)) {
                 var id = undefined,
                     tempLink = "",
                     readOnly = false;
+                if (keyValue['$id$']) {
+                    keyValue.id = keyValue['$id$'];
+                }
                 if (_.isObject(keyValue.id)) {
                     id = keyValue.id.id;
                     if (Globals.entityStateReadOnly[keyValue.id.state]) {
@@ -204,15 +237,39 @@ define(['require', 'utils/Utils', 'modules/Modal', 
'utils/Messages', 'utils/Glob
                         } else {
                             tempLink += '<a href="#!/detailPage/' + id + '">' 
+ id + '</a>';
                         }
+                    } else if (keyValue.name) {
+                        tempLink += '<a href="#!/detailPage/' + id + '">' + 
keyValue.name + '</a>';
+                    } else if (keyValue.qualifiedName) {
+                        tempLink += '<a href="#!/detailPage/' + id + '">' + 
keyValue.qualifiedName + '</a>'
                     } else {
+                        var fetch = true;
                         fetchInputOutputValue(id);
                         tempLink += '<div data-id="' + id + '"></div>';
                     }
                     if (readOnly) {
-                        tempLink += '<button title="Deleted" class="btn 
btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>';
-                        table += '<tr><td>' + key + '</td><td><div 
class="block readOnlyLink">' + tempLink + '</div></td></tr>';
+                        if (!fetch) {
+                            tempLink += '<button title="Deleted" class="btn 
btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>';
+                        }
+
+                        if (searchTable) {
+                            if (!fetch) {
+                                table = '<div class="block readOnlyLink">' + 
tempLink + '</div>';
+                            } else {
+                                table = tempLink;
+                            }
+                        } else {
+                            if (!fetch) {
+                                table += '<tr><td>' + key + '</td><td><div 
class="block readOnlyLink">' + tempLink + '</div></td></tr>';
+                            } else {
+                                table += '<tr><td>' + key + '</td><td>' + 
tempLink + '</td></tr>';
+                            }
+                        }
                     } else {
-                        table += '<tr><td>' + key + '</td><td>' + tempLink + 
'</td></tr>';
+                        if (searchTable) {
+                            table = tempLink;
+                        } else {
+                            table += '<tr><td>' + key + '</td><td>' + tempLink 
+ '</td></tr>';
+                        }
                     }
                 } else {
                     var stringArr = [];
@@ -232,18 +289,38 @@ define(['require', 'utils/Utils', 'modules/Modal', 
'utils/Messages', 'utils/Glob
                     }
                     if (readOnly) {
                         tempLink += '<button title="Deleted" class="btn 
btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>';
-                        table += '<tr><td>' + key + '</td><td><div 
class="block readOnlyLink">' + tempLink + '</div></td></tr>';
+                        if (searchTable) {
+                            table = '<div class="block readOnlyLink">' + 
tempLink + '</div>';
+                        } else {
+                            table += '<tr><td>' + key + '</td><td><div 
class="block readOnlyLink">' + tempLink + '</div></td></tr>';
+                        }
+
                     } else {
-                        table += '<tr><td>' + key + '</td><td>' + tempLink + 
'</td></tr>';
+                        if (searchTable) {
+                            table = tempLink;
+                        } else {
+                            table += '<tr><td>' + key + '</td><td>' + tempLink 
+ '</td></tr>';
+                        }
                     }
                 }
             } else {
-                if (key == "createTime" || key == "lastAccessTime" || key == 
"retention") {
-                    table += '<tr><td>' + key + '</td><td>' + new 
Date(valueObject[key]) + '</td></tr>';
+                if (key.indexOf("Time") !== -1 || key == "retention") {
+                    if (searchTable) {
+                        table = new Date(valueObject[key]);
+                    } else {
+                        table += '<tr><td>' + key + '</td><td>' + new 
Date(valueObject[key]) + '</td></tr>';
+                    }
                 } else {
-                    table += '<tr><td>' + key + '</td><td>' + valueObject[key] 
+ '</td></tr>';
+                    if (searchTable) {
+                        if (_.isBoolean(valueObject[key])) {
+                            table = valueObject[key].toString();
+                        } else {
+                            table = valueObject[key];
+                        }
+                    } else {
+                        table += '<tr><td>' + key + '</td><td>' + 
valueObject[key] + '</td></tr>';
+                    }
                 }
-
             }
         });
         return table;
@@ -328,11 +405,15 @@ define(['require', 'utils/Utils', 'modules/Modal', 
'utils/Messages', 'utils/Glob
             id = model.get('$id$').id,
             terms = [];
         _.keys(traits).map(function(key) {
-            var tagName = Utils.checkTagOrTerm(traits[key].$typeName$);
+            if (traits[key].$typeName$) {
+                var tagName = Utils.checkTagOrTerm(traits[key].$typeName$);
+            } else {
+                var tagName = Utils.checkTagOrTerm(traits[key].typeName);
+            }
             if (tagName.term) {
                 terms.push({
-                    deleteHtml: '<a class="pull-left" title="Remove Term"><i 
class="fa fa-trash" data-id="tagClick" data-assetname="' + model.get("name") + 
'" data-name="' + traits[key].$typeName$ + '" data-guid="' + 
model.get('$id$').id + '" ></i></a>',
-                    url: traits[key].$typeName$.split(".").join("/"),
+                    deleteHtml: '<a class="pull-left" title="Remove Term"><i 
class="fa fa-trash" data-id="tagClick" data-assetname="' + model.get("name") + 
'" data-name="' + tagName.fullName+ '" data-guid="' + model.get('$id$').id + '" 
></i></a>',
+                    url: tagName.fullName.split(".").join("/"),
                     name: tagName.fullName
                 });
             }
@@ -366,13 +447,17 @@ define(['require', 'utils/Utils', 'modules/Modal', 
'utils/Messages', 'utils/Glob
             popTag = "",
             count = 0;
         _.keys(model.get('$traits$')).map(function(key) {
-            var tagName = Utils.checkTagOrTerm(traits[key].$typeName$),
-                className = "inputTag";
+            if (traits[key].$typeName$) {
+                var tagName = Utils.checkTagOrTerm(traits[key].$typeName$);
+            } else {
+                var tagName = Utils.checkTagOrTerm(traits[key].typeName);
+            }
+            var className = "inputTag";
             if (!tagName.term) {
                 if (count >= 1) {
-                    popTag += '<a class="' + className + '" 
data-id="tagClick"><span class="inputValue">' + traits[key].$typeName$ + 
'</span><i class="fa fa-times" data-id="delete"  data-assetname="' + 
model.get("name") + '"data-name="' + tagName.name + '" data-guid="' + 
model.get('$id$').id + '" ></i></a>';
+                    popTag += '<a class="' + className + '" 
data-id="tagClick"><span class="inputValue">' + tagName.name + '</span><i 
class="fa fa-times" data-id="delete"  data-assetname="' + model.get("name") + 
'"data-name="' + tagName.name + '" data-guid="' + model.get('$id$').id + '" 
></i></a>';
                 } else {
-                    atags += '<a class="' + className + '" 
data-id="tagClick"><span class="inputValue">' + traits[key].$typeName$ + 
'</span><i class="fa fa-times" data-id="delete" data-assetname="' + 
model.get("name") + '" data-name="' + tagName.name + '" data-guid="' + 
model.get('$id$').id + '" ></i></a>';
+                    atags += '<a class="' + className + '" 
data-id="tagClick"><span class="inputValue">' + tagName.name + '</span><i 
class="fa fa-times" data-id="delete" data-assetname="' + model.get("name") + '" 
data-name="' + tagName.name + '" data-guid="' + model.get('$id$').id + '" 
></i></a>';
                 }
                 ++count;
             }

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/1b1f9d2a/dashboardv2/public/js/utils/Utils.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/utils/Utils.js 
b/dashboardv2/public/js/utils/Utils.js
index 01e5c30..7ddae5b 100644
--- a/dashboardv2/public/js/utils/Utils.js
+++ b/dashboardv2/public/js/utils/Utils.js
@@ -234,18 +234,20 @@ define(['require', 'utils/Globals'], function(require, 
Globals) {
         }
     }
     Utils.checkTagOrTerm = function(value) {
-        var name = value.split('.');
-        if (name.length > 1) {
-            return {
-                term: true,
-                name: name[name.length - 1],
-                fullName: value
-            }
-        } else {
-            return {
-                term: false,
-                name: name[name.length - 1],
-                fullName: value
+        if (value && _.isString(value)) {
+            var name = value.split('.');
+            if (name.length > 1) {
+                return {
+                    term: true,
+                    name: name[name.length - 1],
+                    fullName: value
+                }
+            } else {
+                return {
+                    term: false,
+                    name: name[name.length - 1],
+                    fullName: value
+                }
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/1b1f9d2a/dashboardv2/public/js/views/entity/EntityDetailTableLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/entity/EntityDetailTableLayoutView.js 
b/dashboardv2/public/js/views/entity/EntityDetailTableLayoutView.js
index e65343e..cc67d01 100644
--- a/dashboardv2/public/js/views/entity/EntityDetailTableLayoutView.js
+++ b/dashboardv2/public/js/views/entity/EntityDetailTableLayoutView.js
@@ -49,7 +49,7 @@ define(['require',
             initialize: function(options) {
                 _.extend(this, _.pick(options, 'globalVent', 'collection'));
                 this.collectionObject = this.collection.toJSON();
-                this.model = new this.collection.model();
+                this.entityModel = new this.collection.model();
             },
             bindEvents: function() {},
             onRender: function() {

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/1b1f9d2a/dashboardv2/public/js/views/search/SearchResultLayoutView.js
----------------------------------------------------------------------
diff --git a/dashboardv2/public/js/views/search/SearchResultLayoutView.js 
b/dashboardv2/public/js/views/search/SearchResultLayoutView.js
index 7bc37c0..eb63420 100644
--- a/dashboardv2/public/js/views/search/SearchResultLayoutView.js
+++ b/dashboardv2/public/js/views/search/SearchResultLayoutView.js
@@ -24,9 +24,10 @@ define(['require',
     'utils/Utils',
     'utils/Globals',
     'collection/VSearchList',
+    'models/VCommon',
     'utils/CommonViewFunction',
     'utils/Messages'
-], function(require, Backbone, SearchResultLayoutViewTmpl, Modal, VEntity, 
Utils, Globals, VSearchList, CommonViewFunction, Messages) {
+], function(require, Backbone, SearchResultLayoutViewTmpl, Modal, VEntity, 
Utils, Globals, VSearchList, VCommon, CommonViewFunction, Messages) {
     'use strict';
 
     var SearchResultLayoutView = Backbone.Marionette.LayoutView.extend(
@@ -75,7 +76,6 @@ define(['require',
                                 trigger: true
                             });
                         }
-
                     }
                 };
                 events["click " + this.ui.addTag] = 'addTagModalView';
@@ -207,7 +207,7 @@ define(['require',
                         }
                         that.renderTableLayoutView();
                         var resultData = 
that.searchCollection.fullCollection.length + ' results for <b>' + 
that.searchCollection.queryParams.query + '</b>'
-                        var multiAssignData = '<a href="javascript:void(0)" 
class="inputAssignTag multiSelect" style="display:none" data-id="addTerm"><i 
class="fa fa-folder-o">' + " " + 'Assign Term</i></a>'
+                        var multiAssignData = '<a href="javascript:void(0)" 
class="inputAssignTag multiSelect" style="display:none" data-id="addTerm"><i 
class="fa fa-folder-o"></i>' + " " + 'Assign Term</a>'
                         that.$('.searchResult').html(resultData + 
multiAssignData);
                     },
                     silent: true
@@ -273,111 +273,166 @@ define(['require',
                 if (this.searchCollection.responseData) {
                     if (responseData.dataType) {
                         if (responseData.dataType.attributeDefinitions.length 
== 2 && responseData.dataType.attributeDefinitions[1].name == "instanceInfo") {
-                            return this.getFixedColumn();
+                            return this.getFixedFullTextColumn();
                         } else {
-                            if (Globals.taxonomy) {
-                                col['Check'] = {
-                                    name: "selected",
-                                    label: "",
-                                    cell: "select-row",
-                                    headerCell: "select-all",
-                                    position: 1
-                                };
-                            }
-                            var modelJSON = this.searchCollection.toJSON()[0];
-                            _.keys(modelJSON).map(function(key) {
-                                if (key.indexOf("$") == -1 && typeof 
modelJSON[key] != "object") {
-                                    if (typeof modelJSON[key] == "string" || 
typeof modelJSON[key] == "number") {
-                                        if (typeof modelJSON[key] == "number" 
&& key != "createTime") {
-                                            return;
+                            if 
(responseData.dataType.typeName.indexOf('_temp') == -1) {
+                                return this.getFixedDslColumn();
+                            } else {
+                                var idFound = false;
+                                _.each(this.searchCollection.models, 
function(model) {
+                                    var modelJSON = model.toJSON();
+                                    var guid = "";
+                                    _.each(modelJSON, function(val, key) {
+                                        if (_.isObject(val) && val.id) {
+                                            model.set('id', val.id);
+                                            guid = val.id;
+                                        } else if (key === "id") {
+                                            model.set('id', val);
+                                            guid = val;
                                         }
-                                        if (key == "name" || key == "owner" || 
key == "description") {
-                                            col[key] = {
-                                                cell: (key == "name") ? 
("Html") : ("String"),
-                                                editable: false,
-                                                sortable: false,
-                                                orderable: true,
-                                                formatter: _.extend({}, 
Backgrid.CellFormatter.prototype, {
-                                                    fromRaw: 
function(rawValue, model) {
-                                                        if (rawValue == null) {
-                                                            return null;
-                                                        }
-                                                        if 
(model.get('createTime') == rawValue) {
-                                                            return new 
Date(rawValue);
-                                                        }
-                                                        if (model.get('name') 
== rawValue) {
-                                                            var nameHtml = "";
-                                                            if 
(model.get('$id$')) {
-                                                                nameHtml = '<a 
href="#!/detailPage/' + model.get('$id$').id + '">' + rawValue + '</a>';
-                                                            } else {
-                                                                nameHtml = 
'<a>' + rawValue + '</a>';
-                                                            }
-                                                            if 
(Globals.entityStateReadOnly[model.get('$id$').state]) {
-                                                                nameHtml += 
'<button title="Deleted" class="btn btn-atlasAction btn-atlas deleteBtn"><i 
class="fa fa-trash"></i></button>';
-                                                                return '<div 
class="readOnly readOnlyLink">' + nameHtml + '</div>';
-                                                            } else {
-                                                                return 
nameHtml;
-                                                            }
-                                                        } else {
-                                                            return rawValue;
-                                                        }
+                                    });
+                                    if (guid.length) {
+                                        idFound = true;
+                                        model.getEntity(guid, {
+                                            async: false,
+                                            success: function(data) {
+                                                if (data.definition) {
+                                                    if (data.definition.id && 
data.definition.values) {
+                                                        
that.searchCollection.get(data.definition.id).set(data.definition.values);
+                                                        
that.searchCollection.get(data.definition.id).set('$id$', data.definition.id);
+                                                        
that.searchCollection.get(data.definition.id).set('$traits$', 
data.definition.traits);
                                                     }
-                                                })
-                                            };
-                                        }
+                                                }
+                                            },
+                                            error: function(error, data, 
status) {},
+                                            complete: function() {}
+                                        });
                                     }
+                                });
+                                if (idFound) {
+                                    return this.getFixedDslColumn();
+                                } else {
+                                    return this.getDaynamicColumn();
                                 }
-                            });
-                            col['tag'] = {
-                                label: "Tags",
-                                cell: "Html",
-                                editable: false,
-                                sortable: false,
-                                orderable: true,
-                                className: 'searchTag',
-                                formatter: _.extend({}, 
Backgrid.CellFormatter.prototype, {
-                                    fromRaw: function(rawValue, model) {
-                                        if 
(Globals.entityStateReadOnly[model.get('$id$').state]) {
-                                            return '<div class="readOnly">' + 
CommonViewFunction.tagForTable(model); + '</div>';
-                                        } else {
-                                            return 
CommonViewFunction.tagForTable(model);
-                                        }
-
-                                    }
-                                })
-                            };
-                            if (Globals.taxonomy) {
-                                col['terms'] = {
-                                    label: "Terms",
-                                    cell: "Html",
-                                    editable: false,
-                                    sortable: false,
-                                    orderable: true,
-                                    className: 'searchTerm',
-                                    formatter: _.extend({}, 
Backgrid.CellFormatter.prototype, {
-                                        fromRaw: function(rawValue, model) {
-                                            var returnObject = 
CommonViewFunction.termTableBreadcrumbMaker(model);
-                                            if (returnObject.object) {
-                                                
that.bradCrumbList.push(returnObject.object);
-                                            }
-                                            if 
(Globals.entityStateReadOnly[model.get('$id$').state]) {
-                                                return '<div 
class="readOnly">' + returnObject.html + '</div>';
-                                            } else {
-                                                return returnObject.html;
-                                            }
-                                        }
-                                    })
-                                };
                             }
-                            that.checkTableFetch();
-                            return 
this.searchCollection.constructor.getTableCols(col, this.searchCollection);
                         }
                     } else {
-                        return this.getFixedColumn();
+                        return this.getFixedFullTextColumn();
                     }
                 }
             },
-            getFixedColumn: function() {
+            getDaynamicColumn: function() {
+                var that = this,
+                    modelJSON = "",
+                    col = {};
+                modelJSON = this.searchCollection.toJSON()[0];
+                _.keys(modelJSON).map(function(key) {
+                    if (key.indexOf("$") == -1) {
+                        col[key] = {
+                            cell: 'Html',
+                            editable: false,
+                            sortable: false,
+                            orderable: true,
+                            formatter: _.extend({}, 
Backgrid.CellFormatter.prototype, {
+                                fromRaw: function(rawValue, model) {
+                                    return CommonViewFunction.propertyTable({ 
'notUsedKey': rawValue }, that, true);
+                                }
+                            })
+                        };
+                    }
+                });
+                that.checkTableFetch();
+                return this.searchCollection.constructor.getTableCols(col, 
this.searchCollection);
+            },
+            getFixedDslColumn: function() {
+                var that = this,
+                    col = {};
+                col['name'] = {
+                    label: "Name",
+                    cell: "html",
+                    editable: false,
+                    sortable: false,
+                    formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
+                        fromRaw: function(rawValue, model) {
+                            var nameHtml = "";
+                            if (model.get('$id$')) {
+                                nameHtml = '<a href="#!/detailPage/' + 
model.get('$id$').id + '">' + rawValue + '</a>';
+                            } else {
+                                nameHtml = '<a>' + rawValue + '</a>';
+                            }
+                            if (model.get('$id$') && model.get('$id$').state 
&& Globals.entityStateReadOnly[model.get('$id$').state]) {
+                                nameHtml += '<button title="Deleted" 
class="btn btn-atlasAction btn-atlas deleteBtn"><i class="fa 
fa-trash"></i></button>';
+                                return '<div class="readOnly readOnlyLink">' + 
nameHtml + '</div>';
+                            } else {
+                                return nameHtml;
+                            }
+                        }
+                    })
+                }
+                col['description'] = {
+                    label: "Description",
+                    cell: "String",
+                    editable: false,
+                    sortable: false
+                }
+                col['owner'] = {
+                    label: "Owner",
+                    cell: "String",
+                    editable: false,
+                    sortable: false
+                }
+                col['tag'] = {
+                    label: "Tags",
+                    cell: "Html",
+                    editable: false,
+                    sortable: false,
+                    orderable: true,
+                    className: 'searchTag',
+                    formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
+                        fromRaw: function(rawValue, model) {
+                            if (model.get('$id$') && model.get('$id$').state 
&& Globals.entityStateReadOnly[model.get('$id$').state]) {
+                                return '<div class="readOnly">' + 
CommonViewFunction.tagForTable(model); + '</div>';
+                            } else {
+                                return CommonViewFunction.tagForTable(model);
+                            }
+
+                        }
+                    })
+                };
+                if (Globals.taxonomy) {
+                    col['Check'] = {
+                        name: "selected",
+                        label: "",
+                        cell: "select-row",
+                        headerCell: "select-all",
+                        position: 1
+                    };
+                    col['terms'] = {
+                        label: "Terms",
+                        cell: "Html",
+                        editable: false,
+                        sortable: false,
+                        orderable: true,
+                        className: 'searchTerm',
+                        formatter: _.extend({}, 
Backgrid.CellFormatter.prototype, {
+                            fromRaw: function(rawValue, model) {
+                                var returnObject = 
CommonViewFunction.termTableBreadcrumbMaker(model);
+                                if (returnObject.object) {
+                                    
that.bradCrumbList.push(returnObject.object);
+                                }
+                                if (model.get('$id$') && 
model.get('$id$').state && 
Globals.entityStateReadOnly[model.get('$id$').state]) {
+                                    return '<div class="readOnly">' + 
returnObject.html + '</div>';
+                                } else {
+                                    return returnObject.html;
+                                }
+                            }
+                        })
+                    };
+                }
+                that.checkTableFetch();
+                return this.searchCollection.constructor.getTableCols(col, 
this.searchCollection);
+            },
+            getFixedFullTextColumn: function() {
                 var that = this;
                 return this.searchCollection.constructor.getTableCols({
                     instanceInfo: {
@@ -406,56 +461,14 @@ define(['require',
                                 var modelObject = model.toJSON();
                                 if (modelObject.$typeName$ && 
modelObject.instanceInfo) {
                                     var guid = 
model.toJSON().instanceInfo.guid;
-                                    ++that.fetchList;
-                                    model.getEntity(guid, {
-                                        success: function(data) {
-                                            if (data.definition) {
-                                                if (data.definition.id && 
data.definition.id.state) {
-                                                    if 
(Globals.entityStateReadOnly[data.definition.id.state]) {
-                                                        that.$('td 
a[data-id="' + guid + '"]').parent().addClass('readOnly readOnlyLink');
-                                                        that.$('td 
a[data-id="' + guid + '"]').parent().append('<button title="Deleted" class="btn 
btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>');
-                                                    }
-                                                }
-                                                if (data.definition.values && 
data.definition.values.name) {
-                                                    return that.$('td 
a[data-id="' + guid + '"]').html(data.definition.values.name);
-                                                } else {
-                                                    return that.$('td 
a[data-id="' + guid + '"]').html(data.definition.id.id);
-                                                }
-                                            }
-                                        },
-                                        error: function(error, data, status) 
{},
-                                        complete: function() {
-                                            --that.fetchList;
-                                            that.checkTableFetch();
-                                        }
-                                    });
-                                    return '<div><a href="#!/detailPage/' + 
guid + '" data-id="' + guid + '"></a></div>';
+                                    var json = model.toJSON();
+                                    json['id'] = guid;
+                                    return CommonViewFunction.propertyTable({ 
'notUsedKey': json }, that, true);
                                 } else if (!modelObject.$typeName$) {
                                     var guid = model.toJSON().guid;
-                                    ++that.fetchList;
-                                    model.getEntity(guid, {
-                                        success: function(data) {
-                                            if (data.definition) {
-                                                if (data.definition.id && 
data.definition.id.state) {
-                                                    if 
(Globals.entityStateReadOnly[data.definition.id.state]) {
-                                                        that.$('td 
a[data-id="' + guid + '"]').parent().addClass('readOnly readOnlyLink');
-                                                        that.$('td 
a[data-id="' + guid + '"]').parent().append('<button title="Deleted" class="btn 
btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>');
-                                                    }
-                                                }
-                                                if (data.definition.values && 
data.definition.values.name) {
-                                                    return that.$('td 
a[data-id="' + guid + '"]').html(data.definition.values.name);
-                                                } else {
-                                                    return that.$('td 
a[data-id="' + guid + '"]').html(data.definition.id.id);
-                                                }
-                                            }
-                                        },
-                                        error: function(error, data, status) 
{},
-                                        complete: function() {
-                                            --that.fetchList;
-                                            that.checkTableFetch();
-                                        }
-                                    });
-                                    return '<div><a href="#!/detailPage/' + 
guid + '" data-id="' + guid + '"></a></div>';
+                                    var json = model.toJSON();
+                                    json['id'] = guid;
+                                    return CommonViewFunction.propertyTable({ 
'notUsedKey': json }, that, true);
                                 }
                             }
                         })

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/1b1f9d2a/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index 51c8bd6..ecdc8a9 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -6,6 +6,7 @@ INCOMPATIBLE CHANGES:
 
 
 ALL CHANGES:
+ATLAS-971 UI not displaying results for this query - Eg: "hive_table as t 
where qualifiedName = 'default.input@cl1' select t" (kevalbhatt18 via 
shwethags) 
 ATLAS-1010 Atlas allows recreation of tags with same name (shwethags)
 ATLAS-990 Hive Import metadata script fails with auth exception 
(nixonrodrigues via shwethags)
 ATLAS-998 determine HA mode from property atlas.server.ids, instead of 
atlas.server.ha.enabled (madhan.neethiraj via shwethags)


Reply via email to