From 33fdad76d1cda550c6abfe6eb39da40a9274410b Mon Sep 17 00:00:00 2001
From: Shwetha GS <sshivalingamurthy@hortonworks.com>
Date: Thu, 7 Jul 2016 10:29:39 +0530
Subject: [PATCH] ATLAS-963 UI: Entity details is not display String array attribute values correctly (kevalbhatt18 via shwethags)

---
 dashboardv2/public/js/utils/CommonViewFunction.js | 34 +++++++++++++++++++++++++---------
 release-log.txt                                   |  7 ++++---
 2 files changed, 29 insertions(+), 12 deletions(-)

diff --git a/dashboardv2/public/js/utils/CommonViewFunction.js b/dashboardv2/public/js/utils/CommonViewFunction.js
index d699fe8..ed6a34f 100644
--- a/dashboardv2/public/js/utils/CommonViewFunction.js
+++ b/dashboardv2/public/js/utils/CommonViewFunction.js
@@ -144,7 +144,8 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Glob
                 });
             }
         _.keys(valueObject).map(function(key) {
-            var keyValue = valueObject[key];
+            var keyValue = valueObject[key],
+                valueOfArray = [];
             if (_.isArray(keyValue)) {
                 var subLink = "";
                 for (var i = 0; i < keyValue.length; i++) {
@@ -152,14 +153,27 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Glob
                         id = undefined,
                         tempLink = "",
                         readOnly = false;
-                    if (_.isObject(inputOutputField.id)) {
-                        id = inputOutputField.id.id;
-                        if (Globals.entityStateReadOnly[inputOutputField.id.state]) {
-                            readOnly = inputOutputField.id.state
+                    if (inputOutputField) {
+                        if (_.isObject(inputOutputField.id)) {
+                            id = inputOutputField.id.id;
+                            if (Globals.entityStateReadOnly[inputOutputField.id.state]) {
+                                readOnly = inputOutputField.id.state
+                            }
+                        } else if (inputOutputField.id) {
+                            id = inputOutputField.id;
+                        } else if (_.isString(inputOutputField) || _.isBoolean(inputOutputField) || _.isNumber(inputOutputField)) {
+                            valueOfArray.push('<span>' + inputOutputField + '</span>');
+                        } else if (_.isObject(inputOutputField)) {
+                            _.each(inputOutputField, function(objValue, objKey) {
+                                var value = objValue;
+                                if (_.isObject(value)) {
+                                    value = JSON.stringify(value);
+                                }
+                                valueOfArray.push('<span>' + objKey + ':' + value + '</span>');
+                            });
                         }
-                    } else {
-                        id = inputOutputField.id;
                     }
+
                     if (id) {
                         if (inputOutputField.values) {
                             if (inputOutputField.values.name) {
@@ -175,7 +189,6 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Glob
                             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>';
@@ -183,11 +196,14 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Glob
                     } else {
                         if (tempLink.search('href') != -1) {
                             subLink += '<div>' + tempLink + '</div>'
-                        } else {
+                        } else if (tempLink.length) {
                             subLink += tempLink
                         }
                     }
                 }
+                if (valueOfArray.length) {
+                    subLink = valueOfArray.join(', ');
+                }
                 table += '<tr><td>' + key + '</td><td>' + subLink + '</td></tr>';
             } else if (_.isObject(keyValue)) {
                 var id = undefined,
diff --git a/release-log.txt b/release-log.txt
index 4c45155..20a8a2c 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -6,6 +6,10 @@ INCOMPATIBLE CHANGES:
 
 
 ALL CHANGES:
+ATLAS-963 UI: Entity details is not display String array attribute values correctly (kevalbhatt18 via shwethags)
+ATLAS-988 HiveHookIT.testInsertIntoTable is broken (svimal2106 via shwethags)
+ATLAS-655 Please delete old releases from mirroring system (shwethags)
+ATLAS-970 Remove glyphicon from login.jsp (kevalbhatt18 via shwethags)
 ATLAS-966 Exit execution of import_hive.sh if HIVE_HOME is not set (svimal2106 via sumasai)
 ATLAS-917 Add hdfs paths to process qualified name for non-partition based queries (sumasai)
 
@@ -37,9 +41,6 @@ ATLAS-409 Atlas will not import avro tables with schema read from a file (dosset
 ATLAS-379 Create sqoop and falcon metadata addons (venkatnrangan,bvellanki,sowmyaramesh via shwethags)
 
 ALL CHANGES:
-ATLAS-988 HiveHookIT.testInsertIntoTable is broken (svimal2106 via shwethags)
-ATLAS-655 Please delete old releases from mirroring system (shwethags)
-ATLAS-970 Remove glyphicon from login.jsp (kevalbhatt18 via shwethags)
 ATLAS-959 Exception while writing to audit log. [java.io.IOException: No FileSystem for scheme: hdfs] (saqeeb.s via sumasai)
 ATLAS-967 Remove unused logo file and footer. (kevalbhatt18 via yhemanth)
 ATLAS-964 Cleanup NOTICE and LICENSE (shwethags)
--
libgit2 0.27.1