atlas git commit: ATLAS-2891: updated hook notification processing with option to ignore potentially incorrect hive_column_lineage

2018-10-01 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master 4128f5d2a -> d5f46e3f5


ATLAS-2891: updated hook notification processing with option to ignore 
potentially incorrect hive_column_lineage

(cherry picked from commit 20215f3dd74b16fe4a7a9c8eb21b17925256f4f9)


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

Branch: refs/heads/master
Commit: d5f46e3f51753dfd85ddc76ffb6f227eb83285fc
Parents: 4128f5d
Author: Madhan Neethiraj 
Authored: Wed Sep 19 11:51:52 2018 -0700
Committer: Madhan Neethiraj 
Committed: Mon Oct 1 08:44:27 2018 -0700

--
 .../atlas/hive/hook/AtlasHiveHookContext.java   |   8 ++
 .../org/apache/atlas/hive/hook/HiveHook.java|  15 +++
 .../hive/hook/events/CreateHiveProcess.java |  26 -
 .../apache/atlas/kafka/AtlasKafkaConsumer.java  |   9 +-
 .../notification/NotificationHookConsumer.java  | 102 ++-
 5 files changed, 155 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/d5f46e3f/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
--
diff --git 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
index b9e4256..b467f4c 100644
--- 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
+++ 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
@@ -85,6 +85,14 @@ public class AtlasHiveHookContext {
 return hook.getClusterName();
 }
 
+public boolean getSkipHiveColumnLineageHive20633() {
+return hook.getSkipHiveColumnLineageHive20633();
+}
+
+public int getSkipHiveColumnLineageHive20633InputsThreshold() {
+return hook.getSkipHiveColumnLineageHive20633InputsThreshold();
+}
+
 public String getQualifiedName(Database db) {
 return (db.getName() + QNAME_SEP_CLUSTER_NAME).toLowerCase() + 
getClusterName();
 }

http://git-wip-us.apache.org/repos/asf/atlas/blob/d5f46e3f/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java
--
diff --git 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java
index 19075f6..4bb3b65 100644
--- a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java
+++ b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java
@@ -51,6 +51,8 @@ public class HiveHook extends AtlasHook implements 
ExecuteWithHookContext {
 public static final String HOOK_NAME_CACHE_DATABASE_COUNT  = 
CONF_PREFIX + "name.cache.database.count";
 public static final String HOOK_NAME_CACHE_TABLE_COUNT = 
CONF_PREFIX + "name.cache.table.count";
 public static final String HOOK_NAME_CACHE_REBUID_INTERVAL_SEC = 
CONF_PREFIX + "name.cache.rebuild.interval.seconds";
+public static final String HOOK_SKIP_HIVE_COLUMN_LINEAGE_HIVE_20633
  = CONF_PREFIX + "skip.hive_column_lineage.hive-20633";
+public static final String 
HOOK_SKIP_HIVE_COLUMN_LINEAGE_HIVE_20633_INPUTS_THRESHOLD = CONF_PREFIX + 
"skip.hive_column_lineage.hive-20633.inputs.threshold";
 
 public static final String DEFAULT_CLUSTER_NAME = "primary";
 
@@ -62,6 +64,9 @@ public class HiveHook extends AtlasHook implements 
ExecuteWithHookContext {
 private static final int nameCacheTableMaxCount;
 private static final int nameCacheRebuildIntervalSeconds;
 
+private static final boolean skipHiveColumnLineageHive20633;
+private static final int skipHiveColumnLineageHive20633InputsThreshold;
+
 private static HiveHookObjectNamesCache knownObjects = null;
 
 static {
@@ -74,6 +79,8 @@ public class HiveHook extends AtlasHook implements 
ExecuteWithHookContext {
 nameCacheDatabaseMaxCount   = 
atlasProperties.getInt(HOOK_NAME_CACHE_DATABASE_COUNT, 1);
 nameCacheTableMaxCount  = 
atlasProperties.getInt(HOOK_NAME_CACHE_TABLE_COUNT, 1);
 nameCacheRebuildIntervalSeconds = 
atlasProperties.getInt(HOOK_NAME_CACHE_REBUID_INTERVAL_SEC, 60 * 60); // 60 
minutes default
+skipHiveColumnLineageHive20633= 
atlasProperties.getBoolean(HOOK_SKIP_HIVE_COLUMN_LINEAGE_HIVE_20633, false);
+skipHiveColumnLineageHive20633InputsThreshold = 
atlasProperties.getInt(HOOK_SKIP_HIVE_COLUMN_L

atlas git commit: ATLAS-2786: updated HBase and Solr clients to use all zookeeper entires

2018-09-27 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 01f3f14ea -> 2f3942831


ATLAS-2786: updated HBase and Solr clients to use all zookeeper entires


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

Branch: refs/heads/branch-0.8
Commit: 2f39428313136b765dbab42a1ee2e6521695d690
Parents: 01f3f14
Author: Madhan Neethiraj 
Authored: Thu Sep 27 19:51:35 2018 -0700
Committer: Madhan Neethiraj 
Committed: Thu Sep 27 21:06:09 2018 -0700

--
 .../titan/diskstorage/solr/Solr5Index.java  | 50 +---
 .../audit/HBaseBasedAuditRepository.java| 20 
 2 files changed, 55 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/2f394283/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/solr/Solr5Index.java
--
diff --git 
a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/solr/Solr5Index.java
 
b/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/solr/Solr5Index.java
index 90d24e4..50b3123 100644
--- 
a/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/solr/Solr5Index.java
+++ 
b/graphdb/titan0/src/main/java/com/thinkaurelius/titan/diskstorage/solr/Solr5Index.java
@@ -103,7 +103,8 @@ public class Solr5Index implements IndexProvider {
 private static final Logger logger = 
LoggerFactory.getLogger(Solr5Index.class);
 
 
-private static final String DEFAULT_ID_FIELD = "id";
+private static final String DEFAULT_ID_FIELD  = "id";
+private static final char   CHROOT_START_CHAR = '/';
 
 private enum Mode {
 HTTP, CLOUD;
@@ -138,9 +139,9 @@ public class Solr5Index implements IndexProvider {
 
 /** SolrCloud Configuration */
 
-public static final ConfigOption ZOOKEEPER_URL = new 
ConfigOption<>(SOLR_NS, "zookeeper-url",
+public static final ConfigOption ZOOKEEPER_URL = new 
ConfigOption<>(SOLR_NS, "zookeeper-url",
 "URL of the Zookeeper instance coordinating the SolrCloud cluster",
-ConfigOption.Type.MASKABLE, "localhost:2181");
+ConfigOption.Type.MASKABLE, new String[]{"localhost:2181"});
 
 public static final ConfigOption ZOOKEEPER_CONNECT_TIMEOUT = new 
ConfigOption<>(SOLR_NS,"zookeeper-connect-timeout",
 "SolrCloud Zookeeper connect timeout",
@@ -216,8 +217,9 @@ public class Solr5Index implements IndexProvider {
 
 if (mode==Mode.CLOUD) {
 HttpClientUtil.setConfigurer(new Krb5HttpClientConfigurer());
-String zookeeperUrl = config.get(Solr5Index.ZOOKEEPER_URL);
-CloudSolrClient cloudServer = new CloudSolrClient(zookeeperUrl, 
true);
+
+String[]zkHosts = config.get(Solr5Index.ZOOKEEPER_URL);
+CloudSolrClient cloudServer = getCloudSolrClient(zkHosts);
 
 logger.info("Zookeeper connect timeout : " + 
config.get(ZOOKEEPER_CONNECT_TIMEOUT));
 
cloudServer.setZkConnectTimeout(config.get(ZOOKEEPER_CONNECT_TIMEOUT));
@@ -237,8 +239,6 @@ public class Solr5Index implements IndexProvider {
 }});
 
 solrClient = new LBHttpSolrClient(clientParams, 
config.get(HTTP_URLS));
-
-
 } else {
 throw new IllegalArgumentException("Unsupported Solr operation 
mode: " + mode);
 }
@@ -966,6 +966,42 @@ public class Solr5Index implements IndexProvider {
 }
 }
 
+private CloudSolrClient getCloudSolrClient(String[] zkHosts) {
+logger.info("==> Solr5Index.getCloudSolrClient({})", zkHosts);
+
+CloudSolrClient ret = null;
+
+if (zkHosts != null) {
+List zkServers = new ArrayList<>(zkHosts.length);
+String   chroot= null;
+
+for (String zkHost : zkHosts) {
+if (zkHost != null) {
+int idxSlash = zkHost.indexOf(CHROOT_START_CHAR);
+
+if (idxSlash != -1) {
+chroot = zkHost.substring(idxSlash); // chroot of the 
last url will be used
+zkHost = zkHost.substring(0, idxSlash);
+}
+
+if (StringUtils.isNotEmpty(zkHost)) {
+logger.info("Solr5Index: adding zkHost={}. chroot={}", 
zkHost, chroot);
+
+zkServers.add(zkHost);
+}
+}
+}
+
+logger.info("Solr5Index: number of zkUrls={}. chroot={}&quo

atlas git commit: ATLAS-2891: updated hook notification processing with option to ignore potentially incorrect hive_column_lineage

2018-09-26 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 ea33708cf -> 20215f3dd


ATLAS-2891: updated hook notification processing with option to ignore 
potentially incorrect hive_column_lineage


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

Branch: refs/heads/branch-0.8
Commit: 20215f3dd74b16fe4a7a9c8eb21b17925256f4f9
Parents: ea33708
Author: Madhan Neethiraj 
Authored: Wed Sep 19 11:51:52 2018 -0700
Committer: Madhan Neethiraj 
Committed: Wed Sep 26 17:58:06 2018 -0700

--
 .../atlas/hive/hook/AtlasHiveHookContext.java   |   8 ++
 .../org/apache/atlas/hive/hook/HiveHook.java|  15 +++
 .../hive/hook/events/CreateHiveProcess.java |  26 +++-
 .../apache/atlas/kafka/AtlasKafkaConsumer.java  |   9 +-
 .../notification/NotificationHookConsumer.java  | 121 ---
 5 files changed, 162 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/20215f3d/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
--
diff --git 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
index b9e4256..b467f4c 100644
--- 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
+++ 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
@@ -85,6 +85,14 @@ public class AtlasHiveHookContext {
 return hook.getClusterName();
 }
 
+public boolean getSkipHiveColumnLineageHive20633() {
+return hook.getSkipHiveColumnLineageHive20633();
+}
+
+public int getSkipHiveColumnLineageHive20633InputsThreshold() {
+return hook.getSkipHiveColumnLineageHive20633InputsThreshold();
+}
+
 public String getQualifiedName(Database db) {
 return (db.getName() + QNAME_SEP_CLUSTER_NAME).toLowerCase() + 
getClusterName();
 }

http://git-wip-us.apache.org/repos/asf/atlas/blob/20215f3d/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java
--
diff --git 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java
index 19075f6..673fa3b 100644
--- a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java
+++ b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java
@@ -51,6 +51,8 @@ public class HiveHook extends AtlasHook implements 
ExecuteWithHookContext {
 public static final String HOOK_NAME_CACHE_DATABASE_COUNT  = 
CONF_PREFIX + "name.cache.database.count";
 public static final String HOOK_NAME_CACHE_TABLE_COUNT = 
CONF_PREFIX + "name.cache.table.count";
 public static final String HOOK_NAME_CACHE_REBUID_INTERVAL_SEC = 
CONF_PREFIX + "name.cache.rebuild.interval.seconds";
+public static final String HOOK_SKIP_HIVE_COLUMN_LINEAGE_HIVE_20633
  = CONF_PREFIX + "skip.hive_column_lineage.hive-20633";
+public static final String 
HOOK_SKIP_HIVE_COLUMN_LINEAGE_HIVE_20633_INPUTS_THRESHOLD = CONF_PREFIX + 
"skip.hive_column_lineage.hive-20633.inputs.threshold";
 
 public static final String DEFAULT_CLUSTER_NAME = "primary";
 
@@ -62,6 +64,9 @@ public class HiveHook extends AtlasHook implements 
ExecuteWithHookContext {
 private static final int nameCacheTableMaxCount;
 private static final int nameCacheRebuildIntervalSeconds;
 
+private static final boolean skipHiveColumnLineageHive20633;
+private static final int skipHiveColumnLineageHive20633InputsThreshold;
+
 private static HiveHookObjectNamesCache knownObjects = null;
 
 static {
@@ -74,6 +79,8 @@ public class HiveHook extends AtlasHook implements 
ExecuteWithHookContext {
 nameCacheDatabaseMaxCount   = 
atlasProperties.getInt(HOOK_NAME_CACHE_DATABASE_COUNT, 1);
 nameCacheTableMaxCount  = 
atlasProperties.getInt(HOOK_NAME_CACHE_TABLE_COUNT, 1);
 nameCacheRebuildIntervalSeconds = 
atlasProperties.getInt(HOOK_NAME_CACHE_REBUID_INTERVAL_SEC, 60 * 60); // 60 
minutes default
+skipHiveColumnLineageHive20633= 
atlasProperties.getBoolean(HOOK_SKIP_HIVE_COLUMN_LINEAGE_HIVE_20633, true);
+skipHiveColumnLineageHive20633InputsThreshold = 
atlasProperties.getInt(HOOK_SKIP_HIVE_COLUMN_LINEAGE_HIVE_20633_INPUTS_THRESHOLD,
 5); // skip greater-than

atlas git commit: ATLAS-2886: Support for fully qualified server name

2018-09-23 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 e0697265f -> ba717c6e4


ATLAS-2886: Support for fully qualified server name

Signed-off-by: Madhan Neethiraj 


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

Branch: refs/heads/branch-0.8
Commit: ba717c6e4bdfc9e9d59698ac150d8f12efe3e56e
Parents: e069726
Author: Ashutosh Mestry 
Authored: Sun Sep 23 08:50:06 2018 -0700
Committer: Madhan Neethiraj 
Committed: Sun Sep 23 09:24:01 2018 -0700

--
 addons/models/0010-base_model.json  |  10 +-
 .../apache/atlas/model/impexp/AtlasServer.java  | 114 +++
 .../atlas/repository/impexp/AuditsWriter.java   |  41 ---
 .../atlas/repository/ogm/AtlasServerDTO.java|  15 ++-
 .../impexp/AtlasServerServiceTest.java  |   2 +-
 .../impexp/ExportImportAuditServiceTest.java|   2 +-
 .../IncrementalExportEntityProviderTest.java|   1 -
 .../impexp/ReplicationEntityAttributeTest.java  |  14 ++-
 .../stocksDB-Entities/export-replicatedTo.json  |   2 +-
 .../import-replicatedFrom.json  |   2 +-
 10 files changed, 123 insertions(+), 80 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/ba717c6e/addons/models/0010-base_model.json
--
diff --git a/addons/models/0010-base_model.json 
b/addons/models/0010-base_model.json
index dc9e9d6..1bfbf2f 100644
--- a/addons/models/0010-base_model.json
+++ b/addons/models/0010-base_model.json
@@ -122,6 +122,14 @@
   ],
   "attributeDefs": [
 {
+  "name": "name",
+  "typeName": "string",
+  "cardinality": "SINGLE",
+  "isIndexable": true,
+  "isOptional": false,
+  "isUnique": false
+},
+{
   "name": "displayName",
   "typeName": "string",
   "cardinality": "SINGLE",
@@ -130,7 +138,7 @@
   "isUnique": false
 },
 {
-  "name": "qualifiedName",
+  "name": "fullName",
   "typeName": "string",
   "cardinality": "SINGLE",
   "isIndexable": true,

http://git-wip-us.apache.org/repos/asf/atlas/blob/ba717c6e/intg/src/main/java/org/apache/atlas/model/impexp/AtlasServer.java
--
diff --git a/intg/src/main/java/org/apache/atlas/model/impexp/AtlasServer.java 
b/intg/src/main/java/org/apache/atlas/model/impexp/AtlasServer.java
index 67d0110..8809094 100644
--- a/intg/src/main/java/org/apache/atlas/model/impexp/AtlasServer.java
+++ b/intg/src/main/java/org/apache/atlas/model/impexp/AtlasServer.java
@@ -40,20 +40,23 @@ public class AtlasServer extends AtlasBaseModelObject 
implements Serializable {
 
 public static final String KEY_REPLICATION_DETAILS = "REPL_DETAILS";
 
-private String name;
-private String qualifiedName;
-private Map additionalInfo;
-private List urls;
+private String  name;
+private String  fullName;
+private String  displayName;
+private Map additionalInfo = new HashMap<>();
+private Listurls   = new ArrayList<>();
 
 public AtlasServer() {
-urls = new ArrayList<>();
-additionalInfo = new HashMap<>();
 }
 
-public AtlasServer(String name, String qualifiedName) {
-this();
-this.name = name;
-this.qualifiedName = qualifiedName;
+public AtlasServer(String name, String fullName) {
+this(name, name, fullName);
+}
+
+public AtlasServer(String name, String displayName, String fullName) {
+this.name= name;
+this.displayName = displayName;
+this.fullName= fullName;
 }
 
 public void setName(String name) {
@@ -64,12 +67,45 @@ public class AtlasServer extends AtlasBaseModelObject 
implements Serializable {
 return this.name;
 }
 
+public String getFullName() {
+return fullName;
+}
+
+public void setFullName(String fullName) {
+this.fullName = fullName;
+}
+
+public String getDisplayName() {
+return displayName;
+}
+
+public void setDisplayName(String displayName) {
+this.displayName = displayName;
+}
+
 public void setAdditionalInfo(Map additionalInfo) {
 this.additionalInfo = additionalI

atlas git commit: ATLAS-2872: updated HiveHook to purge name cache periodically

2018-09-22 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master a064e0924 -> ece78ba09


ATLAS-2872: updated HiveHook to purge name cache periodically

(cherry picked from commit 110db1a40b84b9a5ad2590233ee3f03eeae2ec78)
(cherry picked from commit 52719937ad971b9ae25148a0e57a8ec3e94dc146)


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

Branch: refs/heads/master
Commit: ece78ba0933e9f868647689a888b3080568d015c
Parents: a064e09
Author: Madhan Neethiraj 
Authored: Thu Sep 13 18:21:31 2018 -0700
Committer: Madhan Neethiraj 
Committed: Sat Sep 22 03:40:42 2018 -0700

--
 .../atlas/hive/hook/AtlasHiveHookContext.java   |  51 +---
 .../org/apache/atlas/hive/hook/HiveHook.java| 127 ---
 2 files changed, 113 insertions(+), 65 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/ece78ba0/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
--
diff --git 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
index a647192..b9e4256 100644
--- 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
+++ 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
@@ -19,10 +19,10 @@
 package org.apache.atlas.hive.hook;
 
 import org.apache.atlas.model.instance.AtlasEntity;
+import org.apache.atlas.hive.hook.HiveHook.HiveHookObjectNamesCache;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.RandomStringUtils;
 import org.apache.hadoop.hive.metastore.api.Database;
-import org.apache.hadoop.hive.ql.hooks.Entity;
 import org.apache.hadoop.hive.ql.hooks.HookContext;
 import org.apache.hadoop.hive.ql.hooks.WriteEntity;
 import org.apache.hadoop.hive.ql.metadata.Hive;
@@ -46,12 +46,14 @@ public class AtlasHiveHookContext {
 private final HookContext  hiveContext;
 private final Hive hive;
 private final Map qNameEntityMap = new HashMap<>();
+private final HiveHookObjectNamesCache knownObjects;
 
-public AtlasHiveHookContext(HiveHook hook, HiveOperation hiveOperation, 
HookContext hiveContext) throws Exception {
+public AtlasHiveHookContext(HiveHook hook, HiveOperation hiveOperation, 
HookContext hiveContext, HiveHookObjectNamesCache knownObjects) throws 
Exception {
 this.hook  = hook;
 this.hiveOperation = hiveOperation;
 this.hiveContext   = hiveContext;
 this.hive  = Hive.get(hiveContext.getConf());
+this.knownObjects  = knownObjects;
 
 init();
 }
@@ -102,40 +104,47 @@ public class AtlasHiveHookContext {
 }
 
 public boolean isKnownDatabase(String dbQualifiedName) {
-return hook.isKnownDatabase(dbQualifiedName);
+return knownObjects != null && dbQualifiedName != null ? 
knownObjects.isKnownDatabase(dbQualifiedName) : false;
 }
 
 public boolean isKnownTable(String tblQualifiedName) {
-return hook.isKnownTable(tblQualifiedName);
+return knownObjects != null && tblQualifiedName != null ? 
knownObjects.isKnownTable(tblQualifiedName) : false;
 }
 
 public void addToKnownEntities(Collection entities) {
-hook.addToKnownEntities(entities);
+if (knownObjects != null && entities != null) {
+knownObjects.addToKnownEntities(entities);
+}
 }
 
 public void removeFromKnownDatabase(String dbQualifiedName) {
-hook.removeFromKnownDatabase(dbQualifiedName);
+if (knownObjects != null && dbQualifiedName != null) {
+knownObjects.removeFromKnownDatabase(dbQualifiedName);
+}
 }
 
 public void removeFromKnownTable(String tblQualifiedName) {
-hook.removeFromKnownTable(tblQualifiedName);
+if (knownObjects != null && tblQualifiedName != null) {
+knownObjects.removeFromKnownTable(tblQualifiedName);
+}
 }
 
 private void init() {
-// for create and alter operations, remove output entities from 
'known' entity cache
-String operationName = hiveContext.getOperationName();
-
-if (operationName != null && operationName.startsWith("CREATE") || 
operationName.startsWith("ALTER")) {
-if (CollectionUtils.isNotEmpty(hiveContext.getOutputs())) {
-for (WriteEntity output : hiveContext.getOutputs()) {
- 

atlas git commit: ATLAS-2872: updated HiveHook to purge name cache periodically

2018-09-22 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 be96cd4aa -> 52719937a


ATLAS-2872: updated HiveHook to purge name cache periodically

(cherry picked from commit 110db1a40b84b9a5ad2590233ee3f03eeae2ec78)


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

Branch: refs/heads/branch-1.0
Commit: 52719937ad971b9ae25148a0e57a8ec3e94dc146
Parents: be96cd4
Author: Madhan Neethiraj 
Authored: Thu Sep 13 18:21:31 2018 -0700
Committer: Madhan Neethiraj 
Committed: Sat Sep 22 03:37:56 2018 -0700

--
 .../atlas/hive/hook/AtlasHiveHookContext.java   |  51 +---
 .../org/apache/atlas/hive/hook/HiveHook.java| 127 ---
 2 files changed, 113 insertions(+), 65 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/52719937/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
--
diff --git 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
index a647192..b9e4256 100644
--- 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
+++ 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
@@ -19,10 +19,10 @@
 package org.apache.atlas.hive.hook;
 
 import org.apache.atlas.model.instance.AtlasEntity;
+import org.apache.atlas.hive.hook.HiveHook.HiveHookObjectNamesCache;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.RandomStringUtils;
 import org.apache.hadoop.hive.metastore.api.Database;
-import org.apache.hadoop.hive.ql.hooks.Entity;
 import org.apache.hadoop.hive.ql.hooks.HookContext;
 import org.apache.hadoop.hive.ql.hooks.WriteEntity;
 import org.apache.hadoop.hive.ql.metadata.Hive;
@@ -46,12 +46,14 @@ public class AtlasHiveHookContext {
 private final HookContext  hiveContext;
 private final Hive hive;
 private final Map qNameEntityMap = new HashMap<>();
+private final HiveHookObjectNamesCache knownObjects;
 
-public AtlasHiveHookContext(HiveHook hook, HiveOperation hiveOperation, 
HookContext hiveContext) throws Exception {
+public AtlasHiveHookContext(HiveHook hook, HiveOperation hiveOperation, 
HookContext hiveContext, HiveHookObjectNamesCache knownObjects) throws 
Exception {
 this.hook  = hook;
 this.hiveOperation = hiveOperation;
 this.hiveContext   = hiveContext;
 this.hive  = Hive.get(hiveContext.getConf());
+this.knownObjects  = knownObjects;
 
 init();
 }
@@ -102,40 +104,47 @@ public class AtlasHiveHookContext {
 }
 
 public boolean isKnownDatabase(String dbQualifiedName) {
-return hook.isKnownDatabase(dbQualifiedName);
+return knownObjects != null && dbQualifiedName != null ? 
knownObjects.isKnownDatabase(dbQualifiedName) : false;
 }
 
 public boolean isKnownTable(String tblQualifiedName) {
-return hook.isKnownTable(tblQualifiedName);
+return knownObjects != null && tblQualifiedName != null ? 
knownObjects.isKnownTable(tblQualifiedName) : false;
 }
 
 public void addToKnownEntities(Collection entities) {
-hook.addToKnownEntities(entities);
+if (knownObjects != null && entities != null) {
+knownObjects.addToKnownEntities(entities);
+}
 }
 
 public void removeFromKnownDatabase(String dbQualifiedName) {
-hook.removeFromKnownDatabase(dbQualifiedName);
+if (knownObjects != null && dbQualifiedName != null) {
+knownObjects.removeFromKnownDatabase(dbQualifiedName);
+}
 }
 
 public void removeFromKnownTable(String tblQualifiedName) {
-hook.removeFromKnownTable(tblQualifiedName);
+if (knownObjects != null && tblQualifiedName != null) {
+knownObjects.removeFromKnownTable(tblQualifiedName);
+}
 }
 
 private void init() {
-// for create and alter operations, remove output entities from 
'known' entity cache
-String operationName = hiveContext.getOperationName();
-
-if (operationName != null && operationName.startsWith("CREATE") || 
operationName.startsWith("ALTER")) {
-if (CollectionUtils.isNotEmpty(hiveContext.getOutputs())) {
-for (WriteEntity output : hiveContext.getOutputs()) {
-switch (output.getType()) {
-case DATABASE

atlas git commit: ATLAS-2882: refactored import transformer to set context in constructor; fixed incorrect objId match

2018-09-21 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 28d8efc0c -> 561d43974


ATLAS-2882: refactored import transformer to set context in constructor; fixed 
incorrect objId match


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

Branch: refs/heads/branch-0.8
Commit: 561d439748c0f3c622187e47be8a05b247cd5a2e
Parents: 28d8efc
Author: Madhan Neethiraj 
Authored: Thu Sep 20 17:27:28 2018 -0700
Committer: Madhan Neethiraj 
Committed: Fri Sep 21 21:55:33 2018 -0700

--
 .../apache/atlas/entitytransform/Action.java| 150 +
 .../entitytransform/AtlasEntityTransformer.java |  27 ++--
 .../entitytransform/BaseEntityHandler.java  | 138 +---
 .../apache/atlas/entitytransform/Condition.java | 141 
 .../atlas/entitytransform/EntityAttribute.java  |  69 
 .../entitytransform/HdfsPathEntityHandler.java  |  28 ++--
 .../HiveColumnEntityHandler.java|  28 ++--
 .../HiveDatabaseEntityHandler.java  |  24 +--
 .../HiveStorageDescriptorEntityHandler.java |  26 +--
 .../entitytransform/HiveTableEntityHandler.java |  26 +--
 .../atlas/entitytransform/NeedsContext.java |  23 ---
 .../entitytransform/TransformerContext.java |   8 +-
 .../TransformationHandlerTest.java  | 160 +++
 13 files changed, 470 insertions(+), 378 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/561d4397/intg/src/main/java/org/apache/atlas/entitytransform/Action.java
--
diff --git a/intg/src/main/java/org/apache/atlas/entitytransform/Action.java 
b/intg/src/main/java/org/apache/atlas/entitytransform/Action.java
index fa18558..0c6102d 100644
--- a/intg/src/main/java/org/apache/atlas/entitytransform/Action.java
+++ b/intg/src/main/java/org/apache/atlas/entitytransform/Action.java
@@ -22,6 +22,8 @@ import org.apache.atlas.model.instance.AtlasClassification;
 import org.apache.atlas.model.instance.AtlasEntity;
 import org.apache.atlas.model.typedef.AtlasClassificationDef;
 import org.apache.atlas.model.typedef.AtlasTypesDef;
+import org.apache.atlas.store.AtlasTypeDefStore;
+import org.apache.atlas.type.AtlasTypeRegistry;
 import org.apache.commons.lang.StringUtils;
 import 
org.apache.atlas.entitytransform.BaseEntityHandler.AtlasTransformableEntity;
 import org.slf4j.Logger;
@@ -31,35 +33,35 @@ import java.util.ArrayList;
 import java.util.Collections;
 
 
+
 public abstract class Action {
 private static final Logger LOG = LoggerFactory.getLogger(Action.class);
 
-private static final String ENTITY_KEY  = "__entity";
 private static final String ACTION_DELIMITER   = ":";
-private static final String ACTION_ADD_CLASSIFICATION  = 
"ADDCLASSIFICATION";
+private static final String ACTION_ADD_CLASSIFICATION  = 
"ADD_CLASSIFICATION";
 private static final String ACTION_NAME_SET= "SET";
 private static final String ACTION_NAME_REPLACE_PREFIX = "REPLACE_PREFIX";
 private static final String ACTION_NAME_TO_LOWER   = "TO_LOWER";
 private static final String ACTION_NAME_TO_UPPER   = "TO_UPPER";
 private static final String ACTION_NAME_CLEAR  = "CLEAR";
 
-protected final String attributeName;
+protected final EntityAttribute attribute;
 
 
-protected Action(String attributeName) {
-this.attributeName = attributeName;
+protected Action(EntityAttribute attribute) {
+this.attribute = attribute;
 }
 
-public String getAttributeName() { return attributeName; }
+public EntityAttribute getAttribute() { return attribute; }
 
 public boolean isValid() {
-return StringUtils.isNotEmpty(attributeName);
+return true;
 }
 
 public abstract void apply(AtlasTransformableEntity entity);
 
 
-public static Action createAction(String key, String value) {
+public static Action createAction(String key, String value, 
TransformerContext context) {
 if (LOG.isDebugEnabled()) {
 LOG.debug("==> Action.createAction(key={}, value={})", key, value);
 }
@@ -74,33 +76,35 @@ public abstract class Action {
 actionValue = StringUtils.trim(actionValue);
 value   = StringUtils.trim(value);
 
+EntityAttribute attribute = new EntityAttribute(StringUtils.trim(key), 
context);
+
 switch (actionName.toUpperCase()) {
 case ACTION_ADD_CLASSIFICATION:
-ret = new AddClassificationAction(actio

atlas git commit: ATLAS-2883: updated StructInstance.setNull() to handle all datatypes

2018-09-20 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 7b6e06124 -> a1a552537


ATLAS-2883: updated StructInstance.setNull() to handle all datatypes


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

Branch: refs/heads/branch-0.8
Commit: a1a552537763de89e95f3edde90136b55f947fc4
Parents: 7b6e061
Author: Madhan Neethiraj 
Authored: Thu Sep 20 14:33:35 2018 -0700
Committer: Madhan Neethiraj 
Committed: Thu Sep 20 16:17:07 2018 -0700

--
 .../atlas/typesystem/persistence/StructInstance.java  | 10 ++
 1 file changed, 10 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/a1a55253/typesystem/src/main/java/org/apache/atlas/typesystem/persistence/StructInstance.java
--
diff --git 
a/typesystem/src/main/java/org/apache/atlas/typesystem/persistence/StructInstance.java
 
b/typesystem/src/main/java/org/apache/atlas/typesystem/persistence/StructInstance.java
index 3136ae2..ef1486d 100755
--- 
a/typesystem/src/main/java/org/apache/atlas/typesystem/persistence/StructInstance.java
+++ 
b/typesystem/src/main/java/org/apache/atlas/typesystem/persistence/StructInstance.java
@@ -258,6 +258,16 @@ public class StructInstance implements ITypedStruct {
 ints[pos] = 0;
 } else if (i.dataType() == DataTypes.BOOLEAN_TYPE) {
 bools[pos] = false;
+} else if (i.dataType() == DataTypes.BYTE_TYPE) {
+bytes[pos] = 0;
+} else if (i.dataType() == DataTypes.SHORT_TYPE) {
+shorts[pos] = 0;
+} else if (i.dataType() == DataTypes.LONG_TYPE) {
+longs[pos] = 0;
+} else if (i.dataType() == DataTypes.FLOAT_TYPE) {
+floats[pos] = 0;
+} else if (i.dataType() == DataTypes.DOUBLE_TYPE) {
+doubles[pos] = 0;
 } else if (i.dataType() == DataTypes.STRING_TYPE) {
 strings[pos] = null;
 } else if (i.dataType().getTypeCategory() == 
DataTypes.TypeCategory.ENUM) {



atlas git commit: ATLAS-2878: avoid retrieval of entiyWithExtInfo when extInfo is not needed

2018-09-18 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 110db1a40 -> 16456800b


ATLAS-2878: avoid retrieval of entiyWithExtInfo when extInfo is not needed


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

Branch: refs/heads/branch-0.8
Commit: 16456800b2c11969cc17de3a6423b955a958a5b2
Parents: 110db1a
Author: Madhan Neethiraj 
Authored: Tue Sep 18 12:56:08 2018 -0700
Committer: Madhan Neethiraj 
Committed: Tue Sep 18 15:15:39 2018 -0700

--
 .../repository/graph/FullTextMapperV2.java  | 45 ++
 .../java/org/apache/atlas/RequestContext.java   | 49 +---
 .../NotificationHookConsumerTest.java   |  3 +-
 3 files changed, 69 insertions(+), 28 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/16456800/repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapperV2.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapperV2.java
 
b/repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapperV2.java
index 76acf8c..5b5158c 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapperV2.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/graph/FullTextMapperV2.java
@@ -73,8 +73,16 @@ public class FullTextMapperV2 {
  * @throws AtlasBaseException
  */
 public String getIndexTextForClassifications(String guid, 
List classifications) throws AtlasBaseException {
-String ret = null;
-AtlasEntityWithExtInfo entityWithExtInfo  = getAndCacheEntity(guid);
+String   ret = null;
+final AtlasEntityWithExtInfo entityWithExtInfo;
+
+if (followReferences) {
+entityWithExtInfo = getAndCacheEntityWithExtInfo(guid);
+} else {
+AtlasEntity entity = getAndCacheEntity(guid);
+
+entityWithExtInfo = entity != null ? new 
AtlasEntityWithExtInfo(entity) : null;
+}
 
 if (entityWithExtInfo != null) {
 StringBuilder sb = new StringBuilder();
@@ -100,13 +108,13 @@ public class FullTextMapperV2 {
 }
 
 public String getIndexTextForEntity(String guid) throws AtlasBaseException 
{
-String ret = null;
-AtlasEntityWithExtInfo entity  = getAndCacheEntity(guid);
+String  ret= null;
+AtlasEntity entity = getAndCacheEntity(guid);
 
 if (entity != null) {
 StringBuilder sb = new StringBuilder();
 
-map(entity.getEntity(), entity, sb, new HashSet());
+map(entity, null, sb, new HashSet());
 
 ret = sb.toString();
 }
@@ -165,7 +173,7 @@ public class FullTextMapperV2 {
 
 private void mapAttribute(Object value, AtlasEntityExtInfo entityExtInfo, 
StringBuilder sb, Set processedGuids) throws AtlasBaseException {
 if (value instanceof AtlasObjectId) {
-if (followReferences) {
+if (followReferences && entityExtInfo != null) {
 AtlasObjectId objectId = (AtlasObjectId) value;
 AtlasEntity   entity   = 
entityExtInfo.getEntity(objectId.getGuid());
 
@@ -202,9 +210,28 @@ public class FullTextMapperV2 {
 }
 }
 
-private AtlasEntityWithExtInfo getAndCacheEntity(String guid) throws 
AtlasBaseException {
-RequestContext context = RequestContext.get();
-AtlasEntityWithExtInfo entityWithExtInfo = context.getInstanceV2(guid);
+private AtlasEntity getAndCacheEntity(String guid) throws 
AtlasBaseException {
+RequestContext context = RequestContext.get();
+AtlasEntityentity  = context.getEntity(guid);
+
+if (entity == null) {
+entity = entityGraphRetriever.toAtlasEntity(guid);
+
+if (entity != null) {
+context.cache(entity);
+
+if (LOG.isDebugEnabled()) {
+LOG.debug("Cache miss -> GUID = {}", guid);
+}
+}
+}
+
+return entity;
+}
+
+private AtlasEntityWithExtInfo getAndCacheEntityWithExtInfo(String guid) 
throws AtlasBaseException {
+RequestContext context   = RequestContext.get();
+AtlasEntityWithExtInfo entityWithExtInfo = 
context.getEntityWithExtInfo(guid);
 
 if (entityWithExtInfo == null) {
 entityWithExtInfo = 
entityGraphRetriever.toAtlasEntityWithExtInfo(guid);

http://git-wip-us.apache.org/repos/asf/atlas/blob/16456800/server-api/src/main/java/org/apache/a

atlas git commit: ATLAS-2878: avoid retrieval of entiyWithExtInfo when extInfo is not needed

2018-09-18 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 a00875362 -> be96cd4aa


ATLAS-2878: avoid retrieval of entiyWithExtInfo when extInfo is not needed


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

Branch: refs/heads/branch-1.0
Commit: be96cd4aa327746d4c51cafb9653225f0fe6d15c
Parents: a008753
Author: Madhan Neethiraj 
Authored: Tue Sep 18 11:16:50 2018 -0700
Committer: Madhan Neethiraj 
Committed: Tue Sep 18 14:08:01 2018 -0700

--
 .../repository/audit/EntityAuditListenerV2.java |  6 +--
 .../converters/AtlasInstanceConverter.java  | 30 ++---
 .../repository/graph/FullTextMapperV2.java  | 45 
 .../graph/v2/AtlasEntityChangeNotifier.java |  9 ++--
 .../store/graph/v2/EntityGraphMapper.java   | 14 +++---
 .../java/org/apache/atlas/RequestContext.java   | 24 ---
 6 files changed, 90 insertions(+), 38 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/be96cd4a/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListenerV2.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListenerV2.java
 
b/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListenerV2.java
index 91e1f63..8ca8c9a 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListenerV2.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListenerV2.java
@@ -180,8 +180,7 @@ public class EntityAuditListenerV2 implements 
EntityChangeListenerV2 {
 List events = new ArrayList<>();
 
 for (AtlasRelatedObjectId relatedObjectId : entities) {
-AtlasEntityWithExtInfo entityWithExtInfo = 
instanceConverter.getAndCacheEntity(relatedObjectId.getGuid());
-AtlasEntityentity= (entityWithExtInfo 
!= null) ? entityWithExtInfo.getEntity() : null;
+AtlasEntity entity = 
instanceConverter.getAndCacheEntity(relatedObjectId.getGuid());
 
 if (entity != null) {
 events.add(createEvent(entity, TERM_ADD, "Added term: " + 
term.toAuditString()));
@@ -198,8 +197,7 @@ public class EntityAuditListenerV2 implements 
EntityChangeListenerV2 {
 List events = new ArrayList<>();
 
 for (AtlasRelatedObjectId relatedObjectId : entities) {
-AtlasEntityWithExtInfo entityWithExtInfo = 
instanceConverter.getAndCacheEntity(relatedObjectId.getGuid());
-AtlasEntityentity= (entityWithExtInfo 
!= null) ? entityWithExtInfo.getEntity() : null;
+AtlasEntity entity = 
instanceConverter.getAndCacheEntity(relatedObjectId.getGuid());
 
 if (entity != null) {
 events.add(createEvent(entity, TERM_DELETE, "Deleted term: 
" + term.toAuditString()));

http://git-wip-us.apache.org/repos/asf/atlas/blob/be96cd4a/repository/src/main/java/org/apache/atlas/repository/converters/AtlasInstanceConverter.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/converters/AtlasInstanceConverter.java
 
b/repository/src/main/java/org/apache/atlas/repository/converters/AtlasInstanceConverter.java
index b26b353..1f0cc86 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/converters/AtlasInstanceConverter.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/converters/AtlasInstanceConverter.java
@@ -28,6 +28,7 @@ import org.apache.atlas.model.TypeCategory;
 import org.apache.atlas.model.instance.AtlasClassification;
 import org.apache.atlas.model.instance.AtlasEntity;
 import org.apache.atlas.model.instance.AtlasEntity.AtlasEntitiesWithExtInfo;
+import org.apache.atlas.model.instance.AtlasEntity.AtlasEntityWithExtInfo;
 import org.apache.atlas.model.instance.AtlasEntityHeader;
 import org.apache.atlas.model.instance.EntityMutationResponse;
 import org.apache.atlas.model.instance.EntityMutations.EntityOperation;
@@ -94,12 +95,12 @@ public class AtlasInstanceConverter {
 }
 
 public Referenceable getReferenceable(String guid) throws 
AtlasBaseException {
-AtlasEntity.AtlasEntityWithExtInfo entity = getAndCacheEntity(guid);
+AtlasEntityWithExtInfo entity = getAndCacheEntityExtInfo(guid);
 
 return getReferenceable(entity);
 }
 
-public Referenceable getReferenceable(AtlasEntity.AtlasEntityWithExtInfo 
entity) throws AtlasBaseException {
+pu

atlas git commit: ATLAS-2878: avoid retrieval of entiyWithExtInfo when extInfo is not needed

2018-09-18 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master 48e522497 -> a064e0924


ATLAS-2878: avoid retrieval of entiyWithExtInfo when extInfo is not needed

(cherry picked from commit 8e7ecf72f32ef6ca282a314d85761742e229a48b)


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

Branch: refs/heads/master
Commit: a064e09242a0b1259d7b1227913786d2fb98f695
Parents: 48e5224
Author: Madhan Neethiraj 
Authored: Tue Sep 18 11:16:50 2018 -0700
Committer: Madhan Neethiraj 
Committed: Tue Sep 18 11:35:24 2018 -0700

--
 .../repository/audit/EntityAuditListenerV2.java |  6 +--
 .../converters/AtlasInstanceConverter.java  | 30 ++---
 .../repository/graph/FullTextMapperV2.java  | 45 
 .../graph/v2/AtlasEntityChangeNotifier.java |  9 ++--
 .../store/graph/v2/EntityGraphMapper.java   | 14 +++---
 .../java/org/apache/atlas/RequestContext.java   | 24 ---
 6 files changed, 90 insertions(+), 38 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/a064e092/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListenerV2.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListenerV2.java
 
b/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListenerV2.java
index 91e1f63..8ca8c9a 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListenerV2.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListenerV2.java
@@ -180,8 +180,7 @@ public class EntityAuditListenerV2 implements 
EntityChangeListenerV2 {
 List events = new ArrayList<>();
 
 for (AtlasRelatedObjectId relatedObjectId : entities) {
-AtlasEntityWithExtInfo entityWithExtInfo = 
instanceConverter.getAndCacheEntity(relatedObjectId.getGuid());
-AtlasEntityentity= (entityWithExtInfo 
!= null) ? entityWithExtInfo.getEntity() : null;
+AtlasEntity entity = 
instanceConverter.getAndCacheEntity(relatedObjectId.getGuid());
 
 if (entity != null) {
 events.add(createEvent(entity, TERM_ADD, "Added term: " + 
term.toAuditString()));
@@ -198,8 +197,7 @@ public class EntityAuditListenerV2 implements 
EntityChangeListenerV2 {
 List events = new ArrayList<>();
 
 for (AtlasRelatedObjectId relatedObjectId : entities) {
-AtlasEntityWithExtInfo entityWithExtInfo = 
instanceConverter.getAndCacheEntity(relatedObjectId.getGuid());
-AtlasEntityentity= (entityWithExtInfo 
!= null) ? entityWithExtInfo.getEntity() : null;
+AtlasEntity entity = 
instanceConverter.getAndCacheEntity(relatedObjectId.getGuid());
 
 if (entity != null) {
 events.add(createEvent(entity, TERM_DELETE, "Deleted term: 
" + term.toAuditString()));

http://git-wip-us.apache.org/repos/asf/atlas/blob/a064e092/repository/src/main/java/org/apache/atlas/repository/converters/AtlasInstanceConverter.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/converters/AtlasInstanceConverter.java
 
b/repository/src/main/java/org/apache/atlas/repository/converters/AtlasInstanceConverter.java
index b26b353..1f0cc86 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/converters/AtlasInstanceConverter.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/converters/AtlasInstanceConverter.java
@@ -28,6 +28,7 @@ import org.apache.atlas.model.TypeCategory;
 import org.apache.atlas.model.instance.AtlasClassification;
 import org.apache.atlas.model.instance.AtlasEntity;
 import org.apache.atlas.model.instance.AtlasEntity.AtlasEntitiesWithExtInfo;
+import org.apache.atlas.model.instance.AtlasEntity.AtlasEntityWithExtInfo;
 import org.apache.atlas.model.instance.AtlasEntityHeader;
 import org.apache.atlas.model.instance.EntityMutationResponse;
 import org.apache.atlas.model.instance.EntityMutations.EntityOperation;
@@ -94,12 +95,12 @@ public class AtlasInstanceConverter {
 }
 
 public Referenceable getReferenceable(String guid) throws 
AtlasBaseException {
-AtlasEntity.AtlasEntityWithExtInfo entity = getAndCacheEntity(guid);
+AtlasEntityWithExtInfo entity = getAndCacheEntityExtInfo(guid);
 
 return getReferenceable(entity);
 }
 
-public Referenceable getReferenceable(AtlasEntity.AtlasEntityWithExtInfo

atlas git commit: ATLAS-2872: updated HiveHook to purge name cache periodically

2018-09-18 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 2f7348988 -> 110db1a40


ATLAS-2872: updated HiveHook to purge name cache periodically


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

Branch: refs/heads/branch-0.8
Commit: 110db1a40b84b9a5ad2590233ee3f03eeae2ec78
Parents: 2f73489
Author: Madhan Neethiraj 
Authored: Thu Sep 13 18:21:31 2018 -0700
Committer: Madhan Neethiraj 
Committed: Tue Sep 18 12:01:21 2018 -0700

--
 .../atlas/hive/hook/AtlasHiveHookContext.java   |  50 +---
 .../org/apache/atlas/hive/hook/HiveHook.java| 126 ---
 2 files changed, 112 insertions(+), 64 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/110db1a4/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
--
diff --git 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
index c31d94c..b9e4256 100644
--- 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
+++ 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/AtlasHiveHookContext.java
@@ -19,10 +19,10 @@
 package org.apache.atlas.hive.hook;
 
 import org.apache.atlas.model.instance.AtlasEntity;
+import org.apache.atlas.hive.hook.HiveHook.HiveHookObjectNamesCache;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.RandomStringUtils;
 import org.apache.hadoop.hive.metastore.api.Database;
-import org.apache.hadoop.hive.ql.hooks.Entity;
 import org.apache.hadoop.hive.ql.hooks.HookContext;
 import org.apache.hadoop.hive.ql.hooks.WriteEntity;
 import org.apache.hadoop.hive.ql.metadata.Hive;
@@ -46,12 +46,14 @@ public class AtlasHiveHookContext {
 private final HookContext  hiveContext;
 private final Hive hive;
 private final Map qNameEntityMap = new HashMap<>();
+private final HiveHookObjectNamesCache knownObjects;
 
-public AtlasHiveHookContext(HiveHook hook, HiveOperation hiveOperation, 
HookContext hiveContext) throws Exception {
+public AtlasHiveHookContext(HiveHook hook, HiveOperation hiveOperation, 
HookContext hiveContext, HiveHookObjectNamesCache knownObjects) throws 
Exception {
 this.hook  = hook;
 this.hiveOperation = hiveOperation;
 this.hiveContext   = hiveContext;
 this.hive  = Hive.get(hiveContext.getConf());
+this.knownObjects  = knownObjects;
 
 init();
 }
@@ -102,39 +104,47 @@ public class AtlasHiveHookContext {
 }
 
 public boolean isKnownDatabase(String dbQualifiedName) {
-return hook.isKnownDatabase(dbQualifiedName);
+return knownObjects != null && dbQualifiedName != null ? 
knownObjects.isKnownDatabase(dbQualifiedName) : false;
 }
 
 public boolean isKnownTable(String tblQualifiedName) {
-return hook.isKnownTable(tblQualifiedName);
+return knownObjects != null && tblQualifiedName != null ? 
knownObjects.isKnownTable(tblQualifiedName) : false;
 }
 
 public void addToKnownEntities(Collection entities) {
-hook.addToKnownEntities(entities);
+if (knownObjects != null && entities != null) {
+knownObjects.addToKnownEntities(entities);
+}
 }
 
 public void removeFromKnownDatabase(String dbQualifiedName) {
-hook.removeFromKnownDatabase(dbQualifiedName);
+if (knownObjects != null && dbQualifiedName != null) {
+knownObjects.removeFromKnownDatabase(dbQualifiedName);
+}
 }
 
 public void removeFromKnownTable(String tblQualifiedName) {
-hook.removeFromKnownTable(tblQualifiedName);
+if (knownObjects != null && tblQualifiedName != null) {
+knownObjects.removeFromKnownTable(tblQualifiedName);
+}
 }
 
 private void init() {
-String operationName = hiveContext.getOperationName();
-
-if (operationName != null && operationName.startsWith("CREATE") || 
operationName.startsWith("ALTER")) {
-if (CollectionUtils.isNotEmpty(hiveContext.getOutputs())) {
-for (WriteEntity output : hiveContext.getOutputs()) {
-switch (output.getType()) {
-case DATABASE:
-
hook.removeFromKnownDatabase(getQualifiedName(output.getDatabase()));
-break;
-
-case TA

atlas git commit: ATLAS-2634: Avoid duplicate message processing.

2018-09-18 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 37f59dc95 -> 2f7348988


ATLAS-2634: Avoid duplicate message processing.

Signed-off-by: Ashutosh Mestry 
(cherry picked from commit f29a2b7bb2b555e68d7f5e2b43221f85877aa39c)


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

Branch: refs/heads/branch-0.8
Commit: 2f7348988b992e8a9e5a71cf1a483803fa7d6db8
Parents: 37f59dc
Author: Ashutosh Mestry 
Authored: Thu May 3 16:22:10 2018 -0700
Committer: Madhan Neethiraj 
Committed: Tue Sep 18 10:58:21 2018 -0700

--
 .../apache/atlas/kafka/KafkaNotification.java   |  3 +-
 .../notification/NotificationHookConsumer.java  | 42 +++-
 .../NotificationHookConsumerKafkaTest.java  | 67 
 3 files changed, 108 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/2f734898/notification/src/main/java/org/apache/atlas/kafka/KafkaNotification.java
--
diff --git 
a/notification/src/main/java/org/apache/atlas/kafka/KafkaNotification.java 
b/notification/src/main/java/org/apache/atlas/kafka/KafkaNotification.java
index 4c63027..4c753d2 100644
--- a/notification/src/main/java/org/apache/atlas/kafka/KafkaNotification.java
+++ b/notification/src/main/java/org/apache/atlas/kafka/KafkaNotification.java
@@ -245,8 +245,9 @@ public class KafkaNotification extends AbstractNotification 
implements Service {
 }
 
 
+@VisibleForTesting
 // Get properties for consumer request
-private Properties getConsumerProperties(NotificationType type) {
+public Properties getConsumerProperties(NotificationType type) {
 // find the configured group id for the given notification type
 String groupId = properties.getProperty(type.toString().toLowerCase() 
+ "." + CONSUMER_GROUP_ID_PROPERTY);
 

http://git-wip-us.apache.org/repos/asf/atlas/blob/2f734898/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
--
diff --git 
a/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
 
b/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
index 88a8cce..1a567af 100644
--- 
a/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
+++ 
b/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
@@ -286,10 +286,13 @@ public class NotificationHookConsumer implements Service, 
ActiveStateChangeHandl
 private final List  
failedMessages = new ArrayList<>();
 private final AdaptiveWaiter
adaptiveWaiter = new AdaptiveWaiter(minWaitDuration, maxWaitDuration, 
minWaitDuration);
 
+@VisibleForTesting
+final FailedCommitOffsetRecorder failedCommitOffsetRecorder;
 
 public HookConsumer(NotificationConsumer 
consumer) {
 super("atlas-hook-consumer-thread", false);
 this.consumer = consumer;
+failedCommitOffsetRecorder = new FailedCommitOffsetRecorder();
 }
 
 @Override
@@ -342,6 +345,11 @@ public class NotificationHookConsumer implements Service, 
ActiveStateChangeHandl
 }
 
 try {
+
if(failedCommitOffsetRecorder.isMessageReplayed(kafkaMsg.getOffset())) {
+commit(kafkaMsg);
+return;
+}
+
 // Used for intermediate conversions during create and update
 for (int numRetries = 0; numRetries < maxRetries; 
numRetries++) {
 if (LOG.isDebugEnabled()) {
@@ -538,9 +546,17 @@ public class NotificationHookConsumer implements Service, 
ActiveStateChangeHandl
 }
 
 private void commit(AtlasKafkaMessage 
kafkaMessage) {
-recordFailedMessages();
-TopicPartition partition = new TopicPartition("ATLAS_HOOK", 
kafkaMessage.getPartition());
-consumer.commit(partition, kafkaMessage.getOffset() + 1);
+boolean commitSucceessStatus = false;
+try {
+recordFailedMessages();
+
+TopicPartition partition = new TopicPartition("ATLAS_HOOK", 
kafkaMessage.getPartition());
+
+consumer.commit(partition, kafkaMessage.getOffset() + 1);
+commitSucceessStatus = true;
+} finally {
+
failedCommitOffsetRecorder.recordIfFailed(commitSucceessStatus, 
kafkaMessage.getOffset());
+}
 

atlas git commit: ATLAS-2877: updated notification processing to wait only before retry

2018-09-18 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 dc5ebabe1 -> 37f59dc95


ATLAS-2877: updated notification processing to wait only before retry

(cherry picked from commit 48e522497f960ac9cc54853c3cb0e9af3e0111f3)


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

Branch: refs/heads/branch-0.8
Commit: 37f59dc954d5e2575d2068d80ffa5057e07266e0
Parents: dc5ebab
Author: Madhan Neethiraj 
Authored: Tue Sep 18 09:01:25 2018 -0700
Committer: Madhan Neethiraj 
Committed: Tue Sep 18 10:39:14 2018 -0700

--
 .../notification/NotificationHookConsumer.java  | 38 +++-
 1 file changed, 22 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/37f59dc9/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
--
diff --git 
a/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
 
b/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
index 475be9a..88a8cce 100644
--- 
a/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
+++ 
b/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
@@ -282,10 +282,10 @@ public class NotificationHookConsumer implements Service, 
ActiveStateChangeHandl
 @VisibleForTesting
 class HookConsumer extends ShutdownableThread {
 private final NotificationConsumer consumer;
-private final AtomicBoolean shouldRun = new AtomicBoolean(false);
-private List failedMessages = new 
ArrayList<>();
+private final AtomicBoolean shouldRun  
= new AtomicBoolean(false);
+private final List  
failedMessages = new ArrayList<>();
+private final AdaptiveWaiter
adaptiveWaiter = new AdaptiveWaiter(minWaitDuration, maxWaitDuration, 
minWaitDuration);
 
-private final AdaptiveWaiter adaptiveWaiter = new 
AdaptiveWaiter(minWaitDuration, maxWaitDuration, minWaitDuration);
 
 public HookConsumer(NotificationConsumer 
consumer) {
 super("atlas-hook-consumer-thread", false);
@@ -496,21 +496,27 @@ public class NotificationHookConsumer implements Service, 
ActiveStateChangeHandl
 } catch (Throwable e) {
 RequestContextV1.get().resetEntityGuidUpdates();
 
-LOG.warn("Error handling message", e);
-try {
-LOG.info("Sleeping for {} ms before retry", 
consumerRetryInterval);
-Thread.sleep(consumerRetryInterval);
-} catch (InterruptedException ie) {
-LOG.error("Notification consumer thread sleep 
interrupted");
-}
-
 if (numRetries == (maxRetries - 1)) {
-LOG.warn("Max retries exceeded for message {}", 
message, e);
-failedMessages.add(message);
+String strMessage = 
AbstractNotification.getMessageJson(message);
+
+LOG.warn("Max retries exceeded for message {}", 
strMessage, e);
+
+failedMessages.add(strMessage);
+
 if (failedMessages.size() >= failedMsgCacheSize) {
 recordFailedMessages();
 }
 return;
+} else {
+LOG.warn("Error handling message", e);
+
+try {
+LOG.info("Sleeping for {} ms before retry", 
consumerRetryInterval);
+
+Thread.sleep(consumerRetryInterval);
+} catch (InterruptedException ie) {
+LOG.error("Notification consumer thread sleep 
interrupted");
+}
 }
 } finally {
 RequestContext.clear();
@@ -525,8 +531,8 @@ public class NotificationHookConsumer implements Service, 
ActiveStateChangeHandl
 
 private void recordFailedMessages() {
 //logging failed messages
-for (HookNotificationMessage message : failedMessages) {
-FAILED_LOG.error("[DROPPED_NOTIFICATION] {}", 
AbstractNotific

atlas git commit: ATLAS-2877: updated notification processing to wait only before retry

2018-09-18 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 ea5de9b11 -> dd29cb91c


ATLAS-2877: updated notification processing to wait only before retry

(cherry picked from commit 48e522497f960ac9cc54853c3cb0e9af3e0111f3)


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

Branch: refs/heads/branch-1.0
Commit: dd29cb91c074e3f23a9b305a5e6406c47ac5040e
Parents: ea5de9b
Author: Madhan Neethiraj 
Authored: Tue Sep 18 09:01:25 2018 -0700
Committer: Madhan Neethiraj 
Committed: Tue Sep 18 10:17:08 2018 -0700

--
 .../notification/NotificationHookConsumer.java  | 31 +++-
 1 file changed, 17 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/dd29cb91/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
--
diff --git 
a/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
 
b/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
index d680e4e..9f832b9 100644
--- 
a/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
+++ 
b/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
@@ -294,7 +294,7 @@ public class NotificationHookConsumer implements Service, 
ActiveStateChangeHandl
 class HookConsumer extends ShutdownableThread {
 private final NotificationConsumer consumer;
 private final AtomicBoolean  shouldRun  = 
new AtomicBoolean(false);
-private final List failedMessages = 
new ArrayList<>();
+private final List   failedMessages = 
new ArrayList<>();
 private final AdaptiveWaiter adaptiveWaiter = 
new AdaptiveWaiter(minWaitDuration, maxWaitDuration, minWaitDuration);
 
 @VisibleForTesting
@@ -523,26 +523,29 @@ public class NotificationHookConsumer implements Service, 
ActiveStateChangeHandl
 } catch (Throwable e) {
 RequestContext.get().resetEntityGuidUpdates();
 
-LOG.warn("Error handling message", e);
-try {
-LOG.info("Sleeping for {} ms before retry", 
consumerRetryInterval);
-
-Thread.sleep(consumerRetryInterval);
-} catch (InterruptedException ie) {
-LOG.error("Notification consumer thread sleep 
interrupted");
-}
-
 if (numRetries == (maxRetries - 1)) {
-LOG.warn("Max retries exceeded for message {}", 
message, e);
+String strMessage = 
AbstractNotification.getMessageJson(message);
+
+LOG.warn("Max retries exceeded for message {}", 
strMessage, e);
 
 isFailedMsg = true;
 
-failedMessages.add(message);
+failedMessages.add(strMessage);
 
 if (failedMessages.size() >= failedMsgCacheSize) {
 recordFailedMessages();
 }
 return;
+} else {
+LOG.warn("Error handling message", e);
+
+try {
+LOG.info("Sleeping for {} ms before retry", 
consumerRetryInterval);
+
+Thread.sleep(consumerRetryInterval);
+} catch (InterruptedException ie) {
+LOG.error("Notification consumer thread sleep 
interrupted");
+}
 }
 } finally {
 RequestContext.clear();
@@ -564,8 +567,8 @@ public class NotificationHookConsumer implements Service, 
ActiveStateChangeHandl
 
 private void recordFailedMessages() {
 //logging failed messages
-for (HookNotification message : failedMessages) {
-FAILED_LOG.error("[DROPPED_NOTIFICATION] {}", 
AbstractNotification.getMessageJson(message));
+for (String message : failedMessages) {
+FAILED_LOG.error("[DROPPED_NOTIFICATION] {}", message);
 }
 
 failedMessages.clear();



atlas git commit: ATLAS-2877: updated notification processing to wait only before retry

2018-09-18 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master 3176d1a1e -> 48e522497


ATLAS-2877: updated notification processing to wait only before retry


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

Branch: refs/heads/master
Commit: 48e522497f960ac9cc54853c3cb0e9af3e0111f3
Parents: 3176d1a
Author: Madhan Neethiraj 
Authored: Tue Sep 18 09:01:25 2018 -0700
Committer: Madhan Neethiraj 
Committed: Tue Sep 18 09:10:59 2018 -0700

--
 .../notification/NotificationHookConsumer.java  | 31 +++-
 1 file changed, 17 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/48e52249/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
--
diff --git 
a/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
 
b/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
index d680e4e..9f832b9 100644
--- 
a/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
+++ 
b/webapp/src/main/java/org/apache/atlas/notification/NotificationHookConsumer.java
@@ -294,7 +294,7 @@ public class NotificationHookConsumer implements Service, 
ActiveStateChangeHandl
 class HookConsumer extends ShutdownableThread {
 private final NotificationConsumer consumer;
 private final AtomicBoolean  shouldRun  = 
new AtomicBoolean(false);
-private final List failedMessages = 
new ArrayList<>();
+private final List   failedMessages = 
new ArrayList<>();
 private final AdaptiveWaiter adaptiveWaiter = 
new AdaptiveWaiter(minWaitDuration, maxWaitDuration, minWaitDuration);
 
 @VisibleForTesting
@@ -523,26 +523,29 @@ public class NotificationHookConsumer implements Service, 
ActiveStateChangeHandl
 } catch (Throwable e) {
 RequestContext.get().resetEntityGuidUpdates();
 
-LOG.warn("Error handling message", e);
-try {
-LOG.info("Sleeping for {} ms before retry", 
consumerRetryInterval);
-
-Thread.sleep(consumerRetryInterval);
-} catch (InterruptedException ie) {
-LOG.error("Notification consumer thread sleep 
interrupted");
-}
-
 if (numRetries == (maxRetries - 1)) {
-LOG.warn("Max retries exceeded for message {}", 
message, e);
+String strMessage = 
AbstractNotification.getMessageJson(message);
+
+LOG.warn("Max retries exceeded for message {}", 
strMessage, e);
 
 isFailedMsg = true;
 
-failedMessages.add(message);
+failedMessages.add(strMessage);
 
 if (failedMessages.size() >= failedMsgCacheSize) {
 recordFailedMessages();
 }
 return;
+} else {
+LOG.warn("Error handling message", e);
+
+try {
+LOG.info("Sleeping for {} ms before retry", 
consumerRetryInterval);
+
+Thread.sleep(consumerRetryInterval);
+} catch (InterruptedException ie) {
+LOG.error("Notification consumer thread sleep 
interrupted");
+}
 }
 } finally {
 RequestContext.clear();
@@ -564,8 +567,8 @@ public class NotificationHookConsumer implements Service, 
ActiveStateChangeHandl
 
 private void recordFailedMessages() {
 //logging failed messages
-for (HookNotification message : failedMessages) {
-FAILED_LOG.error("[DROPPED_NOTIFICATION] {}", 
AbstractNotification.getMessageJson(message));
+for (String message : failedMessages) {
+FAILED_LOG.error("[DROPPED_NOTIFICATION] {}", message);
 }
 
 failedMessages.clear();



atlas git commit: ATLAS-2860: Remove dependency on atlas-application.properties for AtlasClient.

2018-09-17 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 9e76ed2eb -> 042f5c2e7


ATLAS-2860: Remove dependency on atlas-application.properties for AtlasClient.

Signed-off-by: Madhan Neethiraj 
(cherry picked from commit 6b953b59c4b1eb05ee4ddd2234b81cd98451ccc2)


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

Branch: refs/heads/branch-1.0
Commit: 042f5c2e7a6ab4b18ec0e114a9b324896e866e54
Parents: 9e76ed2
Author: Ashutosh Mestry 
Authored: Fri Sep 14 14:36:18 2018 -0700
Committer: Madhan Neethiraj 
Committed: Mon Sep 17 15:20:48 2018 -0700

--
 .../java/org/apache/atlas/hbase/HBaseAtlasHookIT.java |  4 ++--
 .../main/java/org/apache/atlas/AtlasBaseClient.java   |  2 +-
 .../org/apache/atlas/security/SecureClientUtils.java  |  7 +++
 .../java/org/apache/atlas/ApplicationProperties.java  | 14 --
 4 files changed, 18 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/042f5c2e/addons/hbase-bridge/src/test/java/org/apache/atlas/hbase/HBaseAtlasHookIT.java
--
diff --git 
a/addons/hbase-bridge/src/test/java/org/apache/atlas/hbase/HBaseAtlasHookIT.java
 
b/addons/hbase-bridge/src/test/java/org/apache/atlas/hbase/HBaseAtlasHookIT.java
index c0d0318..15bfbe3 100644
--- 
a/addons/hbase-bridge/src/test/java/org/apache/atlas/hbase/HBaseAtlasHookIT.java
+++ 
b/addons/hbase-bridge/src/test/java/org/apache/atlas/hbase/HBaseAtlasHookIT.java
@@ -148,7 +148,7 @@ public class HBaseAtlasHookIT {
 private void createAtlasClient() {
 try {
 org.apache.commons.configuration.Configuration configuration = 
ApplicationProperties.get();
-String[]   atlasEndPoint = 
configuration.getStringArray(HBaseAtlasHook.ATTR_ATLAS_ENDPOINT);
+String[] atlasEndPoint = 
configuration.getStringArray(HBaseAtlasHook.ATTR_ATLAS_ENDPOINT);
 
 configuration.setProperty("atlas.cluster.name", CLUSTER_NAME);
 
@@ -163,7 +163,7 @@ public class HBaseAtlasHookIT {
 }
 
 if (AuthenticationUtil.isKerberosAuthenticationEnabled()) {
-atlasClient = new AtlasClientV2(configuration, atlasEndPoint, 
null);
+atlasClient = new AtlasClientV2(atlasEndPoint);
 } else {
 atlasClient = new AtlasClientV2(configuration, atlasEndPoint, 
new String[]{"admin", "admin"});
 }

http://git-wip-us.apache.org/repos/asf/atlas/blob/042f5c2e/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
--
diff --git a/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java 
b/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
index 4464ade..7ca656d 100644
--- a/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
+++ b/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
@@ -258,7 +258,7 @@ public abstract class AtlasBaseClient {
 // to create a
 // configuration object, persist it, then subsequently pass in an 
empty configuration to SSLFactory
 try {
-SecureClientUtils.persistSSLClientConfiguration(configuration);
+SecureClientUtils.persistSSLClientConfiguration(configuration, 
System.getProperty("atlas.conf") );
 } catch (Exception e) {
 LOG.info("Error processing client configuration.", e);
 }

http://git-wip-us.apache.org/repos/asf/atlas/blob/042f5c2e/client/common/src/main/java/org/apache/atlas/security/SecureClientUtils.java
--
diff --git 
a/client/common/src/main/java/org/apache/atlas/security/SecureClientUtils.java 
b/client/common/src/main/java/org/apache/atlas/security/SecureClientUtils.java
index d5392b2..550ef5a 100644
--- 
a/client/common/src/main/java/org/apache/atlas/security/SecureClientUtils.java
+++ 
b/client/common/src/main/java/org/apache/atlas/security/SecureClientUtils.java
@@ -163,8 +163,7 @@ public class SecureClientUtils {
 connection.setReadTimeout(socketTimeout);
 }
 
-private static File getSSLClientFile() throws AtlasException {
-String confLocation = System.getProperty("atlas.conf");
+private static File getSSLClientFile(String confLocation) throws 
AtlasException {
 File sslDir;
 try {
 if (confLocation == null) {
@@ -185,11 +184,11 @@ public class SecureClientUtils {
 r

atlas git commit: ATLAS-2860: Remove dependency on atlas-application.properties for AtlasClient.

2018-09-17 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master eae976187 -> 3176d1a1e


ATLAS-2860: Remove dependency on atlas-application.properties for AtlasClient.

Signed-off-by: Madhan Neethiraj 
(cherry picked from commit 6b953b59c4b1eb05ee4ddd2234b81cd98451ccc2)


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

Branch: refs/heads/master
Commit: 3176d1a1e4eab9916b7fa0498d8c5a99a7a1382d
Parents: eae9761
Author: Ashutosh Mestry 
Authored: Fri Sep 14 14:36:18 2018 -0700
Committer: Madhan Neethiraj 
Committed: Mon Sep 17 14:57:35 2018 -0700

--
 .../java/org/apache/atlas/hbase/HBaseAtlasHookIT.java |  4 ++--
 .../main/java/org/apache/atlas/AtlasBaseClient.java   |  2 +-
 .../org/apache/atlas/security/SecureClientUtils.java  |  7 +++
 .../java/org/apache/atlas/ApplicationProperties.java  | 14 --
 4 files changed, 18 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/3176d1a1/addons/hbase-bridge/src/test/java/org/apache/atlas/hbase/HBaseAtlasHookIT.java
--
diff --git 
a/addons/hbase-bridge/src/test/java/org/apache/atlas/hbase/HBaseAtlasHookIT.java
 
b/addons/hbase-bridge/src/test/java/org/apache/atlas/hbase/HBaseAtlasHookIT.java
index c0d0318..15bfbe3 100644
--- 
a/addons/hbase-bridge/src/test/java/org/apache/atlas/hbase/HBaseAtlasHookIT.java
+++ 
b/addons/hbase-bridge/src/test/java/org/apache/atlas/hbase/HBaseAtlasHookIT.java
@@ -148,7 +148,7 @@ public class HBaseAtlasHookIT {
 private void createAtlasClient() {
 try {
 org.apache.commons.configuration.Configuration configuration = 
ApplicationProperties.get();
-String[]   atlasEndPoint = 
configuration.getStringArray(HBaseAtlasHook.ATTR_ATLAS_ENDPOINT);
+String[] atlasEndPoint = 
configuration.getStringArray(HBaseAtlasHook.ATTR_ATLAS_ENDPOINT);
 
 configuration.setProperty("atlas.cluster.name", CLUSTER_NAME);
 
@@ -163,7 +163,7 @@ public class HBaseAtlasHookIT {
 }
 
 if (AuthenticationUtil.isKerberosAuthenticationEnabled()) {
-atlasClient = new AtlasClientV2(configuration, atlasEndPoint, 
null);
+atlasClient = new AtlasClientV2(atlasEndPoint);
 } else {
 atlasClient = new AtlasClientV2(configuration, atlasEndPoint, 
new String[]{"admin", "admin"});
 }

http://git-wip-us.apache.org/repos/asf/atlas/blob/3176d1a1/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
--
diff --git a/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java 
b/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
index 4464ade..7ca656d 100644
--- a/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
+++ b/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
@@ -258,7 +258,7 @@ public abstract class AtlasBaseClient {
 // to create a
 // configuration object, persist it, then subsequently pass in an 
empty configuration to SSLFactory
 try {
-SecureClientUtils.persistSSLClientConfiguration(configuration);
+SecureClientUtils.persistSSLClientConfiguration(configuration, 
System.getProperty("atlas.conf") );
 } catch (Exception e) {
 LOG.info("Error processing client configuration.", e);
 }

http://git-wip-us.apache.org/repos/asf/atlas/blob/3176d1a1/client/common/src/main/java/org/apache/atlas/security/SecureClientUtils.java
--
diff --git 
a/client/common/src/main/java/org/apache/atlas/security/SecureClientUtils.java 
b/client/common/src/main/java/org/apache/atlas/security/SecureClientUtils.java
index d5392b2..550ef5a 100644
--- 
a/client/common/src/main/java/org/apache/atlas/security/SecureClientUtils.java
+++ 
b/client/common/src/main/java/org/apache/atlas/security/SecureClientUtils.java
@@ -163,8 +163,7 @@ public class SecureClientUtils {
 connection.setReadTimeout(socketTimeout);
 }
 
-private static File getSSLClientFile() throws AtlasException {
-String confLocation = System.getProperty("atlas.conf");
+private static File getSSLClientFile(String confLocation) throws 
AtlasException {
 File sslDir;
 try {
 if (confLocation == null) {
@@ -185,11 +184,11 @@ public class SecureClientUtils {
 return new File(sslDir, 

atlas git commit: ATLAS-2860: Remove dependency on atlas-application.properties for AtlasClient.

2018-09-17 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 fb635ece9 -> 6b953b59c


ATLAS-2860: Remove dependency on atlas-application.properties for AtlasClient.

Signed-off-by: Madhan Neethiraj 


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

Branch: refs/heads/branch-0.8
Commit: 6b953b59c4b1eb05ee4ddd2234b81cd98451ccc2
Parents: fb635ec
Author: Ashutosh Mestry 
Authored: Fri Sep 14 14:36:18 2018 -0700
Committer: Madhan Neethiraj 
Committed: Mon Sep 17 14:40:14 2018 -0700

--
 .../java/org/apache/atlas/hbase/HBaseAtlasHookIT.java |  4 ++--
 .../main/java/org/apache/atlas/AtlasBaseClient.java   |  2 +-
 .../org/apache/atlas/security/SecureClientUtils.java  |  7 +++
 .../java/org/apache/atlas/ApplicationProperties.java  | 14 --
 4 files changed, 18 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/6b953b59/addons/hbase-bridge/src/test/java/org/apache/atlas/hbase/HBaseAtlasHookIT.java
--
diff --git 
a/addons/hbase-bridge/src/test/java/org/apache/atlas/hbase/HBaseAtlasHookIT.java
 
b/addons/hbase-bridge/src/test/java/org/apache/atlas/hbase/HBaseAtlasHookIT.java
index c0d0318..15bfbe3 100644
--- 
a/addons/hbase-bridge/src/test/java/org/apache/atlas/hbase/HBaseAtlasHookIT.java
+++ 
b/addons/hbase-bridge/src/test/java/org/apache/atlas/hbase/HBaseAtlasHookIT.java
@@ -148,7 +148,7 @@ public class HBaseAtlasHookIT {
 private void createAtlasClient() {
 try {
 org.apache.commons.configuration.Configuration configuration = 
ApplicationProperties.get();
-String[]   atlasEndPoint = 
configuration.getStringArray(HBaseAtlasHook.ATTR_ATLAS_ENDPOINT);
+String[] atlasEndPoint = 
configuration.getStringArray(HBaseAtlasHook.ATTR_ATLAS_ENDPOINT);
 
 configuration.setProperty("atlas.cluster.name", CLUSTER_NAME);
 
@@ -163,7 +163,7 @@ public class HBaseAtlasHookIT {
 }
 
 if (AuthenticationUtil.isKerberosAuthenticationEnabled()) {
-atlasClient = new AtlasClientV2(configuration, atlasEndPoint, 
null);
+atlasClient = new AtlasClientV2(atlasEndPoint);
 } else {
 atlasClient = new AtlasClientV2(configuration, atlasEndPoint, 
new String[]{"admin", "admin"});
 }

http://git-wip-us.apache.org/repos/asf/atlas/blob/6b953b59/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
--
diff --git a/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java 
b/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
index d6f767e..ad92191 100644
--- a/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
+++ b/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
@@ -272,7 +272,7 @@ public abstract class AtlasBaseClient {
 // to create a
 // configuration object, persist it, then subsequently pass in an 
empty configuration to SSLFactory
 try {
-SecureClientUtils.persistSSLClientConfiguration(configuration);
+SecureClientUtils.persistSSLClientConfiguration(configuration, 
System.getProperty("atlas.conf") );
 } catch (Exception e) {
 LOG.info("Error processing client configuration.", e);
 }

http://git-wip-us.apache.org/repos/asf/atlas/blob/6b953b59/client/common/src/main/java/org/apache/atlas/security/SecureClientUtils.java
--
diff --git 
a/client/common/src/main/java/org/apache/atlas/security/SecureClientUtils.java 
b/client/common/src/main/java/org/apache/atlas/security/SecureClientUtils.java
index d5392b2..550ef5a 100644
--- 
a/client/common/src/main/java/org/apache/atlas/security/SecureClientUtils.java
+++ 
b/client/common/src/main/java/org/apache/atlas/security/SecureClientUtils.java
@@ -163,8 +163,7 @@ public class SecureClientUtils {
 connection.setReadTimeout(socketTimeout);
 }
 
-private static File getSSLClientFile() throws AtlasException {
-String confLocation = System.getProperty("atlas.conf");
+private static File getSSLClientFile(String confLocation) throws 
AtlasException {
 File sslDir;
 try {
 if (confLocation == null) {
@@ -185,11 +184,11 @@ public class SecureClientUtils {
 return new File(sslDir, SecurityProperties.SSL_CLIENT_PROPERTIES);

atlas git commit: ATLAS-2827: fix to handle failure in saving indexable string property of large size - #3

2018-09-07 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 a7bcd029f -> fd629982f


ATLAS-2827: fix to handle failure in saving indexable string property of large 
size - #3

(cherry picked from commit eae9761871af9aeecc0fdc2248b7c8555407d0a6)


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

Branch: refs/heads/branch-0.8
Commit: fd629982f9fb5ebc157d2f03cb24562806ae87bd
Parents: a7bcd02
Author: Madhan Neethiraj 
Authored: Thu Sep 6 19:33:52 2018 -0700
Committer: Madhan Neethiraj 
Committed: Fri Sep 7 00:29:02 2018 -0700

--
 .../store/graph/v1/AtlasEntityStoreV1.java  |  5 +++
 .../store/graph/v1/EntityGraphMapper.java   |  4 ++-
 .../java/org/apache/atlas/RequestContextV1.java | 38 
 .../notification/NotificationHookConsumer.java  |  2 ++
 4 files changed, 48 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/fd629982/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1.java
 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1.java
index 2bfef78..449a958 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1.java
@@ -583,6 +583,7 @@ public class AtlasEntityStoreV1 implements AtlasEntityStore 
{
 EntityGraphDiscoverygraphDiscoverer  = new 
AtlasEntityGraphDiscoveryV1(typeRegistry, entityStream);
 EntityGraphDiscoveryContext discoveryContext = 
graphDiscoverer.discoverEntities();
 EntityMutationContext   context  = new 
EntityMutationContext(discoveryContext);
+RequestContextV1requestContext   = RequestContextV1.get();
 
 for (String guid : discoveryContext.getReferencedGuids()) {
 AtlasVertex vertex = 
discoveryContext.getResolvedEntityVertex(guid);
@@ -604,6 +605,8 @@ public class AtlasEntityStoreV1 implements AtlasEntityStore 
{
 
 if (!StringUtils.equals(guidVertex, guid)) { // if entity 
was found by unique attribute
 entity.setGuid(guidVertex);
+
+requestContext.recordEntityGuidUpdate(entity, guid);
 }
 
 context.addUpdated(guid, entity, entityType, vertex);
@@ -625,6 +628,8 @@ public class AtlasEntityStoreV1 implements AtlasEntityStore 
{
 
 entity.setGuid(generatedGuid);
 
+requestContext.recordEntityGuidUpdate(entity, guid);
+
 context.addCreated(guid, entity, entityType, vertex);
 }
 

http://git-wip-us.apache.org/repos/asf/atlas/blob/fd629982/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/EntityGraphMapper.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/EntityGraphMapper.java
 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/EntityGraphMapper.java
index d38fbb3..448d167 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/EntityGraphMapper.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/EntityGraphMapper.java
@@ -459,11 +459,13 @@ public class EntityGraphMapper {
 }
 
 if (trimmedLength < value.length()) {
-LOG.warn("Indexed-String-Attribute: {} length is {} 
characters, trimming to {}", ctx.getAttribute().getQualifiedName(), 
value.length(), trimmedLength);
+LOG.warn("Length of indexed attribute {} is {} characters, 
longer than safe-limit {}; trimming to {} - attempt #{}", 
ctx.getAttribute().getQualifiedName(), value.length(), INDEXED_STR_SAFE_LEN, 
trimmedLength, requestContext.getAttemptCount());
 
 String checksumSuffix = ":" + DigestUtils.shaHex(value); 
// Storing SHA checksum in case verification is needed after retrieval
 
 ret = value.substring(0, trimmedLength - 
checksumSuffix.length()) + checksumSuffix;
+} else {
+LOG.warn("Length of indexed attribute {} is {} characters, 
longer than safe-limit {}", ctx.getAttribute().getQualifiedName(), 
value.length(), INDEXED_STR_SAFE_LEN);
 }
 }
 }

htt

atlas git commit: ATLAS-2827: fix to handle failure in saving indexable string property of large size - #3

2018-09-07 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 a19b3906b -> 9e76ed2eb


ATLAS-2827: fix to handle failure in saving indexable string property of large 
size - #3

(cherry picked from commit eae9761871af9aeecc0fdc2248b7c8555407d0a6)


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

Branch: refs/heads/branch-1.0
Commit: 9e76ed2eb80ec5aea45099a5d388734f66586351
Parents: a19b390
Author: Madhan Neethiraj 
Authored: Thu Sep 6 19:23:30 2018 -0700
Committer: Madhan Neethiraj 
Committed: Fri Sep 7 00:11:37 2018 -0700

--
 .../store/graph/v2/AtlasEntityStoreV2.java  |  5 +++
 .../store/graph/v2/EntityGraphMapper.java   |  4 ++-
 .../store/graph/v2/InstanceGraphMapper.java | 32 -
 .../java/org/apache/atlas/RequestContext.java   | 36 
 .../notification/NotificationHookConsumer.java  |  2 ++
 5 files changed, 46 insertions(+), 33 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/9e76ed2e/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2.java
 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2.java
index 6e2a03f..bddbf71 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2.java
@@ -715,6 +715,7 @@ public class AtlasEntityStoreV2 implements AtlasEntityStore 
{
 EntityGraphDiscoverygraphDiscoverer  = new 
AtlasEntityGraphDiscoveryV2(typeRegistry, entityStream);
 EntityGraphDiscoveryContext discoveryContext = 
graphDiscoverer.discoverEntities();
 EntityMutationContext   context  = new 
EntityMutationContext(discoveryContext);
+RequestContext  requestContext   = RequestContext.get();
 
 for (String guid : discoveryContext.getReferencedGuids()) {
 AtlasVertex vertex = 
discoveryContext.getResolvedEntityVertex(guid);
@@ -734,6 +735,8 @@ public class AtlasEntityStoreV2 implements AtlasEntityStore 
{
 
 if (!StringUtils.equals(guidVertex, guid)) { // if entity 
was found by unique attribute
 entity.setGuid(guidVertex);
+
+requestContext.recordEntityGuidUpdate(entity, guid);
 }
 
 context.addUpdated(guid, entity, entityType, vertex);
@@ -756,6 +759,8 @@ public class AtlasEntityStoreV2 implements AtlasEntityStore 
{
 
 entity.setGuid(generatedGuid);
 
+requestContext.recordEntityGuidUpdate(entity, guid);
+
 context.addCreated(guid, entity, entityType, vertex);
 }
 

http://git-wip-us.apache.org/repos/asf/atlas/blob/9e76ed2e/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
index e0bfdc4..d0c75db 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
@@ -674,11 +674,13 @@ public class EntityGraphMapper {
 }
 
 if (trimmedLength < value.length()) {
-LOG.warn("Indexed-String-Attribute: {} length is {} 
characters, trimming to {}", ctx.getAttribute().getQualifiedName(), 
value.length(), trimmedLength);
+LOG.warn("Length of indexed attribute {} is {} characters, 
longer than safe-limit {}; trimming to {} - attempt #{}", 
ctx.getAttribute().getQualifiedName(), value.length(), INDEXED_STR_SAFE_LEN, 
trimmedLength, requestContext.getAttemptCount());
 
 String checksumSuffix = ":" + DigestUtils.shaHex(value); 
// Storing SHA checksum in case verification is needed after retrieval
 
 ret = value.substring(0, trimmedLength - 
checksumSuffix.length()) + checksumSuffix;
+} else {
+LOG.warn("Length of indexed attribute {} is {} characters, 
longer than safe-limit {}", ctx.getAttribute().getQualifie

atlas git commit: ATLAS-2827: fix to handle failure in saving indexable string property of large size - #3

2018-09-07 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master 4c6f1d167 -> eae976187


ATLAS-2827: fix to handle failure in saving indexable string property of large 
size - #3


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

Branch: refs/heads/master
Commit: eae9761871af9aeecc0fdc2248b7c8555407d0a6
Parents: 4c6f1d1
Author: Madhan Neethiraj 
Authored: Thu Sep 6 19:23:30 2018 -0700
Committer: Madhan Neethiraj 
Committed: Thu Sep 6 23:44:49 2018 -0700

--
 .../store/graph/v2/AtlasEntityStoreV2.java  |  5 +++
 .../store/graph/v2/EntityGraphMapper.java   |  4 ++-
 .../store/graph/v2/InstanceGraphMapper.java | 32 -
 .../java/org/apache/atlas/RequestContext.java   | 36 
 .../notification/NotificationHookConsumer.java  |  2 ++
 5 files changed, 46 insertions(+), 33 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/eae97618/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2.java
 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2.java
index 6e2a03f..bddbf71 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityStoreV2.java
@@ -715,6 +715,7 @@ public class AtlasEntityStoreV2 implements AtlasEntityStore 
{
 EntityGraphDiscoverygraphDiscoverer  = new 
AtlasEntityGraphDiscoveryV2(typeRegistry, entityStream);
 EntityGraphDiscoveryContext discoveryContext = 
graphDiscoverer.discoverEntities();
 EntityMutationContext   context  = new 
EntityMutationContext(discoveryContext);
+RequestContext  requestContext   = RequestContext.get();
 
 for (String guid : discoveryContext.getReferencedGuids()) {
 AtlasVertex vertex = 
discoveryContext.getResolvedEntityVertex(guid);
@@ -734,6 +735,8 @@ public class AtlasEntityStoreV2 implements AtlasEntityStore 
{
 
 if (!StringUtils.equals(guidVertex, guid)) { // if entity 
was found by unique attribute
 entity.setGuid(guidVertex);
+
+requestContext.recordEntityGuidUpdate(entity, guid);
 }
 
 context.addUpdated(guid, entity, entityType, vertex);
@@ -756,6 +759,8 @@ public class AtlasEntityStoreV2 implements AtlasEntityStore 
{
 
 entity.setGuid(generatedGuid);
 
+requestContext.recordEntityGuidUpdate(entity, guid);
+
 context.addCreated(guid, entity, entityType, vertex);
 }
 

http://git-wip-us.apache.org/repos/asf/atlas/blob/eae97618/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
index 4cd9909..d1e95f0 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
@@ -640,11 +640,13 @@ public class EntityGraphMapper {
 }
 
 if (trimmedLength < value.length()) {
-LOG.warn("Indexed-String-Attribute: {} length is {} 
characters, trimming to {}", ctx.getAttribute().getQualifiedName(), 
value.length(), trimmedLength);
+LOG.warn("Length of indexed attribute {} is {} characters, 
longer than safe-limit {}; trimming to {} - attempt #{}", 
ctx.getAttribute().getQualifiedName(), value.length(), INDEXED_STR_SAFE_LEN, 
trimmedLength, requestContext.getAttemptCount());
 
 String checksumSuffix = ":" + DigestUtils.shaHex(value); 
// Storing SHA checksum in case verification is needed after retrieval
 
 ret = value.substring(0, trimmedLength - 
checksumSuffix.length()) + checksumSuffix;
+} else {
+LOG.warn("Length of indexed attribute {} is {} characters, 
longer than safe-limit {}", ctx.getAttribute().getQualifiedName(), 
value.length(), INDEXED_STR_SAFE_LEN);
 }
 }
 }

http://git-w

atlas git commit: ATLAS-2827: fix to handle failure in saving indexable string property of large size - #2

2018-09-06 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master f31a7c631 -> 4c6f1d167


ATLAS-2827: fix to handle failure in saving indexable string property of large 
size - #2


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

Branch: refs/heads/master
Commit: 4c6f1d167e4b41dab62f2f0fa9e153e6ceac8621
Parents: f31a7c6
Author: Madhan Neethiraj 
Authored: Thu Sep 6 02:40:32 2018 -0700
Committer: Madhan Neethiraj 
Committed: Thu Sep 6 12:59:29 2018 -0700

--
 .../org/apache/atlas/AtlasConfiguration.java|  2 ++
 .../store/graph/v2/EntityGraphMapper.java   | 36 +++-
 .../java/org/apache/atlas/RequestContext.java   | 19 +++
 .../notification/NotificationHookConsumer.java  |  3 ++
 4 files changed, 52 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/4c6f1d16/intg/src/main/java/org/apache/atlas/AtlasConfiguration.java
--
diff --git a/intg/src/main/java/org/apache/atlas/AtlasConfiguration.java 
b/intg/src/main/java/org/apache/atlas/AtlasConfiguration.java
index bd2bf7f..ace8a0f 100644
--- a/intg/src/main/java/org/apache/atlas/AtlasConfiguration.java
+++ b/intg/src/main/java/org/apache/atlas/AtlasConfiguration.java
@@ -38,6 +38,8 @@ public enum AtlasConfiguration {
 
NOTIFICATION_SPLIT_MESSAGE_SEGMENTS_WAIT_TIME_SECONDS("atlas.notification.split.message.segments.wait.time.seconds",
 15 * 60),
 
NOTIFICATION_SPLIT_MESSAGE_BUFFER_PURGE_INTERVAL_SECONDS("atlas.notification.split.message.buffer.purge.interval.seconds",
 5 * 60),
 
+
GRAPHSTORE_INDEXED_STRING_SAFE_LENGTH("atlas.graphstore.indexed.string.safe.length",
 Short.MAX_VALUE),  // based on 
org.apache.hadoop.hbase.client.Mutation.checkRow()
+
 //search configuration
 SEARCH_MAX_LIMIT("atlas.search.maxlimit", 1),
 SEARCH_DEFAULT_LIMIT("atlas.search.defaultlimit", 100);

http://git-wip-us.apache.org/repos/asf/atlas/blob/4c6f1d16/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
index 0d9cb05..4cd9909 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
@@ -18,6 +18,7 @@
 package org.apache.atlas.repository.store.graph.v2;
 
 
+import org.apache.atlas.AtlasConfiguration;
 import org.apache.atlas.AtlasErrorCode;
 import org.apache.atlas.RequestContext;
 import org.apache.atlas.exception.AtlasBaseException;
@@ -35,7 +36,6 @@ import org.apache.atlas.model.instance.EntityMutationResponse;
 import org.apache.atlas.model.instance.EntityMutations.EntityOperation;
 import org.apache.atlas.model.typedef.AtlasStructDef.AtlasAttributeDef;
 import 
org.apache.atlas.model.typedef.AtlasStructDef.AtlasAttributeDef.Cardinality;
-import org.apache.atlas.repository.Constants;
 import org.apache.atlas.repository.RepositoryException;
 import org.apache.atlas.repository.converters.AtlasInstanceConverter;
 import org.apache.atlas.repository.graph.GraphHelper;
@@ -87,7 +87,8 @@ import static 
org.apache.atlas.type.AtlasStructType.AtlasAttribute.AtlasRelation
 @Component
 public class EntityGraphMapper {
 private static final Logger LOG = 
LoggerFactory.getLogger(EntityGraphMapper.class);
-private static final int INDEXED_STR_MAX_ALLOWED_LEN = 33482223;
+
+private static final int INDEXED_STR_SAFE_LEN = 
AtlasConfiguration.GRAPHSTORE_INDEXED_STRING_SAFE_LENGTH.getInt();
 
 private final GraphHelper   graphHelper = 
GraphHelper.getInstance();
 private final AtlasGraphgraph;
@@ -619,13 +620,32 @@ public class EntityGraphMapper {
 // Janus bug, when an indexed string attribute has a value longer than 
a certain length then the reverse indexed key generated by JanusGraph
 // exceeds the HBase row length's hard limit (Short.MAX). This 
trimming and hashing procedure is to circumvent that limitation
 if (ret != null && isIndexableStrAttr) {
-String value = (String) ctx.getValue();
+String value = ret.toString();
+
+if (value.length() > INDEXED_STR_SAFE_LEN) {
+RequestContext requestContext = RequestContext.get();
+
+final int trimmedLeng

atlas git commit: ATLAS-2856: added utility methods to RequestContext, to find number of active requests and earliest active request-time

2018-08-31 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 c5c4742b7 -> f2e714550


ATLAS-2856: added utility methods to RequestContext, to find number of active 
requests and earliest active request-time


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

Branch: refs/heads/branch-0.8
Commit: f2e714550a1bb30f7a7b4fbea5688225b628a4bc
Parents: c5c4742
Author: Madhan Neethiraj 
Authored: Fri Aug 31 16:04:14 2018 -0700
Committer: Madhan Neethiraj 
Committed: Fri Aug 31 21:34:40 2018 -0700

--
 .../store/graph/v1/AtlasEntityStoreV1Test.java  |  4 +
 .../java/org/apache/atlas/RequestContext.java   | 94 
 .../java/org/apache/atlas/RequestContextV1.java | 31 ++-
 3 files changed, 91 insertions(+), 38 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/f2e71455/repository/src/test/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1Test.java
--
diff --git 
a/repository/src/test/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1Test.java
 
b/repository/src/test/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1Test.java
index 35d1a74..089ff08 100644
--- 
a/repository/src/test/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1Test.java
+++ 
b/repository/src/test/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1Test.java
@@ -20,6 +20,7 @@ package org.apache.atlas.repository.store.graph.v1;
 import com.google.common.collect.ImmutableSet;
 import org.apache.atlas.AtlasErrorCode;
 import org.apache.atlas.AtlasException;
+import org.apache.atlas.RequestContext;
 import org.apache.atlas.TestModules;
 import org.apache.atlas.RequestContextV1;
 import org.apache.atlas.TestUtils;
@@ -147,6 +148,9 @@ public class AtlasEntityStoreV1Test {
 entityStore = new AtlasEntityStoreV1(deleteHandler, typeRegistry, 
mockChangeNotifier, graphMapper);
 RequestContextV1.clear();
 RequestContextV1.get().setUser(TestUtilsV2.TEST_USER);
+
+LOG.debug("RequestContextV1: activeCount={}, 
earliestActiveRequestTime={}", RequestContextV1.getActiveRequestsCount(), 
RequestContextV1.earliestActiveRequestTime());
+LOG.debug("RequestContext: activeCount={}, 
earliestActiveRequestTime={}", RequestContext.getActiveRequestsCount(), 
RequestContext.earliestActiveRequestTime());
 }
 
 @Test

http://git-wip-us.apache.org/repos/asf/atlas/blob/f2e71455/server-api/src/main/java/org/apache/atlas/RequestContext.java
--
diff --git a/server-api/src/main/java/org/apache/atlas/RequestContext.java 
b/server-api/src/main/java/org/apache/atlas/RequestContext.java
index 3b2b575..eb3995a 100644
--- a/server-api/src/main/java/org/apache/atlas/RequestContext.java
+++ b/server-api/src/main/java/org/apache/atlas/RequestContext.java
@@ -21,6 +21,7 @@ package org.apache.atlas;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
@@ -29,9 +30,6 @@ import java.util.Set;
 import org.apache.atlas.metrics.Metrics;
 import org.apache.atlas.model.instance.AtlasEntity.AtlasEntityWithExtInfo;
 import org.apache.atlas.typesystem.ITypedReferenceableInstance;
-import org.apache.atlas.typesystem.persistence.Id;
-import org.apache.atlas.typesystem.types.ClassType;
-import org.apache.atlas.typesystem.types.TypeSystem;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -40,19 +38,18 @@ public class RequestContext {
 private static final Logger LOG = 
LoggerFactory.getLogger(RequestContext.class);
 
 private static final ThreadLocal CURRENT_CONTEXT = new 
ThreadLocal<>();
+private static final Set ACTIVE_REQUESTS = new 
HashSet<>();
 
-private Set createdEntityIds = new LinkedHashSet<>();
-private Set updatedEntityIds = new LinkedHashSet<>();
-private Set deletedEntityIds = new LinkedHashSet<>();
-private List deletedEntities = new 
ArrayList<>();
-private Map entityCacheV1 = new 
HashMap<>();
-private Map entityCacheV2 = new HashMap<>();
+private final Set createdEntityIds = 
new LinkedHashSet<>();
+private final Set updatedEntityIds = 
new LinkedHashSet<>();
+private final Set deletedEntityIds = 
new LinkedHashSet<>();
+private final List   deletedEntities  = 
new ArrayLis

atlas git commit: ATLAS-2794: updated AtlasClient to explicitly specify JacksonJaxbJsonProvider

2018-08-31 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 10edb040a -> c5c4742b7


ATLAS-2794: updated AtlasClient to explicitly specify JacksonJaxbJsonProvider

(cherry picked from commit 9097d695c5509b874c86e0eae159cecf2a812de8)
(cherry picked from commit 50c3adf1519cb3d4d01ea86c2e90e1bba4df3c46)


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

Branch: refs/heads/branch-0.8
Commit: c5c4742b72d6f7a5e26135f54bd67a2141890595
Parents: 10edb04
Author: Madhan Neethiraj 
Authored: Thu Jul 26 21:51:24 2018 -0700
Committer: Madhan Neethiraj 
Committed: Fri Aug 31 11:36:32 2018 -0700

--
 client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/c5c4742b/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
--
diff --git a/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java 
b/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
index 96271b7..d6f767e 100644
--- a/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
+++ b/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
@@ -17,6 +17,7 @@
  */
 package org.apache.atlas;
 
+import org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider;
 import com.google.common.annotations.VisibleForTesting;
 import com.sun.jersey.api.client.Client;
 import com.sun.jersey.api.client.ClientHandlerException;
@@ -262,6 +263,7 @@ public abstract class AtlasBaseClient {
 // Enable POJO mapping feature
 config.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, 
Boolean.TRUE);
 config.getClasses().add(MultiPartWriter.class);
+config.getClasses().add(JacksonJaxbJsonProvider.class);
 
 int readTimeout = 
configuration.getInt("atlas.client.readTimeoutMSecs", 6);
 int connectTimeout = 
configuration.getInt("atlas.client.connectTimeoutMSecs", 6);



atlas git commit: ATLAS-2844: added eventTime field in EntityNotificationV2

2018-08-31 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 e576b763a -> 4eb412051


ATLAS-2844: added eventTime field in EntityNotificationV2

(cherry picked from commit 96f2c2996e6e3ccfd26e0297be5f29640a2ec781)


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

Branch: refs/heads/branch-1.0
Commit: 4eb4120514963442ea328bae50bdedf15cca049c
Parents: e576b76
Author: Madhan Neethiraj 
Authored: Thu Aug 30 15:17:06 2018 -0700
Committer: Madhan Neethiraj 
Committed: Fri Aug 31 10:05:31 2018 -0700

--
 .../model/notification/EntityNotification.java | 17 -
 .../notification/EntityNotificationListenerV2.java |  2 +-
 2 files changed, 17 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/4eb41205/intg/src/main/java/org/apache/atlas/model/notification/EntityNotification.java
--
diff --git 
a/intg/src/main/java/org/apache/atlas/model/notification/EntityNotification.java
 
b/intg/src/main/java/org/apache/atlas/model/notification/EntityNotification.java
index 6cdae89..1eae100 100644
--- 
a/intg/src/main/java/org/apache/atlas/model/notification/EntityNotification.java
+++ 
b/intg/src/main/java/org/apache/atlas/model/notification/EntityNotification.java
@@ -105,16 +105,22 @@ public class EntityNotification implements Serializable {
 
 private AtlasEntityHeader entity;
 private OperationType operationType;
+private long  eventTime;
 
 public EntityNotificationV2() {
-super(ENTITY_NOTIFICATION_V2);
+this(null, null, System.currentTimeMillis());
 }
 
 public EntityNotificationV2(AtlasEntityHeader entity, OperationType 
operationType) {
+this(entity, operationType, System.currentTimeMillis());
+}
+
+public EntityNotificationV2(AtlasEntityHeader entity, OperationType 
operationType, long eventTime) {
 super(ENTITY_NOTIFICATION_V2);
 
 setEntity(entity);
 setOperationType(operationType);
+setEventTime(eventTime);
 }
 
 public AtlasEntityHeader getEntity() {
@@ -133,6 +139,14 @@ public class EntityNotification implements Serializable {
 this.operationType = operationType;
 }
 
+public long getEventTime() {
+return eventTime;
+}
+
+public void setEventTime(long eventTime) {
+this.eventTime = eventTime;
+}
+
 @Override
 public boolean equals(Object o) {
 if (this == o) { return true; }
@@ -163,6 +177,7 @@ public class EntityNotification implements Serializable {
 sb.append(entity);
 }
 sb.append(", operationType=").append(operationType);
+sb.append(", eventTime=").append(eventTime);
 sb.append("}");
 
 return sb;

http://git-wip-us.apache.org/repos/asf/atlas/blob/4eb41205/webapp/src/main/java/org/apache/atlas/notification/EntityNotificationListenerV2.java
--
diff --git 
a/webapp/src/main/java/org/apache/atlas/notification/EntityNotificationListenerV2.java
 
b/webapp/src/main/java/org/apache/atlas/notification/EntityNotificationListenerV2.java
index 9587af9..e0a60a1 100644
--- 
a/webapp/src/main/java/org/apache/atlas/notification/EntityNotificationListenerV2.java
+++ 
b/webapp/src/main/java/org/apache/atlas/notification/EntityNotificationListenerV2.java
@@ -125,7 +125,7 @@ public class EntityNotificationListenerV2 implements 
EntityChangeListenerV2 {
 continue;
 }
 
-messages.add(new 
EntityNotificationV2(toNotificationHeader(entity), operationType));
+messages.add(new 
EntityNotificationV2(toNotificationHeader(entity), operationType, 
RequestContext.get().getRequestTime()));
 }
 
 if (!messages.isEmpty()) {



atlas git commit: ATLAS-2844: added eventTime field in EntityNotificationV2

2018-08-31 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master 56eefb2a9 -> 96f2c2996


ATLAS-2844: added eventTime field in EntityNotificationV2


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

Branch: refs/heads/master
Commit: 96f2c2996e6e3ccfd26e0297be5f29640a2ec781
Parents: 56eefb2
Author: Madhan Neethiraj 
Authored: Thu Aug 30 15:17:06 2018 -0700
Committer: Madhan Neethiraj 
Committed: Fri Aug 31 09:45:07 2018 -0700

--
 .../model/notification/EntityNotification.java | 17 -
 .../notification/EntityNotificationListenerV2.java |  2 +-
 2 files changed, 17 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/96f2c299/intg/src/main/java/org/apache/atlas/model/notification/EntityNotification.java
--
diff --git 
a/intg/src/main/java/org/apache/atlas/model/notification/EntityNotification.java
 
b/intg/src/main/java/org/apache/atlas/model/notification/EntityNotification.java
index 6cdae89..1eae100 100644
--- 
a/intg/src/main/java/org/apache/atlas/model/notification/EntityNotification.java
+++ 
b/intg/src/main/java/org/apache/atlas/model/notification/EntityNotification.java
@@ -105,16 +105,22 @@ public class EntityNotification implements Serializable {
 
 private AtlasEntityHeader entity;
 private OperationType operationType;
+private long  eventTime;
 
 public EntityNotificationV2() {
-super(ENTITY_NOTIFICATION_V2);
+this(null, null, System.currentTimeMillis());
 }
 
 public EntityNotificationV2(AtlasEntityHeader entity, OperationType 
operationType) {
+this(entity, operationType, System.currentTimeMillis());
+}
+
+public EntityNotificationV2(AtlasEntityHeader entity, OperationType 
operationType, long eventTime) {
 super(ENTITY_NOTIFICATION_V2);
 
 setEntity(entity);
 setOperationType(operationType);
+setEventTime(eventTime);
 }
 
 public AtlasEntityHeader getEntity() {
@@ -133,6 +139,14 @@ public class EntityNotification implements Serializable {
 this.operationType = operationType;
 }
 
+public long getEventTime() {
+return eventTime;
+}
+
+public void setEventTime(long eventTime) {
+this.eventTime = eventTime;
+}
+
 @Override
 public boolean equals(Object o) {
 if (this == o) { return true; }
@@ -163,6 +177,7 @@ public class EntityNotification implements Serializable {
 sb.append(entity);
 }
 sb.append(", operationType=").append(operationType);
+sb.append(", eventTime=").append(eventTime);
 sb.append("}");
 
 return sb;

http://git-wip-us.apache.org/repos/asf/atlas/blob/96f2c299/webapp/src/main/java/org/apache/atlas/notification/EntityNotificationListenerV2.java
--
diff --git 
a/webapp/src/main/java/org/apache/atlas/notification/EntityNotificationListenerV2.java
 
b/webapp/src/main/java/org/apache/atlas/notification/EntityNotificationListenerV2.java
index 9587af9..e0a60a1 100644
--- 
a/webapp/src/main/java/org/apache/atlas/notification/EntityNotificationListenerV2.java
+++ 
b/webapp/src/main/java/org/apache/atlas/notification/EntityNotificationListenerV2.java
@@ -125,7 +125,7 @@ public class EntityNotificationListenerV2 implements 
EntityChangeListenerV2 {
 continue;
 }
 
-messages.add(new 
EntityNotificationV2(toNotificationHeader(entity), operationType));
+messages.add(new 
EntityNotificationV2(toNotificationHeader(entity), operationType, 
RequestContext.get().getRequestTime()));
 }
 
 if (!messages.isEmpty()) {



atlas git commit: ATLAS-2853: updated to send entity-notifications after successful graph transaction commit

2018-08-31 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 27be0da52 -> e576b763a


ATLAS-2853: updated to send entity-notifications after successful graph 
transaction commit

(cherry picked from commit 56eefb2a9806265df997dda2ef70274eede72675)


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

Branch: refs/heads/branch-1.0
Commit: e576b763a21ae3089e80a1448aaef9e9a678fcb8
Parents: 27be0da
Author: Madhan Neethiraj 
Authored: Thu Aug 30 19:36:35 2018 -0700
Committer: Madhan Neethiraj 
Committed: Fri Aug 31 09:47:10 2018 -0700

--
 .../graph/v2/AtlasEntityChangeNotifier.java |  27 ++--
 .../EntityNotificationListenerV2.java   |  15 ++-
 .../notification/EntityNotificationSender.java  | 131 +++
 .../NotificationEntityChangeListener.java   |  37 ++
 4 files changed, 165 insertions(+), 45 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/e576b763/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityChangeNotifier.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityChangeNotifier.java
 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityChangeNotifier.java
index 193e19c..1b09d49 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityChangeNotifier.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityChangeNotifier.java
@@ -38,7 +38,6 @@ import org.apache.atlas.type.AtlasEntityType;
 import org.apache.atlas.type.AtlasTypeRegistry;
 import org.apache.atlas.v1.model.instance.Referenceable;
 import org.apache.atlas.v1.model.instance.Struct;
-import org.apache.atlas.repository.Constants;
 import org.apache.atlas.repository.converters.AtlasInstanceConverter;
 import org.apache.atlas.repository.graph.FullTextMapperV2;
 import org.apache.atlas.repository.graph.GraphHelper;
@@ -56,13 +55,11 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
-import java.util.Objects;
 import java.util.Set;
 
 import static 
org.apache.atlas.model.audit.EntityAuditEventV2.EntityAuditActionV2.PROPAGATED_CLASSIFICATION_ADD;
 import static 
org.apache.atlas.model.audit.EntityAuditEventV2.EntityAuditActionV2.PROPAGATED_CLASSIFICATION_DELETE;
 import static org.apache.atlas.repository.Constants.ENTITY_TEXT_PROPERTY_KEY;
-import static 
org.apache.atlas.util.AtlasRepositoryConfiguration.isV2EntityNotificationEnabled;
 
 
 @Component
@@ -74,6 +71,7 @@ public class AtlasEntityChangeNotifier {
 private final AtlasInstanceConverter  instanceConverter;
 private final FullTextMapperV2fullTextMapperV2;
 private final AtlasTypeRegistry   atlasTypeRegistry;
+private final boolean isV2EntityNotificationEnabled;
 
 
 @Inject
@@ -82,11 +80,12 @@ public class AtlasEntityChangeNotifier {
  AtlasInstanceConverter instanceConverter,
  FullTextMapperV2 fullTextMapperV2,
  AtlasTypeRegistry atlasTypeRegistry) {
-this.entityChangeListeners   = entityChangeListeners;
-this.entityChangeListenersV2 = entityChangeListenersV2;
-this.instanceConverter   = instanceConverter;
-this.fullTextMapperV2 = fullTextMapperV2;
-this.atlasTypeRegistry = atlasTypeRegistry;
+this.entityChangeListeners = entityChangeListeners;
+this.entityChangeListenersV2   = entityChangeListenersV2;
+this.instanceConverter = instanceConverter;
+this.fullTextMapperV2  = fullTextMapperV2;
+this.atlasTypeRegistry = atlasTypeRegistry;
+this.isV2EntityNotificationEnabled = 
AtlasRepositoryConfiguration.isV2EntityNotificationEnabled();
 }
 
 public void onEntitiesMutated(EntityMutationResponse 
entityMutationResponse, boolean isImport) throws AtlasBaseException {
@@ -114,7 +113,7 @@ public class AtlasEntityChangeNotifier {
 }
 
 public void onClassificationAddedToEntity(AtlasEntity entity, 
List addedClassifications) throws AtlasBaseException {
-if (isV2EntityNotificationEnabled()) {
+if (isV2EntityNotificationEnabled) {
 doFullTextMapping(entity.getGuid());
 
 for (EntityChangeListenerV2 listener : entityChangeListenersV2) {
@@ -141,7 +140,7 @@ public class AtlasEntityChangeNotifier {
 }
 
 public void onClassificationUpdatedToEnt

atlas git commit: ATLAS-2853: updated to send entity-notifications after successful graph transaction commit

2018-08-31 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master 01b195a96 -> 56eefb2a9


ATLAS-2853: updated to send entity-notifications after successful graph 
transaction commit


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

Branch: refs/heads/master
Commit: 56eefb2a9806265df997dda2ef70274eede72675
Parents: 01b195a
Author: Madhan Neethiraj 
Authored: Thu Aug 30 19:36:35 2018 -0700
Committer: Madhan Neethiraj 
Committed: Fri Aug 31 09:07:26 2018 -0700

--
 .../graph/v2/AtlasEntityChangeNotifier.java |  27 ++--
 .../EntityNotificationListenerV2.java   |  15 ++-
 .../notification/EntityNotificationSender.java  | 131 +++
 .../NotificationEntityChangeListener.java   |  37 ++
 4 files changed, 165 insertions(+), 45 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/56eefb2a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityChangeNotifier.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityChangeNotifier.java
 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityChangeNotifier.java
index 783d62f..9d8afdf 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityChangeNotifier.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityChangeNotifier.java
@@ -38,7 +38,6 @@ import org.apache.atlas.type.AtlasEntityType;
 import org.apache.atlas.type.AtlasTypeRegistry;
 import org.apache.atlas.v1.model.instance.Referenceable;
 import org.apache.atlas.v1.model.instance.Struct;
-import org.apache.atlas.repository.Constants;
 import org.apache.atlas.repository.converters.AtlasInstanceConverter;
 import org.apache.atlas.repository.graph.FullTextMapperV2;
 import org.apache.atlas.repository.graph.GraphHelper;
@@ -56,13 +55,11 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
-import java.util.Objects;
 import java.util.Set;
 
 import static 
org.apache.atlas.model.audit.EntityAuditEventV2.EntityAuditActionV2.PROPAGATED_CLASSIFICATION_ADD;
 import static 
org.apache.atlas.model.audit.EntityAuditEventV2.EntityAuditActionV2.PROPAGATED_CLASSIFICATION_DELETE;
 import static org.apache.atlas.repository.Constants.ENTITY_TEXT_PROPERTY_KEY;
-import static 
org.apache.atlas.util.AtlasRepositoryConfiguration.isV2EntityNotificationEnabled;
 
 
 @Component
@@ -74,6 +71,7 @@ public class AtlasEntityChangeNotifier {
 private final AtlasInstanceConverter  instanceConverter;
 private final FullTextMapperV2fullTextMapperV2;
 private final AtlasTypeRegistry   atlasTypeRegistry;
+private final boolean isV2EntityNotificationEnabled;
 
 
 @Inject
@@ -82,11 +80,12 @@ public class AtlasEntityChangeNotifier {
  AtlasInstanceConverter instanceConverter,
  FullTextMapperV2 fullTextMapperV2,
  AtlasTypeRegistry atlasTypeRegistry) {
-this.entityChangeListeners   = entityChangeListeners;
-this.entityChangeListenersV2 = entityChangeListenersV2;
-this.instanceConverter   = instanceConverter;
-this.fullTextMapperV2 = fullTextMapperV2;
-this.atlasTypeRegistry = atlasTypeRegistry;
+this.entityChangeListeners = entityChangeListeners;
+this.entityChangeListenersV2   = entityChangeListenersV2;
+this.instanceConverter = instanceConverter;
+this.fullTextMapperV2  = fullTextMapperV2;
+this.atlasTypeRegistry = atlasTypeRegistry;
+this.isV2EntityNotificationEnabled = 
AtlasRepositoryConfiguration.isV2EntityNotificationEnabled();
 }
 
 public void onEntitiesMutated(EntityMutationResponse 
entityMutationResponse, boolean isImport) throws AtlasBaseException {
@@ -114,7 +113,7 @@ public class AtlasEntityChangeNotifier {
 }
 
 public void onClassificationAddedToEntity(AtlasEntity entity, 
List addedClassifications) throws AtlasBaseException {
-if (isV2EntityNotificationEnabled()) {
+if (isV2EntityNotificationEnabled) {
 doFullTextMapping(entity.getGuid());
 
 for (EntityChangeListenerV2 listener : entityChangeListenersV2) {
@@ -141,7 +140,7 @@ public class AtlasEntityChangeNotifier {
 }
 
 public void onClassificationUpdatedToEntity(AtlasEntity entity, 
List updatedClassifications) throws AtlasBaseExcept

atlas git commit: ATLAS-2842: fixed incorrect AtlasObjectId.equals()

2018-08-27 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 df4f87d09 -> 4dcb2c7bf


ATLAS-2842: fixed incorrect AtlasObjectId.equals()

Signed-off-by: Madhan Neethiraj 


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

Branch: refs/heads/branch-0.8
Commit: 4dcb2c7bf00afd7cc1c82fec0ecc9456f200f1e1
Parents: df4f87d
Author: Daniel Kelencz 
Authored: Mon Aug 27 07:32:12 2018 -0700
Committer: Madhan Neethiraj 
Committed: Mon Aug 27 07:39:45 2018 -0700

--
 .../atlas/model/instance/AtlasObjectId.java |  12 +--
 .../atlas/model/instance/TestAtlasObjectId.java | 107 +++
 2 files changed, 113 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/4dcb2c7b/intg/src/main/java/org/apache/atlas/model/instance/AtlasObjectId.java
--
diff --git 
a/intg/src/main/java/org/apache/atlas/model/instance/AtlasObjectId.java 
b/intg/src/main/java/org/apache/atlas/model/instance/AtlasObjectId.java
index 5f0e093..479bca5 100644
--- a/intg/src/main/java/org/apache/atlas/model/instance/AtlasObjectId.java
+++ b/intg/src/main/java/org/apache/atlas/model/instance/AtlasObjectId.java
@@ -31,6 +31,7 @@ import javax.xml.bind.annotation.XmlSeeAlso;
 import org.apache.atlas.model.PList;
 import org.apache.atlas.model.SearchFilter.SortType;
 import org.apache.atlas.model.typedef.AtlasBaseTypeDef;
+import org.apache.commons.lang.StringUtils;
 import org.codehaus.jackson.annotate.JsonAutoDetect;
 import static 
org.codehaus.jackson.annotate.JsonAutoDetect.Visibility.PUBLIC_ONLY;
 import static org.codehaus.jackson.annotate.JsonAutoDetect.Visibility.NONE;
@@ -164,13 +165,12 @@ public class AtlasObjectId  implements Serializable {
 
 AtlasObjectId that = (AtlasObjectId) o;
 
-// if guid is null, equality should be based on 
typeName/uniqueAttributes
-if (guid != null && Objects.equals(guid, that.guid)) {
-return true;
+// if guid is empty/null, equality should be based on 
typeName/uniqueAttributes
+if (StringUtils.isEmpty(guid) && StringUtils.isEmpty(that.guid)) {
+return Objects.equals(typeName, that.typeName) && 
Objects.equals(uniqueAttributes, that.uniqueAttributes);
+} else {
+return Objects.equals(guid, that.guid);
 }
-
-return Objects.equals(typeName, that.typeName) &&
-   Objects.equals(uniqueAttributes, that.uniqueAttributes);
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/atlas/blob/4dcb2c7b/intg/src/test/java/org/apache/atlas/model/instance/TestAtlasObjectId.java
--
diff --git 
a/intg/src/test/java/org/apache/atlas/model/instance/TestAtlasObjectId.java 
b/intg/src/test/java/org/apache/atlas/model/instance/TestAtlasObjectId.java
new file mode 100644
index 000..e333263
--- /dev/null
+++ b/intg/src/test/java/org/apache/atlas/model/instance/TestAtlasObjectId.java
@@ -0,0 +1,107 @@
+/**
+ * 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.
+ */
+package org.apache.atlas.model.instance;
+
+import org.testng.annotations.Test;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotEquals;
+
+public class TestAtlasObjectId {
+
+@Test
+public void testEqualsDifferentIdShouldNotEqual()
+{
+AtlasObjectId one = new AtlasObjectId("one");
+AtlasObjectId different = new AtlasObjectId("different");
+
+assertNotEquals(one, different);
+}
+
+@Test
+public void testEqualsSameIdShouldEqual()
+{
+AtlasObjectId one = new AtlasObjectId("one");
+AtlasObjectId same = new AtlasObjectId("one");
+
+assertEqua

[1/2] atlas git commit: ATLAS-2836: Remove redundant encoding of vertex property keys ATLAS-2838: Replace GraphHelper.encodeProperty() with AtlasGraphUtilsV1.encodeProperty()

2018-08-27 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 325859ab8 -> 250d93217


http://git-wip-us.apache.org/repos/asf/atlas/blob/250d9321/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/SoftDeleteHandlerV1.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/SoftDeleteHandlerV1.java
 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/SoftDeleteHandlerV1.java
index 49c9e0c..89f1909 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/SoftDeleteHandlerV1.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/SoftDeleteHandlerV1.java
@@ -22,7 +22,6 @@ import org.apache.atlas.RequestContextV1;
 import org.apache.atlas.annotation.ConditionalOnAtlasProperty;
 import org.apache.atlas.exception.AtlasBaseException;
 import org.apache.atlas.model.instance.AtlasEntity;
-import org.apache.atlas.repository.graph.GraphHelper;
 import org.apache.atlas.repository.graphdb.AtlasEdge;
 import org.apache.atlas.repository.graphdb.AtlasVertex;
 import org.apache.atlas.type.AtlasTypeRegistry;
@@ -50,10 +49,10 @@ public class SoftDeleteHandlerV1 extends DeleteHandlerV1 {
 } else {
 AtlasEntity.Status state = 
AtlasGraphUtilsV1.getState(instanceVertex);
 if (state != AtlasEntity.Status.DELETED) {
-GraphHelper.setProperty(instanceVertex, STATE_PROPERTY_KEY, 
AtlasEntity.Status.DELETED.name());
-GraphHelper.setProperty(instanceVertex, 
MODIFICATION_TIMESTAMP_PROPERTY_KEY,
+AtlasGraphUtilsV1.setEncodedProperty(instanceVertex, 
STATE_PROPERTY_KEY, AtlasEntity.Status.DELETED.name());
+AtlasGraphUtilsV1.setEncodedProperty(instanceVertex, 
MODIFICATION_TIMESTAMP_PROPERTY_KEY,
 RequestContextV1.get().getRequestTime());
-GraphHelper.setProperty(instanceVertex, MODIFIED_BY_KEY, 
RequestContextV1.get().getUser());
+AtlasGraphUtilsV1.setEncodedProperty(instanceVertex, 
MODIFIED_BY_KEY, RequestContextV1.get().getUser());
 }
 }
 }
@@ -65,10 +64,9 @@ public class SoftDeleteHandlerV1 extends DeleteHandlerV1 {
 } else {
 AtlasEntity.Status state = AtlasGraphUtilsV1.getState(edge);
 if (state != AtlasEntity.Status.DELETED) {
-GraphHelper.setProperty(edge, STATE_PROPERTY_KEY, 
AtlasEntity.Status.DELETED.name());
-GraphHelper
-.setProperty(edge, MODIFICATION_TIMESTAMP_PROPERTY_KEY, 
RequestContextV1.get().getRequestTime());
-GraphHelper.setProperty(edge, MODIFIED_BY_KEY, 
RequestContextV1.get().getUser());
+AtlasGraphUtilsV1.setEncodedProperty(edge, STATE_PROPERTY_KEY, 
AtlasEntity.Status.DELETED.name());
+AtlasGraphUtilsV1.setEncodedProperty(edge, 
MODIFICATION_TIMESTAMP_PROPERTY_KEY, RequestContextV1.get().getRequestTime());
+AtlasGraphUtilsV1.setEncodedProperty(edge, MODIFIED_BY_KEY, 
RequestContextV1.get().getUser());
 }
 }
 }

http://git-wip-us.apache.org/repos/asf/atlas/blob/250d9321/repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java
 
b/repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java
index 1525d7b..9e6ad18 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java
@@ -31,6 +31,7 @@ import org.apache.atlas.repository.graphdb.AtlasEdge;
 import org.apache.atlas.repository.graphdb.AtlasEdgeDirection;
 import org.apache.atlas.repository.graphdb.AtlasGraph;
 import org.apache.atlas.repository.graphdb.AtlasVertex;
+import org.apache.atlas.repository.store.graph.v1.AtlasGraphUtilsV1;
 import org.apache.atlas.typesystem.TypesDef;
 import org.apache.atlas.typesystem.types.*;
 import org.apache.atlas.typesystem.types.DataTypes.TypeCategory;
@@ -50,7 +51,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import static org.apache.atlas.repository.graph.GraphHelper.setProperty;
 
 @Singleton
 @Component
@@ -251,9 +251,9 @@ public class GraphBackedTypeStore implements ITypeStore {
 
 while (vertices.hasNext()) {
 AtlasVertex vertex = vertices.next();
-DataTypes.TypeCategory typeCategory = 
GraphHelper.getSingleValuedProperty(vertex, 
Constants.TYPE_CATEGORY_PROPERTY_KEY, TypeCategory.class);
-String typeName = GraphHelper.getSingleValuedProperty(vertex, 
Constants.TYPENAME_PROPERTY_KEY, String.class);
-String typeDescription = 

[2/2] atlas git commit: ATLAS-2836: Remove redundant encoding of vertex property keys ATLAS-2838: Replace GraphHelper.encodeProperty() with AtlasGraphUtilsV1.encodeProperty()

2018-08-27 Thread madhan
ATLAS-2836: Remove redundant encoding of vertex property keys
ATLAS-2838: Replace GraphHelper.encodeProperty() with 
AtlasGraphUtilsV1.encodeProperty()

(cherry picked from commit b6a664df305d18918ea84ec1351307fcefeec53c)
(cherry picked from commit 0ed9f0e25d2b064bb7728b2d8481968ba4375ba2)


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

Branch: refs/heads/branch-0.8
Commit: 250d932172291fe8c9a9e07afb634042f67b09e5
Parents: 325859a
Author: Madhan Neethiraj 
Authored: Sun Aug 26 13:29:00 2018 -0700
Committer: Madhan Neethiraj 
Committed: Sun Aug 26 23:08:26 2018 -0700

--
 .../org/apache/atlas/repository/Constants.java  |  42 ++--
 .../org/apache/atlas/type/AtlasStructType.java  |   8 +
 .../graph/DefaultGraphPersistenceStrategy.java  |   7 +-
 .../graph/GraphBackedDiscoveryService.java  |   5 +-
 .../atlas/repository/graph/DeleteHandler.java   |  15 +-
 .../graph/GraphBackedMetadataRepository.java|  15 +-
 .../graph/GraphBackedSearchIndexer.java |   7 +-
 .../atlas/repository/graph/GraphHelper.java | 205 +++
 .../graph/GraphToTypedInstanceMapper.java   |  35 ++--
 .../repository/graph/SoftDeleteHandler.java |  14 +-
 .../graph/TypedInstanceToGraphMapper.java   |  19 +-
 .../graph/v1/AtlasEntityChangeNotifier.java |   6 +-
 .../store/graph/v1/AtlasGraphUtilsV1.java   |  29 ++-
 .../store/graph/v1/AtlasStructDefStoreV1.java   |   2 +-
 .../store/graph/v1/DeleteHandlerV1.java |  14 +-
 .../store/graph/v1/EntityGraphMapper.java   |  58 +++---
 .../store/graph/v1/EntityGraphRetriever.java|  50 ++---
 .../store/graph/v1/SoftDeleteHandlerV1.java |  14 +-
 .../typestore/GraphBackedTypeStore.java |  24 +--
 .../typestore/TypePersistenceVisitor.java   |  14 +-
 ...hBackedMetadataRepositoryDeleteTestBase.java |   9 +-
 .../GraphBackedMetadataRepositoryTest.java  |  15 +-
 .../GraphBackedRepositorySoftDeleteTest.java|   3 +-
 .../atlas/repository/graph/GraphHelperTest.java |   5 +-
 .../graph/v1/AtlasDeleteHandlerV1Test.java  |   8 +-
 .../store/graph/v1/SoftDeleteHandlerV1Test.java |   2 +-
 26 files changed, 257 insertions(+), 368 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/250d9321/common/src/main/java/org/apache/atlas/repository/Constants.java
--
diff --git a/common/src/main/java/org/apache/atlas/repository/Constants.java 
b/common/src/main/java/org/apache/atlas/repository/Constants.java
index 56f341d..2733583 100644
--- a/common/src/main/java/org/apache/atlas/repository/Constants.java
+++ b/common/src/main/java/org/apache/atlas/repository/Constants.java
@@ -18,6 +18,8 @@
 
 package org.apache.atlas.repository;
 
+import static 
org.apache.atlas.type.AtlasStructType.AtlasAttribute.encodePropertyKey;
+
 /**
  * Repository Constants.
  *
@@ -29,49 +31,45 @@ public final class Constants {
  */
 
 public static final String INTERNAL_PROPERTY_KEY_PREFIX = "__";
-public static final String GUID_PROPERTY_KEY = 
INTERNAL_PROPERTY_KEY_PREFIX + "guid";
+public static final String GUID_PROPERTY_KEY = 
encodePropertyKey(INTERNAL_PROPERTY_KEY_PREFIX + "guid");
 
 /**
  * Entity type name property key.
  */
-public static final String ENTITY_TYPE_PROPERTY_KEY = 
INTERNAL_PROPERTY_KEY_PREFIX + "typeName";
+public static final String ENTITY_TYPE_PROPERTY_KEY = 
encodePropertyKey(INTERNAL_PROPERTY_KEY_PREFIX + "typeName");
 public static final String TYPE_NAME_INTERNAL   = 
INTERNAL_PROPERTY_KEY_PREFIX + "internal";
 
 /**
  * Entity type's super types property key.
  */
-public static final String SUPER_TYPES_PROPERTY_KEY = 
INTERNAL_PROPERTY_KEY_PREFIX + "superTypeNames";
+public static final String SUPER_TYPES_PROPERTY_KEY = 
encodePropertyKey(INTERNAL_PROPERTY_KEY_PREFIX + "superTypeNames");
 
 /**
  * Full-text for the entity for enabling full-text search.
  */
 //weird issue in TitanDB if __ added to this property key. Not adding it 
for now
-public static final String ENTITY_TEXT_PROPERTY_KEY = "entityText";
+public static final String ENTITY_TEXT_PROPERTY_KEY = 
encodePropertyKey("entityText");
 
 /**
  * Properties for type store graph.
  */
-public static final String TYPE_CATEGORY_PROPERTY_KEY = 
INTERNAL_PROPERTY_KEY_PREFIX + "type.category";
-public static final String VERTEX_TYPE_PROPERTY_KEY = 
INTERNAL_PROPERTY_KEY_PREFIX + "type";
-public 

atlas git commit: ATLAS-2836: Remove redundant encoding of vertex property keys - #2

2018-08-26 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 905cdc226 -> 3483b71c7


ATLAS-2836: Remove redundant encoding of vertex property keys - #2

(cherry picked from commit 9c45d2e8e88b8845330632ad2a164448c13840fd)


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

Branch: refs/heads/branch-1.0
Commit: 3483b71c7f13164ea8fbaf7e16050f503f2e460e
Parents: 905cdc2
Author: Madhan Neethiraj 
Authored: Sun Aug 26 14:43:11 2018 -0700
Committer: Madhan Neethiraj 
Committed: Sun Aug 26 19:10:45 2018 -0700

--
 .../atlas/repository/graph/GraphHelper.java | 108 ---
 .../store/graph/v2/EntityGraphMapper.java   |   2 +-
 .../store/graph/v2/EntityGraphRetriever.java|  41 ---
 .../migration/MigrationBaseAsserts.java |  16 +--
 .../atlas/repository/migration/PathTest.java|   5 +-
 5 files changed, 33 insertions(+), 139 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/3483b71c/repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 
b/repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java
index 19069ba..7885da3 100755
--- 
a/repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java
@@ -646,83 +646,6 @@ public final class GraphHelper {
 + edge.getInVertex() + "]";
 }
 
-public static  void setProperty(T element, String 
propertyName, Object value) {
-String actualPropertyName = 
AtlasGraphUtilsV2.encodePropertyKey(propertyName);
-
-String elementStr = null;
-
-if (LOG.isDebugEnabled()) {
-elementStr = string(element);
-
-LOG.debug("Setting property {} = \"{}\" to {}", 
actualPropertyName, value, elementStr);
-}
-
-Object existValue = element.getProperty(actualPropertyName, 
Object.class);
-if(value == null || (value instanceof Collection && ((Collection) 
value).isEmpty())) {
-if(existValue != null) {
-if (LOG.isDebugEnabled()) {
-LOG.debug("Removing property - {} value from {}", 
actualPropertyName, elementStr);
-}
-
-element.removeProperty(actualPropertyName);
-}
-} else {
-if (!value.equals(existValue)) {
-element.setProperty(actualPropertyName, value);
-
-if (LOG.isDebugEnabled()) {
-LOG.debug("Set property {} = \"{}\" to {}", 
actualPropertyName, value, elementStr);
-}
-}
-}
-}
-
-/**
- * Gets the value of a property that is stored in the graph as a single 
property value.  If
- * a multi-property such as {@link Constants#TRAIT_NAMES_PROPERTY_KEY} or 
{@link Constants#SUPER_TYPES_PROPERTY_KEY}
- * is used, an exception will be thrown.
- *
- * @param element
- * @param propertyName
- * @param clazz
- * @return
- */
-public static  T getSingleValuedProperty(AtlasElement element, String 
propertyName, Class clazz) {
-String actualPropertyName = 
AtlasGraphUtilsV2.encodePropertyKey(propertyName);
-
-if (LOG.isTraceEnabled()) {
-LOG.trace("Reading property {} from {}", actualPropertyName, 
string(element));
-}
-
-return element.getProperty(actualPropertyName, clazz);
-}
-
-
-public static Object getProperty(AtlasVertex vertex, String 
propertyName) {
-String actualPropertyName = 
AtlasGraphUtilsV2.encodePropertyKey(propertyName);
-
-if (LOG.isTraceEnabled()) {
-LOG.trace("Reading property {} from {}", actualPropertyName, 
string(vertex));
-}
-
-
if(AtlasGraphProvider.getGraphInstance().isMultiProperty(actualPropertyName)) {
-return vertex.getPropertyValues(actualPropertyName, String.class);
-}
-else {
-return vertex.getProperty(actualPropertyName, Object.class);
-}
-}
-
-public static Object getProperty(AtlasEdge edge, String propertyName) 
{
-String actualPropertyName = 
AtlasGraphUtilsV2.encodePropertyKey(propertyName);
-
-if (LOG.isTraceEnabled()) {
-LOG.trace("Reading property {} from {}", actualPropertyName, 
string(edge));
-}
-
-return edge.getProperty(actualPropertyName, Ob

atlas git commit: ATLAS-2836: Remove redundant encoding of vertex property keys - #2

2018-08-26 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master 0ed9f0e25 -> 9c45d2e8e


ATLAS-2836: Remove redundant encoding of vertex property keys - #2


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

Branch: refs/heads/master
Commit: 9c45d2e8e88b8845330632ad2a164448c13840fd
Parents: 0ed9f0e
Author: Madhan Neethiraj 
Authored: Sun Aug 26 14:43:11 2018 -0700
Committer: Madhan Neethiraj 
Committed: Sun Aug 26 16:20:06 2018 -0700

--
 .../atlas/repository/graph/GraphHelper.java | 108 ---
 .../store/graph/v2/EntityGraphMapper.java   |   2 +-
 .../store/graph/v2/EntityGraphRetriever.java|  41 ---
 .../migration/MigrationBaseAsserts.java |  16 +--
 .../atlas/repository/migration/PathTest.java|   5 +-
 5 files changed, 33 insertions(+), 139 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/9c45d2e8/repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 
b/repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java
index 19069ba..7885da3 100755
--- 
a/repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java
@@ -646,83 +646,6 @@ public final class GraphHelper {
 + edge.getInVertex() + "]";
 }
 
-public static  void setProperty(T element, String 
propertyName, Object value) {
-String actualPropertyName = 
AtlasGraphUtilsV2.encodePropertyKey(propertyName);
-
-String elementStr = null;
-
-if (LOG.isDebugEnabled()) {
-elementStr = string(element);
-
-LOG.debug("Setting property {} = \"{}\" to {}", 
actualPropertyName, value, elementStr);
-}
-
-Object existValue = element.getProperty(actualPropertyName, 
Object.class);
-if(value == null || (value instanceof Collection && ((Collection) 
value).isEmpty())) {
-if(existValue != null) {
-if (LOG.isDebugEnabled()) {
-LOG.debug("Removing property - {} value from {}", 
actualPropertyName, elementStr);
-}
-
-element.removeProperty(actualPropertyName);
-}
-} else {
-if (!value.equals(existValue)) {
-element.setProperty(actualPropertyName, value);
-
-if (LOG.isDebugEnabled()) {
-LOG.debug("Set property {} = \"{}\" to {}", 
actualPropertyName, value, elementStr);
-}
-}
-}
-}
-
-/**
- * Gets the value of a property that is stored in the graph as a single 
property value.  If
- * a multi-property such as {@link Constants#TRAIT_NAMES_PROPERTY_KEY} or 
{@link Constants#SUPER_TYPES_PROPERTY_KEY}
- * is used, an exception will be thrown.
- *
- * @param element
- * @param propertyName
- * @param clazz
- * @return
- */
-public static  T getSingleValuedProperty(AtlasElement element, String 
propertyName, Class clazz) {
-String actualPropertyName = 
AtlasGraphUtilsV2.encodePropertyKey(propertyName);
-
-if (LOG.isTraceEnabled()) {
-LOG.trace("Reading property {} from {}", actualPropertyName, 
string(element));
-}
-
-return element.getProperty(actualPropertyName, clazz);
-}
-
-
-public static Object getProperty(AtlasVertex vertex, String 
propertyName) {
-String actualPropertyName = 
AtlasGraphUtilsV2.encodePropertyKey(propertyName);
-
-if (LOG.isTraceEnabled()) {
-LOG.trace("Reading property {} from {}", actualPropertyName, 
string(vertex));
-}
-
-
if(AtlasGraphProvider.getGraphInstance().isMultiProperty(actualPropertyName)) {
-return vertex.getPropertyValues(actualPropertyName, String.class);
-}
-else {
-return vertex.getProperty(actualPropertyName, Object.class);
-}
-}
-
-public static Object getProperty(AtlasEdge edge, String propertyName) 
{
-String actualPropertyName = 
AtlasGraphUtilsV2.encodePropertyKey(propertyName);
-
-if (LOG.isTraceEnabled()) {
-LOG.trace("Reading property {} from {}", actualPropertyName, 
string(edge));
-}
-
-return edge.getProperty(actualPropertyName, Object.class);
-}
-
 private static  String string(T element) {
 if (e

atlas git commit: ATLAS-2836: Remove redundant encoding of vertex property keys - #2

2018-08-25 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 bcf904d8d -> 0e632a4ed


ATLAS-2836: Remove redundant encoding of vertex property keys - #2


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

Branch: refs/heads/branch-1.0
Commit: 0e632a4ed01da9a22137cab0c63bf2c714e4ea0f
Parents: bcf904d
Author: Madhan Neethiraj 
Authored: Sat Aug 25 10:00:39 2018 -0700
Committer: Madhan Neethiraj 
Committed: Sat Aug 25 10:00:39 2018 -0700

--
 .../store/graph/v2/EntityGraphMapper.java| 19 ---
 1 file changed, 16 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/0e632a4e/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
index 52e992c..9496946 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/EntityGraphMapper.java
@@ -35,7 +35,6 @@ import org.apache.atlas.model.instance.EntityMutationResponse;
 import org.apache.atlas.model.instance.EntityMutations.EntityOperation;
 import org.apache.atlas.model.typedef.AtlasStructDef.AtlasAttributeDef;
 import 
org.apache.atlas.model.typedef.AtlasStructDef.AtlasAttributeDef.Cardinality;
-import org.apache.atlas.repository.Constants;
 import org.apache.atlas.repository.RepositoryException;
 import org.apache.atlas.repository.converters.AtlasInstanceConverter;
 import org.apache.atlas.repository.graph.GraphHelper;
@@ -77,18 +76,32 @@ import static 
org.apache.atlas.model.instance.EntityMutations.EntityOperation.DE
 import static 
org.apache.atlas.model.instance.EntityMutations.EntityOperation.PARTIAL_UPDATE;
 import static 
org.apache.atlas.model.instance.EntityMutations.EntityOperation.UPDATE;
 import static 
org.apache.atlas.model.typedef.AtlasStructDef.AtlasAttributeDef.Cardinality.SET;
+import static 
org.apache.atlas.repository.Constants.ATTRIBUTE_INDEX_PROPERTY_KEY;
 import static org.apache.atlas.repository.Constants.ATTRIBUTE_KEY_PROPERTY_KEY;
+import static org.apache.atlas.repository.Constants.CLASSIFICATION_ENTITY_GUID;
+import static 
org.apache.atlas.repository.Constants.CLASSIFICATION_ENTITY_STATUS;
 import static org.apache.atlas.repository.Constants.CLASSIFICATION_LABEL;
+import static 
org.apache.atlas.repository.Constants.CLASSIFICATION_VALIDITY_PERIODS_KEY;
+import static 
org.apache.atlas.repository.Constants.CLASSIFICATION_VERTEX_PROPAGATE_KEY;
 import static 
org.apache.atlas.repository.Constants.CLASSIFICATION_VERTEX_REMOVE_PROPAGATIONS_KEY;
+import static org.apache.atlas.repository.Constants.CREATED_BY_KEY;
+import static org.apache.atlas.repository.Constants.ENTITY_TYPE_PROPERTY_KEY;
+import static org.apache.atlas.repository.Constants.GUID_PROPERTY_KEY;
+import static org.apache.atlas.repository.Constants.HOME_ID_KEY;
+import static org.apache.atlas.repository.Constants.IS_PROXY_KEY;
+import static 
org.apache.atlas.repository.Constants.MODIFICATION_TIMESTAMP_PROPERTY_KEY;
+import static org.apache.atlas.repository.Constants.MODIFIED_BY_KEY;
+import static 
org.apache.atlas.repository.Constants.RELATIONSHIP_GUID_PROPERTY_KEY;
 import static org.apache.atlas.repository.Constants.STATE_PROPERTY_KEY;
+import static org.apache.atlas.repository.Constants.SUPER_TYPES_PROPERTY_KEY;
+import static org.apache.atlas.repository.Constants.TIMESTAMP_PROPERTY_KEY;
 import static org.apache.atlas.repository.Constants.TRAIT_NAMES_PROPERTY_KEY;
-import static 
org.apache.atlas.repository.Constants.ATTRIBUTE_INDEX_PROPERTY_KEY;
+import static org.apache.atlas.repository.Constants.VERSION_PROPERTY_KEY;
 import static 
org.apache.atlas.repository.graph.GraphHelper.getCollectionElementsUsingRelationship;
 import static 
org.apache.atlas.repository.graph.GraphHelper.getClassificationEdge;
 import static 
org.apache.atlas.repository.graph.GraphHelper.getClassificationVertex;
 import static 
org.apache.atlas.repository.graph.GraphHelper.getDefaultRemovePropagations;
 import static 
org.apache.atlas.repository.graph.GraphHelper.getMapElementsProperty;
-import static 
org.apache.atlas.repository.graph.GraphHelper.getPropagatedTraitNames;
 import static org.apache.atlas.repository.graph.GraphHelper.getStatus;
 import static org.apache.atlas.repository.graph.GraphHelper.getTraitLabel;
 import sta

atlas git commit: ATLAS-2823: updated hooks to support asynchronous notifications - #2

2018-08-22 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master 4b2324f36 -> a7cd9ac38


ATLAS-2823: updated hooks to support asynchronous notifications - #2


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

Branch: refs/heads/master
Commit: a7cd9ac38dd5dcd105a7d5a28c50e851ee0d29a0
Parents: 4b2324f
Author: Madhan Neethiraj 
Authored: Wed Aug 22 04:27:25 2018 -0700
Committer: Madhan Neethiraj 
Committed: Wed Aug 22 04:27:25 2018 -0700

--
 notification/src/main/java/org/apache/atlas/hook/AtlasHook.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/a7cd9ac3/notification/src/main/java/org/apache/atlas/hook/AtlasHook.java
--
diff --git a/notification/src/main/java/org/apache/atlas/hook/AtlasHook.java 
b/notification/src/main/java/org/apache/atlas/hook/AtlasHook.java
index 406f679..31874af 100644
--- a/notification/src/main/java/org/apache/atlas/hook/AtlasHook.java
+++ b/notification/src/main/java/org/apache/atlas/hook/AtlasHook.java
@@ -113,13 +113,13 @@ public abstract class AtlasHook {
 
 if (isAsync) {
 int  minThreads  = 
atlasProperties.getInt(ATLAS_NOTIFICATION_ASYNCHRONOUS_MIN_THREADS, 1);
-int  maxThreads  = 
atlasProperties.getInt(ATLAS_NOTIFICATION_ASYNCHRONOUS_MAX_THREADS, 5);
+int  maxThreads  = 
atlasProperties.getInt(ATLAS_NOTIFICATION_ASYNCHRONOUS_MAX_THREADS, 1);
 long keepAliveTimeMs = 
atlasProperties.getLong(ATLAS_NOTIFICATION_ASYNCHRONOUS_KEEP_ALIVE_TIME_MS, 
1);
 int  queueSize   = 
atlasProperties.getInt(ATLAS_NOTIFICATION_ASYNCHRONOUS_QUEUE_SIZE, 1);
 
 executor = new ThreadPoolExecutor(minThreads, maxThreads, 
keepAliveTimeMs, TimeUnit.MILLISECONDS,
   new 
LinkedBlockingDeque<>(queueSize),
-  new 
ThreadFactoryBuilder().setNameFormat("Atlas Notifier %d").build());
+  new 
ThreadFactoryBuilder().setNameFormat("Atlas Notifier 
%d").setDaemon(true).build());
 
 ShutdownHookManager.get().addShutdownHook(new Thread() {
 @Override



atlas git commit: ATLAS-2823: updated hooks to support asynchronous notifications - #2

2018-08-22 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 d1f491112 -> b432547b8


ATLAS-2823: updated hooks to support asynchronous notifications - #2


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

Branch: refs/heads/branch-0.8
Commit: b432547b8c7fa498dbecf41a36661029620f1691
Parents: d1f4911
Author: Madhan Neethiraj 
Authored: Wed Aug 22 04:15:53 2018 -0700
Committer: Madhan Neethiraj 
Committed: Wed Aug 22 04:15:53 2018 -0700

--
 notification/src/main/java/org/apache/atlas/hook/AtlasHook.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/b432547b/notification/src/main/java/org/apache/atlas/hook/AtlasHook.java
--
diff --git a/notification/src/main/java/org/apache/atlas/hook/AtlasHook.java 
b/notification/src/main/java/org/apache/atlas/hook/AtlasHook.java
index 8d24035..d4b0715 100644
--- a/notification/src/main/java/org/apache/atlas/hook/AtlasHook.java
+++ b/notification/src/main/java/org/apache/atlas/hook/AtlasHook.java
@@ -119,13 +119,13 @@ public abstract class AtlasHook {
 
 if (isAsync) {
 int  minThreads  = 
atlasProperties.getInt(ATLAS_NOTIFICATION_ASYNCHRONOUS_MIN_THREADS, 1);
-int  maxThreads  = 
atlasProperties.getInt(ATLAS_NOTIFICATION_ASYNCHRONOUS_MAX_THREADS, 5);
+int  maxThreads  = 
atlasProperties.getInt(ATLAS_NOTIFICATION_ASYNCHRONOUS_MAX_THREADS, 1);
 long keepAliveTimeMs = 
atlasProperties.getLong(ATLAS_NOTIFICATION_ASYNCHRONOUS_KEEP_ALIVE_TIME_MS, 
1);
 int  queueSize   = 
atlasProperties.getInt(ATLAS_NOTIFICATION_ASYNCHRONOUS_QUEUE_SIZE, 1);
 
 executor = new ThreadPoolExecutor(minThreads, maxThreads, 
keepAliveTimeMs, TimeUnit.MILLISECONDS,
   new 
LinkedBlockingDeque<>(queueSize),
-  new 
ThreadFactoryBuilder().setNameFormat("Atlas Notifier %d").build());
+  new 
ThreadFactoryBuilder().setNameFormat("Atlas Notifier 
%d").setDaemon(true).build());
 
 ShutdownHookManager.get().addShutdownHook(new Thread() {
 @Override



atlas git commit: ATLAS-2823: updated hooks to support asynchronous notifications

2018-08-16 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 9da91296f -> 9bdbb3184


ATLAS-2823: updated hooks to support asynchronous notifications

(cherry picked from commit 52ef9e7f3962da2bf77a15ab1a1bcef8d47b2877)


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

Branch: refs/heads/branch-0.8
Commit: 9bdbb31842c93412ebfe27d98bd8dcbabe7d80f4
Parents: 9da9129
Author: Madhan Neethiraj 
Authored: Tue Aug 14 16:18:19 2018 -0700
Committer: Madhan Neethiraj 
Committed: Thu Aug 16 18:27:39 2018 -0700

--
 .../apache/atlas/falcon/hook/FalconHook.java|  85 +-
 .../atlas/hbase/bridge/HBaseAtlasHook.java  | 274 +++
 .../org/apache/atlas/hive/hook/HiveHook.java|  12 +-
 .../org/apache/atlas/sqoop/hook/SqoopHook.java  |  14 +-
 .../apache/atlas/storm/hook/StormAtlasHook.java | 138 +-
 .../java/org/apache/atlas/hook/AtlasHook.java   | 193 -
 .../org/apache/atlas/hook/AtlasHookTest.java|  12 +-
 7 files changed, 250 insertions(+), 478 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/9bdbb318/addons/falcon-bridge/src/main/java/org/apache/atlas/falcon/hook/FalconHook.java
--
diff --git 
a/addons/falcon-bridge/src/main/java/org/apache/atlas/falcon/hook/FalconHook.java
 
b/addons/falcon-bridge/src/main/java/org/apache/atlas/falcon/hook/FalconHook.java
index 188b754..6876595 100644
--- 
a/addons/falcon-bridge/src/main/java/org/apache/atlas/falcon/hook/FalconHook.java
+++ 
b/addons/falcon-bridge/src/main/java/org/apache/atlas/falcon/hook/FalconHook.java
@@ -18,30 +18,22 @@
 
 package org.apache.atlas.falcon.hook;
 
-import com.google.common.util.concurrent.ThreadFactoryBuilder;
-import org.apache.atlas.AtlasConstants;
 import org.apache.atlas.falcon.bridge.FalconBridge;
 import org.apache.atlas.falcon.event.FalconEvent;
 import org.apache.atlas.falcon.publisher.FalconEventPublisher;
 import org.apache.atlas.hook.AtlasHook;
-import org.apache.atlas.kafka.NotificationProvider;
 import org.apache.atlas.notification.hook.HookNotification;
 import org.apache.atlas.typesystem.Referenceable;
 import org.apache.falcon.FalconException;
 import org.apache.falcon.entity.store.ConfigurationStore;
 import org.apache.falcon.entity.v0.feed.Feed;
 import org.apache.falcon.entity.v0.process.Process;
-import org.apache.hadoop.util.ShutdownHookManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
 
 /**
  * Falcon hook sends lineage information to the Atlas Service.
@@ -49,27 +41,6 @@ import java.util.concurrent.TimeUnit;
 public class FalconHook extends AtlasHook implements FalconEventPublisher {
 private static final Logger LOG = 
LoggerFactory.getLogger(FalconHook.class);
 
-public static final String CONF_PREFIX = "atlas.hook.falcon.";
-private static final String MIN_THREADS = CONF_PREFIX + "minThreads";
-private static final String MAX_THREADS = CONF_PREFIX + "maxThreads";
-private static final String KEEP_ALIVE_TIME = CONF_PREFIX + 
"keepAliveTime";
-public static final String QUEUE_SIZE = CONF_PREFIX + "queueSize";
-public static final String CONF_SYNC = CONF_PREFIX + "synchronous";
-
-public static final String HOOK_NUM_RETRIES = CONF_PREFIX + "numRetries";
-
-// wait time determines how long we wait before we exit the jvm on
-// shutdown. Pending requests after that will not be sent.
-private static final int WAIT_TIME = 3;
-private static ExecutorService executor;
-
-private static final int minThreadsDefault = 5;
-private static final int maxThreadsDefault = 5;
-private static final long keepAliveTimeDefault = 10;
-private static final int queueSizeDefault = 1;
-
-private static boolean sync;
-
 private static ConfigurationStore STORE;
 
 private enum Operation {
@@ -79,45 +50,11 @@ public class FalconHook extends AtlasHook implements 
FalconEventPublisher {
 
 static {
 try {
-// initialize the async facility to process hook calls. We don't
-// want to do this inline since it adds plenty of overhead for the 
query.
-int minThreads = atlasProperties.getInt(MIN_THREADS, 
minThreadsDefault);
-int maxThreads = atlasProperties.getInt(MAX_THREADS, 
maxT

atlas git commit: ATLAS-2355/ATLAS-2362: Fix IT failures (branch-0.8) (picked from master branch fix in ecf8095ff92252f252e14292bb5d82d7b6aa1951) (picked from master branch fix in 0345cd41a80f45e6b733

2018-08-16 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 3021027c9 -> 9da91296f


ATLAS-2355/ATLAS-2362: Fix IT failures (branch-0.8)
(picked from master branch fix in ecf8095ff92252f252e14292bb5d82d7b6aa1951)
(picked from master branch fix in 0345cd41a80f45e6b7330749b79a0e4c379768b3)


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

Branch: refs/heads/branch-0.8
Commit: 9da91296f4e5637c35d78649f16ed23ebecf8b09
Parents: 3021027
Author: Madhan Neethiraj 
Authored: Wed Aug 15 23:52:11 2018 -0700
Committer: Madhan Neethiraj 
Committed: Thu Aug 16 12:07:53 2018 -0700

--
 .../atlas/storm/hook/StormAtlasHookIT.java  |   2 +-
 .../atlas/web/integration/BasicSearchIT.java|   4 +-
 .../web/integration/EntityJerseyResourceIT.java |  45 +-
 .../json/search-parameters/entity-filters.json  | 148 ++-
 4 files changed, 156 insertions(+), 43 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/9da91296/addons/storm-bridge/src/test/java/org/apache/atlas/storm/hook/StormAtlasHookIT.java
--
diff --git 
a/addons/storm-bridge/src/test/java/org/apache/atlas/storm/hook/StormAtlasHookIT.java
 
b/addons/storm-bridge/src/test/java/org/apache/atlas/storm/hook/StormAtlasHookIT.java
index e0800b8..4bb807b 100644
--- 
a/addons/storm-bridge/src/test/java/org/apache/atlas/storm/hook/StormAtlasHookIT.java
+++ 
b/addons/storm-bridge/src/test/java/org/apache/atlas/storm/hook/StormAtlasHookIT.java
@@ -36,7 +36,7 @@ import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
-@Test
+@Test(enabled = false)
 public class StormAtlasHookIT {
 
 public static final Logger LOG = 
LoggerFactory.getLogger(StormAtlasHookIT.class);

http://git-wip-us.apache.org/repos/asf/atlas/blob/9da91296/webapp/src/test/java/org/apache/atlas/web/integration/BasicSearchIT.java
--
diff --git 
a/webapp/src/test/java/org/apache/atlas/web/integration/BasicSearchIT.java 
b/webapp/src/test/java/org/apache/atlas/web/integration/BasicSearchIT.java
index 5806a10..095b7b9 100644
--- a/webapp/src/test/java/org/apache/atlas/web/integration/BasicSearchIT.java
+++ b/webapp/src/test/java/org/apache/atlas/web/integration/BasicSearchIT.java
@@ -123,8 +123,8 @@ public class BasicSearchIT extends BaseResourceIT {
 
 AtlasSearchResult searchResult = 
atlasClientV2.facetedSearch(testExpectation.searchParameters);
 if (testExpectation.expectedCount > 0) {
-assertNotNull(searchResult.getEntities());
-assertEquals(searchResult.getEntities().size(), 
testExpectation.expectedCount);
+assertNotNull(searchResult.getEntities(), "jsonFile: " + 
jsonFile + ", description: " + testExpectation.testDescription);
+assertEquals(searchResult.getEntities().size(), 
testExpectation.expectedCount, "jsonFile: " + jsonFile + ", description: " + 
testExpectation.testDescription + "; result=" + searchResult.getEntities());
 }
 }
 } catch (IOException | AtlasServiceException e) {

http://git-wip-us.apache.org/repos/asf/atlas/blob/9da91296/webapp/src/test/java/org/apache/atlas/web/integration/EntityJerseyResourceIT.java
--
diff --git 
a/webapp/src/test/java/org/apache/atlas/web/integration/EntityJerseyResourceIT.java
 
b/webapp/src/test/java/org/apache/atlas/web/integration/EntityJerseyResourceIT.java
index f2a7801..ccd67b4 100755
--- 
a/webapp/src/test/java/org/apache/atlas/web/integration/EntityJerseyResourceIT.java
+++ 
b/webapp/src/test/java/org/apache/atlas/web/integration/EntityJerseyResourceIT.java
@@ -60,8 +60,11 @@ import javax.ws.rs.core.Response;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
 import java.util.UUID;
 
 import static org.testng.Assert.assertEquals;
@@ -874,10 +877,16 @@ public class EntityJerseyResourceIT extends 
BaseResourceIT {
 assertEquals(entityResult.getUpdateEntities().size(), 1);
 assertEquals(entityResult.getUpdateEntities().get(0), guid);
 
-Referenceable entity = atlasClientV1.getEntity(guid);
-List refs = (List) entity.get("columns");
+Referenceable   entity   = atlasClientV1.get

atlas git commit: ATLAS-2826: fix for failure in authorizing save-search operation.

2018-08-16 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 56ac0161e -> 028a623a7


ATLAS-2826: fix for failure in authorizing save-search operation.

Also, skipping add-relationship authorization if either end has legacy 
attribute - since this would be covered in authorization of entity-update

(cherry picked from commit 5332f2e591d45c5e37492e7b4a441a0578446069)


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

Branch: refs/heads/branch-1.0
Commit: 028a623a7ef1477e870602476887b1073993114c
Parents: 56ac016
Author: Madhan Neethiraj 
Authored: Thu Aug 16 03:24:41 2018 -0700
Committer: Madhan Neethiraj 
Committed: Thu Aug 16 04:55:48 2018 -0700

--
 .../atlas/authorize/AtlasAccessRequest.java | 33 +++-
 .../authorize/AtlasEntityAccessRequest.java |  4 +--
 .../AtlasRelationshipAccessRequest.java | 18 +++
 .../org/apache/atlas/type/AtlasEntityType.java  | 20 ++--
 .../atlas/type/AtlasRelationshipType.java   | 15 ++---
 .../graph/v2/AtlasRelationshipStoreV2.java  | 31 +-
 6 files changed, 77 insertions(+), 44 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/028a623a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
--
diff --git 
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
 
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
index 8cdd676..b031f4c 100644
--- 
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
+++ 
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
@@ -21,18 +21,23 @@ import org.apache.atlas.model.instance.AtlasClassification;
 import org.apache.atlas.model.instance.AtlasEntityHeader;
 import org.apache.atlas.type.AtlasClassificationType;
 import org.apache.atlas.type.AtlasEntityType;
+import org.apache.atlas.type.AtlasStructType.AtlasAttribute;
 import org.apache.atlas.type.AtlasTypeRegistry;
+import org.apache.commons.collections.MapUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.util.Collections;
 import java.util.Date;
 import java.util.HashSet;
+import java.util.Map;
 import java.util.Set;
 
 public class AtlasAccessRequest {
 private static Logger LOG = 
LoggerFactory.getLogger(AtlasAccessRequest.class);
 
+private static final String DEFAULT_ENTITY_ID_ATTRIBUTE = "qualifiedName";
+
 private final AtlasPrivilege action;
 private final Date   accessTime;
 private   String user= null;
@@ -118,17 +123,31 @@ public class AtlasAccessRequest {
 }
 
 public String getEntityId(AtlasEntityHeader entity) {
-final String ret;
+return getEntityId(entity, null);
+}
 
-if (entity == null) {
-ret = null;
-} else {
-String qualifiedName = (String) 
entity.getAttribute("qualifiedName");
+public String getEntityId(AtlasEntityHeader entity, AtlasTypeRegistry 
typeRegistry) {
+Object ret = null;
+
+if (entity != null) {
+AtlasEntityType entityType = typeRegistry == null 
? null : typeRegistry.getEntityTypeByName(entity.getTypeName());
+Map uniqAttributes = entityType == null ? 
null : entityType.getUniqAttributes();
 
-ret = qualifiedName;
+if (MapUtils.isEmpty(uniqAttributes)) {
+ret = entity.getAttribute(DEFAULT_ENTITY_ID_ATTRIBUTE);
+} else {
+for (AtlasAttribute uniqAttribute : uniqAttributes.values()) {
+ret = entity.getAttribute(uniqAttribute.getName());
+
+if (ret != null) {
+break;
+}
+}
+
+}
 }
 
-return ret;
+return ret == null ? "" : ret.toString();
 }
 
 public Set getClassificationNames(AtlasEntityHeader entity) {

http://git-wip-us.apache.org/repos/asf/atlas/blob/028a623a/authorization/src/main/java/org/apache/atlas/authorize/AtlasEntityAccessRequest.java
--
diff --git 
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasEntityAccessRequest.java
 
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasEntityAccessRequest.java
index d87c830..07ff678 100644
--- 
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasEntityAccessRequest.java
+++ 
b/authorization/src/main/java/org/apache/atlas/author

atlas git commit: ATLAS-2826: fix for failure in authorizing save-search operation.

2018-08-16 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master 24830e6bc -> 5332f2e59


ATLAS-2826: fix for failure in authorizing save-search operation.

Also, skipping add-relationship authorization if either end has legacy 
attribute - since this would be covered in authorization of entity-update


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

Branch: refs/heads/master
Commit: 5332f2e591d45c5e37492e7b4a441a0578446069
Parents: 24830e6
Author: Madhan Neethiraj 
Authored: Thu Aug 16 03:24:41 2018 -0700
Committer: Madhan Neethiraj 
Committed: Thu Aug 16 04:41:26 2018 -0700

--
 .../atlas/authorize/AtlasAccessRequest.java | 33 +++-
 .../authorize/AtlasEntityAccessRequest.java |  4 +--
 .../AtlasRelationshipAccessRequest.java | 18 +++
 .../org/apache/atlas/type/AtlasEntityType.java  | 20 ++--
 .../atlas/type/AtlasRelationshipType.java   | 15 ++---
 .../graph/v2/AtlasRelationshipStoreV2.java  | 31 +-
 6 files changed, 77 insertions(+), 44 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/5332f2e5/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
--
diff --git 
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
 
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
index 8cdd676..b031f4c 100644
--- 
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
+++ 
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
@@ -21,18 +21,23 @@ import org.apache.atlas.model.instance.AtlasClassification;
 import org.apache.atlas.model.instance.AtlasEntityHeader;
 import org.apache.atlas.type.AtlasClassificationType;
 import org.apache.atlas.type.AtlasEntityType;
+import org.apache.atlas.type.AtlasStructType.AtlasAttribute;
 import org.apache.atlas.type.AtlasTypeRegistry;
+import org.apache.commons.collections.MapUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.util.Collections;
 import java.util.Date;
 import java.util.HashSet;
+import java.util.Map;
 import java.util.Set;
 
 public class AtlasAccessRequest {
 private static Logger LOG = 
LoggerFactory.getLogger(AtlasAccessRequest.class);
 
+private static final String DEFAULT_ENTITY_ID_ATTRIBUTE = "qualifiedName";
+
 private final AtlasPrivilege action;
 private final Date   accessTime;
 private   String user= null;
@@ -118,17 +123,31 @@ public class AtlasAccessRequest {
 }
 
 public String getEntityId(AtlasEntityHeader entity) {
-final String ret;
+return getEntityId(entity, null);
+}
 
-if (entity == null) {
-ret = null;
-} else {
-String qualifiedName = (String) 
entity.getAttribute("qualifiedName");
+public String getEntityId(AtlasEntityHeader entity, AtlasTypeRegistry 
typeRegistry) {
+Object ret = null;
+
+if (entity != null) {
+AtlasEntityType entityType = typeRegistry == null 
? null : typeRegistry.getEntityTypeByName(entity.getTypeName());
+Map uniqAttributes = entityType == null ? 
null : entityType.getUniqAttributes();
 
-ret = qualifiedName;
+if (MapUtils.isEmpty(uniqAttributes)) {
+ret = entity.getAttribute(DEFAULT_ENTITY_ID_ATTRIBUTE);
+} else {
+for (AtlasAttribute uniqAttribute : uniqAttributes.values()) {
+ret = entity.getAttribute(uniqAttribute.getName());
+
+if (ret != null) {
+break;
+}
+}
+
+}
 }
 
-return ret;
+return ret == null ? "" : ret.toString();
 }
 
 public Set getClassificationNames(AtlasEntityHeader entity) {

http://git-wip-us.apache.org/repos/asf/atlas/blob/5332f2e5/authorization/src/main/java/org/apache/atlas/authorize/AtlasEntityAccessRequest.java
--
diff --git 
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasEntityAccessRequest.java
 
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasEntityAccessRequest.java
index d87c830..07ff678 100644
--- 
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasEntityAccessRequest.java
+++ 
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasEntityAccessRequest.java
@@ -65,7 +65,7 @@ public class

atlas git commit: ATLAS-2546: Fix for Hive Hook IT failure.

2018-08-16 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 e6c118756 -> 6641a17b1


ATLAS-2546: Fix for Hive Hook IT failure.

Signed-off-by: Ashutosh Mestry 
(cherry picked from commit 71965e31a2d50fcddb04e36fd473cc199baa875f)


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

Branch: refs/heads/branch-0.8
Commit: 6641a17b102370b366ab90cc333c2e91dcfb8482
Parents: e6c1187
Author: Péter Gergő Barna 
Authored: Wed Apr 11 17:07:53 2018 -0700
Committer: Madhan Neethiraj 
Committed: Wed Aug 15 23:33:38 2018 -0700

--
 .../hive/bridge/HiveMetastoreBridgeIT.java  | 20 
 1 file changed, 8 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/6641a17b/addons/hive-bridge/src/test/java/org/apache/atlas/hive/bridge/HiveMetastoreBridgeIT.java
--
diff --git 
a/addons/hive-bridge/src/test/java/org/apache/atlas/hive/bridge/HiveMetastoreBridgeIT.java
 
b/addons/hive-bridge/src/test/java/org/apache/atlas/hive/bridge/HiveMetastoreBridgeIT.java
index afdc7be..4ae6468 100644
--- 
a/addons/hive-bridge/src/test/java/org/apache/atlas/hive/bridge/HiveMetastoreBridgeIT.java
+++ 
b/addons/hive-bridge/src/test/java/org/apache/atlas/hive/bridge/HiveMetastoreBridgeIT.java
@@ -94,28 +94,24 @@ public class HiveMetastoreBridgeIT extends HiveITBase {
 assertEquals(outputs.get(0).getGuid(), tableId);
 }
 
-
-@Test
+//TODO enable this test
+//@Test
 public void testCreateTableHiveProcessNameAttribute() throws Exception {
//test if \n is trimmed from name attribute of the process entity
 String tableName = tableName();
-String tableName2 = tableName();
-String name = String.format("create table %s (id string)", tableName2);
-String query = String.format("create table %s (id string);%n%n%s;", 
tableName, name);
+String processNameQuery = String.format("create table %s (id string)", 
tableName);
+//add \n at the beginning of the query
+String query = String.format("%n%n%s", processNameQuery);
+
 runCommand(query);
 
 String dbId = assertDatabaseIsRegistered(DEFAULT_DB);
 String tableId = assertTableIsRegistered(DEFAULT_DB, tableName);
-String tableId2 = assertTableIsRegistered(DEFAULT_DB, tableName2);
 
-//verify lineage is created
+//verify lineage is created and the name attribute is the query 
without \n
 String  processId  = 
assertEntityIsRegistered(HiveDataTypes.HIVE_PROCESS.getName(), 
AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, 
getTableProcessQualifiedName(DEFAULT_DB, tableName), null);
 AtlasEntity processsEntity = 
atlasClientV2.getEntityByGuid(processId).getEntity();
 
-String  processId2  = 
assertEntityIsRegistered(HiveDataTypes.HIVE_PROCESS.getName(), 
AtlasClient.REFERENCEABLE_ATTRIBUTE_NAME, 
getTableProcessQualifiedName(DEFAULT_DB, tableName2), null);
-AtlasEntity processsEntity2 = 
atlasClientV2.getEntityByGuid(processId2).getEntity();
-
-assertEquals(processsEntity2.getAttribute("name"), name);
+assertEquals(processsEntity.getAttribute("name"), processNameQuery);
 }
-
 }



atlas git commit: ATLAS-2823: updated hooks to support asynchronous notifications

2018-08-15 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 c245049a7 -> 56ac0161e


ATLAS-2823: updated hooks to support asynchronous notifications

(cherry picked from commit 52ef9e7f3962da2bf77a15ab1a1bcef8d47b2877)


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

Branch: refs/heads/branch-1.0
Commit: 56ac0161e4f1ba92bf44235173d2912ea60d99d2
Parents: c245049
Author: Madhan Neethiraj 
Authored: Tue Aug 14 16:18:19 2018 -0700
Committer: Madhan Neethiraj 
Committed: Wed Aug 15 15:02:31 2018 -0700

--
 .../apache/atlas/falcon/hook/FalconHook.java|  85 +-
 .../atlas/hbase/bridge/HBaseAtlasHook.java  | 273 +++
 .../org/apache/atlas/hive/hook/HiveHook.java|  12 +-
 .../org/apache/atlas/sqoop/hook/SqoopHook.java  |  14 +-
 .../apache/atlas/storm/hook/StormAtlasHook.java |   9 +-
 .../java/org/apache/atlas/hook/AtlasHook.java   | 176 
 .../org/apache/atlas/hook/AtlasHookTest.java|  12 +-
 7 files changed, 180 insertions(+), 401 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/56ac0161/addons/falcon-bridge/src/main/java/org/apache/atlas/falcon/hook/FalconHook.java
--
diff --git 
a/addons/falcon-bridge/src/main/java/org/apache/atlas/falcon/hook/FalconHook.java
 
b/addons/falcon-bridge/src/main/java/org/apache/atlas/falcon/hook/FalconHook.java
index 77177b4..8c09d33 100644
--- 
a/addons/falcon-bridge/src/main/java/org/apache/atlas/falcon/hook/FalconHook.java
+++ 
b/addons/falcon-bridge/src/main/java/org/apache/atlas/falcon/hook/FalconHook.java
@@ -18,13 +18,10 @@
 
 package org.apache.atlas.falcon.hook;
 
-import com.google.common.util.concurrent.ThreadFactoryBuilder;
-import org.apache.atlas.AtlasConstants;
 import org.apache.atlas.falcon.bridge.FalconBridge;
 import org.apache.atlas.falcon.event.FalconEvent;
 import org.apache.atlas.falcon.publisher.FalconEventPublisher;
 import org.apache.atlas.hook.AtlasHook;
-import org.apache.atlas.kafka.NotificationProvider;
 import org.apache.atlas.model.notification.HookNotification;
 import org.apache.atlas.v1.model.instance.Referenceable;
 import 
org.apache.atlas.v1.model.notification.HookNotificationV1.EntityCreateRequest;
@@ -32,17 +29,12 @@ import org.apache.falcon.FalconException;
 import org.apache.falcon.entity.store.ConfigurationStore;
 import org.apache.falcon.entity.v0.feed.Feed;
 import org.apache.falcon.entity.v0.process.Process;
-import org.apache.hadoop.util.ShutdownHookManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
 
 /**
  * Falcon hook sends lineage information to the Atlas Service.
@@ -50,27 +42,6 @@ import java.util.concurrent.TimeUnit;
 public class FalconHook extends AtlasHook implements FalconEventPublisher {
 private static final Logger LOG = 
LoggerFactory.getLogger(FalconHook.class);
 
-public static final String CONF_PREFIX = "atlas.hook.falcon.";
-private static final String MIN_THREADS = CONF_PREFIX + "minThreads";
-private static final String MAX_THREADS = CONF_PREFIX + "maxThreads";
-private static final String KEEP_ALIVE_TIME = CONF_PREFIX + 
"keepAliveTime";
-public static final String QUEUE_SIZE = CONF_PREFIX + "queueSize";
-public static final String CONF_SYNC = CONF_PREFIX + "synchronous";
-
-public static final String HOOK_NUM_RETRIES = CONF_PREFIX + "numRetries";
-
-// wait time determines how long we wait before we exit the jvm on
-// shutdown. Pending requests after that will not be sent.
-private static final int WAIT_TIME = 3;
-private static ExecutorService executor;
-
-private static final int minThreadsDefault = 5;
-private static final int maxThreadsDefault = 5;
-private static final long keepAliveTimeDefault = 10;
-private static final int queueSizeDefault = 1;
-
-private static boolean sync;
-
 private static ConfigurationStore STORE;
 
 private enum Operation {
@@ -80,45 +51,11 @@ public class FalconHook extends AtlasHook implements 
FalconEventPublisher {
 
 static {
 try {
-// initialize the async facility to process hook calls. We don't
-// want to do this inline since it adds plenty of overhead for the 
query.
-int minThreads = atlasProper

atlas git commit: ATLAS-2823: updated hooks to support asynchronous notifications

2018-08-15 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master 1179aff80 -> 52ef9e7f3


ATLAS-2823: updated hooks to support asynchronous notifications


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

Branch: refs/heads/master
Commit: 52ef9e7f3962da2bf77a15ab1a1bcef8d47b2877
Parents: 1179aff
Author: Madhan Neethiraj 
Authored: Tue Aug 14 16:18:19 2018 -0700
Committer: Madhan Neethiraj 
Committed: Wed Aug 15 13:39:37 2018 -0700

--
 .../apache/atlas/falcon/hook/FalconHook.java|  85 +-
 .../atlas/hbase/bridge/HBaseAtlasHook.java  | 273 +++
 .../org/apache/atlas/hive/hook/HiveHook.java|  12 +-
 .../org/apache/atlas/sqoop/hook/SqoopHook.java  |  14 +-
 .../apache/atlas/storm/hook/StormAtlasHook.java |   9 +-
 .../java/org/apache/atlas/hook/AtlasHook.java   | 176 
 .../org/apache/atlas/hook/AtlasHookTest.java|  12 +-
 7 files changed, 180 insertions(+), 401 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/52ef9e7f/addons/falcon-bridge/src/main/java/org/apache/atlas/falcon/hook/FalconHook.java
--
diff --git 
a/addons/falcon-bridge/src/main/java/org/apache/atlas/falcon/hook/FalconHook.java
 
b/addons/falcon-bridge/src/main/java/org/apache/atlas/falcon/hook/FalconHook.java
index 77177b4..8c09d33 100644
--- 
a/addons/falcon-bridge/src/main/java/org/apache/atlas/falcon/hook/FalconHook.java
+++ 
b/addons/falcon-bridge/src/main/java/org/apache/atlas/falcon/hook/FalconHook.java
@@ -18,13 +18,10 @@
 
 package org.apache.atlas.falcon.hook;
 
-import com.google.common.util.concurrent.ThreadFactoryBuilder;
-import org.apache.atlas.AtlasConstants;
 import org.apache.atlas.falcon.bridge.FalconBridge;
 import org.apache.atlas.falcon.event.FalconEvent;
 import org.apache.atlas.falcon.publisher.FalconEventPublisher;
 import org.apache.atlas.hook.AtlasHook;
-import org.apache.atlas.kafka.NotificationProvider;
 import org.apache.atlas.model.notification.HookNotification;
 import org.apache.atlas.v1.model.instance.Referenceable;
 import 
org.apache.atlas.v1.model.notification.HookNotificationV1.EntityCreateRequest;
@@ -32,17 +29,12 @@ import org.apache.falcon.FalconException;
 import org.apache.falcon.entity.store.ConfigurationStore;
 import org.apache.falcon.entity.v0.feed.Feed;
 import org.apache.falcon.entity.v0.process.Process;
-import org.apache.hadoop.util.ShutdownHookManager;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
 
 /**
  * Falcon hook sends lineage information to the Atlas Service.
@@ -50,27 +42,6 @@ import java.util.concurrent.TimeUnit;
 public class FalconHook extends AtlasHook implements FalconEventPublisher {
 private static final Logger LOG = 
LoggerFactory.getLogger(FalconHook.class);
 
-public static final String CONF_PREFIX = "atlas.hook.falcon.";
-private static final String MIN_THREADS = CONF_PREFIX + "minThreads";
-private static final String MAX_THREADS = CONF_PREFIX + "maxThreads";
-private static final String KEEP_ALIVE_TIME = CONF_PREFIX + 
"keepAliveTime";
-public static final String QUEUE_SIZE = CONF_PREFIX + "queueSize";
-public static final String CONF_SYNC = CONF_PREFIX + "synchronous";
-
-public static final String HOOK_NUM_RETRIES = CONF_PREFIX + "numRetries";
-
-// wait time determines how long we wait before we exit the jvm on
-// shutdown. Pending requests after that will not be sent.
-private static final int WAIT_TIME = 3;
-private static ExecutorService executor;
-
-private static final int minThreadsDefault = 5;
-private static final int maxThreadsDefault = 5;
-private static final long keepAliveTimeDefault = 10;
-private static final int queueSizeDefault = 1;
-
-private static boolean sync;
-
 private static ConfigurationStore STORE;
 
 private enum Operation {
@@ -80,45 +51,11 @@ public class FalconHook extends AtlasHook implements 
FalconEventPublisher {
 
 static {
 try {
-// initialize the async facility to process hook calls. We don't
-// want to do this inline since it adds plenty of overhead for the 
query.
-int minThreads = atlasProperties.getInt(MIN_THREADS, 
minThreadsDefault);
-int maxThreads = atlasProperties

atlas git commit: ATLAS-2809: updated authorization model to authorize add/update/remove of relationships

2018-08-04 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 e218c9ed5 -> f2a0dc2c7


ATLAS-2809: updated authorization model to authorize add/update/remove of 
relationships

Signed-off-by: Madhan Neethiraj 
(cherry picked from commit da967ea8be923102c3485a4cbf55c958f57e23fd)


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

Branch: refs/heads/branch-1.0
Commit: f2a0dc2c798ee8fb2cd22158b3da3eb9b3952332
Parents: e218c9e
Author: nixonrodrigues 
Authored: Mon Jul 30 18:32:23 2018 +0530
Committer: Madhan Neethiraj 
Committed: Sat Aug 4 15:34:33 2018 -0700

--
 .../atlas/authorize/AtlasAccessRequest.java |  69 ++
 .../authorize/AtlasAuthorizationUtils.java  |  30 +
 .../apache/atlas/authorize/AtlasAuthorizer.java |  12 +-
 .../authorize/AtlasEntityAccessRequest.java |  47 ++-
 .../atlas/authorize/AtlasNoneAuthorizer.java|   5 +
 .../apache/atlas/authorize/AtlasPrivilege.java  |   6 +-
 .../AtlasRelationshipAccessRequest.java |  87 +
 .../authorize/simple/AtlasSimpleAuthorizer.java |  81 +++-
 .../simple/AtlasSimpleAuthzPolicy.java  | 130 +--
 .../resources/atlas-simple-authz-policy.json|  34 -
 .../resources/atlas-simple-authz-policy.json|  12 ++
 distro/src/conf/atlas-simple-authz-policy.json  |  32 -
 .../graph/v2/AtlasRelationshipStoreV2.java  |  25 +++-
 13 files changed, 498 insertions(+), 72 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/f2a0dc2c/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
--
diff --git 
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
 
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
index 4ae9510..8cdd676 100644
--- 
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
+++ 
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
@@ -17,10 +17,17 @@
  */
 package org.apache.atlas.authorize;
 
+import org.apache.atlas.model.instance.AtlasClassification;
+import org.apache.atlas.model.instance.AtlasEntityHeader;
+import org.apache.atlas.type.AtlasClassificationType;
+import org.apache.atlas.type.AtlasEntityType;
+import org.apache.atlas.type.AtlasTypeRegistry;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.Collections;
 import java.util.Date;
+import java.util.HashSet;
 import java.util.Set;
 
 public class AtlasAccessRequest {
@@ -78,6 +85,68 @@ public class AtlasAccessRequest {
 this.clientIPAddress = clientIPAddress;
 }
 
+public Set getEntityTypeAndAllSuperTypes(String entityType, 
AtlasTypeRegistry typeRegistry) {
+final Set ret;
+
+if (entityType == null) {
+ret = Collections.emptySet();
+} else if (typeRegistry == null) {
+ret = Collections.singleton(entityType);
+} else {
+AtlasEntityType entType = 
typeRegistry.getEntityTypeByName(entityType);
+
+ret = entType != null ? entType.getTypeAndAllSuperTypes() : 
Collections.singleton(entityType);
+}
+
+return ret;
+}
+
+public Set getClassificationTypeAndAllSuperTypes(String 
classificationName, AtlasTypeRegistry typeRegistry) {
+final Set ret;
+
+if (classificationName == null) {
+ret = Collections.emptySet();
+} else if (typeRegistry == null) {
+ret = Collections.singleton(classificationName);
+} else {
+AtlasClassificationType classificationType = 
typeRegistry.getClassificationTypeByName(classificationName);
+
+return classificationType != null ? 
classificationType.getTypeAndAllSuperTypes() : 
Collections.singleton(classificationName);
+}
+
+return ret;
+}
+
+public String getEntityId(AtlasEntityHeader entity) {
+final String ret;
+
+if (entity == null) {
+ret = null;
+} else {
+String qualifiedName = (String) 
entity.getAttribute("qualifiedName");
+
+ret = qualifiedName;
+}
+
+return ret;
+}
+
+public Set getClassificationNames(AtlasEntityHeader entity) {
+final Set ret;
+
+if (entity == null || entity.getClassifications() == null) {
+ret = Collections.emptySet();
+} else {
+ret = new HashSet<>();
+
+for (AtlasClassification classify : entity.getClassifications()) {
+ret.add(classify.getTypeName());
+}
+

atlas git commit: ATLAS-2809: updated authorization model to authorize add/update/remove of relationships

2018-08-04 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master d5ecfee50 -> da967ea8b


ATLAS-2809: updated authorization model to authorize add/update/remove of 
relationships

Signed-off-by: Madhan Neethiraj 


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

Branch: refs/heads/master
Commit: da967ea8be923102c3485a4cbf55c958f57e23fd
Parents: d5ecfee
Author: nixonrodrigues 
Authored: Mon Jul 30 18:32:23 2018 +0530
Committer: Madhan Neethiraj 
Committed: Sat Aug 4 11:58:07 2018 -0700

--
 .../atlas/authorize/AtlasAccessRequest.java |  69 ++
 .../authorize/AtlasAuthorizationUtils.java  |  30 +
 .../apache/atlas/authorize/AtlasAuthorizer.java |  12 +-
 .../authorize/AtlasEntityAccessRequest.java |  47 ++-
 .../atlas/authorize/AtlasNoneAuthorizer.java|   5 +
 .../apache/atlas/authorize/AtlasPrivilege.java  |   6 +-
 .../AtlasRelationshipAccessRequest.java |  87 +
 .../authorize/simple/AtlasSimpleAuthorizer.java |  81 +++-
 .../simple/AtlasSimpleAuthzPolicy.java  | 130 +--
 .../resources/atlas-simple-authz-policy.json|  34 -
 .../resources/atlas-simple-authz-policy.json|  12 ++
 distro/src/conf/atlas-simple-authz-policy.json  |  32 -
 .../graph/v2/AtlasRelationshipStoreV2.java  |  25 +++-
 13 files changed, 498 insertions(+), 72 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/da967ea8/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
--
diff --git 
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
 
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
index 4ae9510..8cdd676 100644
--- 
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
+++ 
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasAccessRequest.java
@@ -17,10 +17,17 @@
  */
 package org.apache.atlas.authorize;
 
+import org.apache.atlas.model.instance.AtlasClassification;
+import org.apache.atlas.model.instance.AtlasEntityHeader;
+import org.apache.atlas.type.AtlasClassificationType;
+import org.apache.atlas.type.AtlasEntityType;
+import org.apache.atlas.type.AtlasTypeRegistry;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.Collections;
 import java.util.Date;
+import java.util.HashSet;
 import java.util.Set;
 
 public class AtlasAccessRequest {
@@ -78,6 +85,68 @@ public class AtlasAccessRequest {
 this.clientIPAddress = clientIPAddress;
 }
 
+public Set getEntityTypeAndAllSuperTypes(String entityType, 
AtlasTypeRegistry typeRegistry) {
+final Set ret;
+
+if (entityType == null) {
+ret = Collections.emptySet();
+} else if (typeRegistry == null) {
+ret = Collections.singleton(entityType);
+} else {
+AtlasEntityType entType = 
typeRegistry.getEntityTypeByName(entityType);
+
+ret = entType != null ? entType.getTypeAndAllSuperTypes() : 
Collections.singleton(entityType);
+}
+
+return ret;
+}
+
+public Set getClassificationTypeAndAllSuperTypes(String 
classificationName, AtlasTypeRegistry typeRegistry) {
+final Set ret;
+
+if (classificationName == null) {
+ret = Collections.emptySet();
+} else if (typeRegistry == null) {
+ret = Collections.singleton(classificationName);
+} else {
+AtlasClassificationType classificationType = 
typeRegistry.getClassificationTypeByName(classificationName);
+
+return classificationType != null ? 
classificationType.getTypeAndAllSuperTypes() : 
Collections.singleton(classificationName);
+}
+
+return ret;
+}
+
+public String getEntityId(AtlasEntityHeader entity) {
+final String ret;
+
+if (entity == null) {
+ret = null;
+} else {
+String qualifiedName = (String) 
entity.getAttribute("qualifiedName");
+
+ret = qualifiedName;
+}
+
+return ret;
+}
+
+public Set getClassificationNames(AtlasEntityHeader entity) {
+final Set ret;
+
+if (entity == null || entity.getClassifications() == null) {
+ret = Collections.emptySet();
+} else {
+ret = new HashSet<>();
+
+for (AtlasClassification classify : entity.getClassifications()) {
+ret.add(classify.getTypeName());
+}
+}
+
+return ret;
+}
+
 @Override
 public String toString(

atlas git commit: ATLAS-2793: updated AtlasClient approach of determining if kerberos authentication is enabled or not

2018-07-30 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 fa97b5252 -> 3d2bda3a0


ATLAS-2793: updated AtlasClient approach of determining if kerberos 
authentication is enabled or not

(cherry picked from commit b02238491e451bda71e399725ea4a4d021ec766f)


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

Branch: refs/heads/branch-0.8
Commit: 3d2bda3a02398329fcd4a6a2c3224d6e637e8e86
Parents: fa97b52
Author: Madhan Neethiraj 
Authored: Sun Jul 29 08:39:15 2018 -0700
Committer: Madhan Neethiraj 
Committed: Mon Jul 30 09:50:02 2018 -0700

--
 .../java/org/apache/atlas/AtlasBaseClient.java   |  4 +++-
 .../apache/atlas/utils/AuthenticationUtil.java   | 19 +++
 2 files changed, 18 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/3d2bda3a/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
--
diff --git a/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java 
b/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
index aa1c773..e48061c 100644
--- a/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
+++ b/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
@@ -261,7 +261,9 @@ public abstract class AtlasBaseClient {
 
 final URLConnectionClientHandler handler;
 
-if ((AuthenticationUtil.isKerberosAuthenticationEnabled())) {
+boolean isKerberosEnabled = 
AuthenticationUtil.isKerberosAuthenticationEnabled(ugi);
+
+if (isKerberosEnabled) {
 handler = SecureClientUtils.getClientConnectionHandler(config, 
configuration, doAsUser, ugi);
 } else {
 if (configuration.getBoolean(TLS_ENABLED, false)) {

http://git-wip-us.apache.org/repos/asf/atlas/blob/3d2bda3a/intg/src/main/java/org/apache/atlas/utils/AuthenticationUtil.java
--
diff --git a/intg/src/main/java/org/apache/atlas/utils/AuthenticationUtil.java 
b/intg/src/main/java/org/apache/atlas/utils/AuthenticationUtil.java
index af32afc..a871fa6 100644
--- a/intg/src/main/java/org/apache/atlas/utils/AuthenticationUtil.java
+++ b/intg/src/main/java/org/apache/atlas/utils/AuthenticationUtil.java
@@ -20,6 +20,7 @@ package org.apache.atlas.utils;
 import org.apache.atlas.ApplicationProperties;
 import org.apache.atlas.AtlasException;
 import org.apache.commons.configuration.Configuration;
+import org.apache.hadoop.security.UserGroupInformation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import java.io.Console;
@@ -34,17 +35,27 @@ public final class AuthenticationUtil {
 }
 
 public static boolean isKerberosAuthenticationEnabled() {
-boolean isKerberosAuthenticationEnabled = false;
+return isKerberosAuthenticationEnabled((UserGroupInformation) null);
+}
+
+public static boolean isKerberosAuthenticationEnabled(UserGroupInformation 
ugi) {
+boolean defaultValue = ugi != null && ugi.hasKerberosCredentials();
+
 try {
-isKerberosAuthenticationEnabled = 
isKerberosAuthenticationEnabled(ApplicationProperties.get());
+return 
isKerberosAuthenticationEnabled(ApplicationProperties.get(), defaultValue);
 } catch (AtlasException e) {
 LOG.error("Error while isKerberosAuthenticationEnabled ", e);
 }
-return isKerberosAuthenticationEnabled;
+
+return defaultValue;
 }
 
 public static boolean isKerberosAuthenticationEnabled(Configuration 
atlasConf) {
-return atlasConf.getBoolean("atlas.authentication.method.kerberos", 
false);
+return isKerberosAuthenticationEnabled(atlasConf, false);
+}
+
+public static boolean isKerberosAuthenticationEnabled(Configuration 
atlasConf, boolean defaultValue) {
+return atlasConf.getBoolean("atlas.authentication.method.kerberos", 
defaultValue);
 }
 
 public static boolean includeHadoopGroups(){



atlas git commit: ATLAS-2793: updated AtlasClient approach of determining if kerberos authentication is enabled or not

2018-07-30 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 9097d695c -> e218c9ed5


ATLAS-2793: updated AtlasClient approach of determining if kerberos 
authentication is enabled or not

(cherry picked from commit b02238491e451bda71e399725ea4a4d021ec766f)


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

Branch: refs/heads/branch-1.0
Commit: e218c9ed503b00f8cc59edcf4e285c01da884d57
Parents: 9097d69
Author: Madhan Neethiraj 
Authored: Sun Jul 29 08:39:15 2018 -0700
Committer: Madhan Neethiraj 
Committed: Mon Jul 30 09:49:09 2018 -0700

--
 .../java/org/apache/atlas/AtlasBaseClient.java   |  4 +++-
 .../apache/atlas/utils/AuthenticationUtil.java   | 19 +++
 2 files changed, 18 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/e218c9ed/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
--
diff --git a/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java 
b/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
index f8e78ee..4464ade 100644
--- a/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
+++ b/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
@@ -266,7 +266,9 @@ public abstract class AtlasBaseClient {
 
 final URLConnectionClientHandler handler;
 
-if ((AuthenticationUtil.isKerberosAuthenticationEnabled())) {
+boolean isKerberosEnabled = 
AuthenticationUtil.isKerberosAuthenticationEnabled(ugi);
+
+if (isKerberosEnabled) {
 handler = SecureClientUtils.getClientConnectionHandler(config, 
configuration, doAsUser, ugi);
 } else {
 if (configuration.getBoolean(TLS_ENABLED, false)) {

http://git-wip-us.apache.org/repos/asf/atlas/blob/e218c9ed/intg/src/main/java/org/apache/atlas/utils/AuthenticationUtil.java
--
diff --git a/intg/src/main/java/org/apache/atlas/utils/AuthenticationUtil.java 
b/intg/src/main/java/org/apache/atlas/utils/AuthenticationUtil.java
index 99b58fe..cf2b38f 100644
--- a/intg/src/main/java/org/apache/atlas/utils/AuthenticationUtil.java
+++ b/intg/src/main/java/org/apache/atlas/utils/AuthenticationUtil.java
@@ -20,6 +20,7 @@ package org.apache.atlas.utils;
 import org.apache.atlas.ApplicationProperties;
 import org.apache.atlas.AtlasException;
 import org.apache.commons.configuration.Configuration;
+import org.apache.hadoop.security.UserGroupInformation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import java.io.Console;
@@ -34,17 +35,27 @@ public final class AuthenticationUtil {
 }
 
 public static boolean isKerberosAuthenticationEnabled() {
-boolean isKerberosAuthenticationEnabled = false;
+return isKerberosAuthenticationEnabled((UserGroupInformation) null);
+}
+
+public static boolean isKerberosAuthenticationEnabled(UserGroupInformation 
ugi) {
+boolean defaultValue = ugi != null && ugi.hasKerberosCredentials();
+
 try {
-isKerberosAuthenticationEnabled = 
isKerberosAuthenticationEnabled(ApplicationProperties.get());
+return 
isKerberosAuthenticationEnabled(ApplicationProperties.get(), defaultValue);
 } catch (AtlasException e) {
 LOG.error("Error while isKerberosAuthenticationEnabled ", e);
 }
-return isKerberosAuthenticationEnabled;
+
+return defaultValue;
 }
 
 public static boolean isKerberosAuthenticationEnabled(Configuration 
atlasConf) {
-return atlasConf.getBoolean("atlas.authentication.method.kerberos", 
false);
+return isKerberosAuthenticationEnabled(atlasConf, false);
+}
+
+public static boolean isKerberosAuthenticationEnabled(Configuration 
atlasConf, boolean defaultValue) {
+return atlasConf.getBoolean("atlas.authentication.method.kerberos", 
defaultValue);
 }
 
 public static boolean includeHadoopGroups(){



atlas git commit: ATLAS-2793: updated AtlasClient approach of determining if kerberos authentication is enabled or not

2018-07-30 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master 50c3adf15 -> b02238491


ATLAS-2793: updated AtlasClient approach of determining if kerberos 
authentication is enabled or not


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

Branch: refs/heads/master
Commit: b02238491e451bda71e399725ea4a4d021ec766f
Parents: 50c3adf
Author: Madhan Neethiraj 
Authored: Sun Jul 29 08:39:15 2018 -0700
Committer: Madhan Neethiraj 
Committed: Sun Jul 29 08:39:15 2018 -0700

--
 .../java/org/apache/atlas/AtlasBaseClient.java   |  4 +++-
 .../apache/atlas/utils/AuthenticationUtil.java   | 19 +++
 2 files changed, 18 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/b0223849/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
--
diff --git a/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java 
b/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
index f8e78ee..4464ade 100644
--- a/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
+++ b/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
@@ -266,7 +266,9 @@ public abstract class AtlasBaseClient {
 
 final URLConnectionClientHandler handler;
 
-if ((AuthenticationUtil.isKerberosAuthenticationEnabled())) {
+boolean isKerberosEnabled = 
AuthenticationUtil.isKerberosAuthenticationEnabled(ugi);
+
+if (isKerberosEnabled) {
 handler = SecureClientUtils.getClientConnectionHandler(config, 
configuration, doAsUser, ugi);
 } else {
 if (configuration.getBoolean(TLS_ENABLED, false)) {

http://git-wip-us.apache.org/repos/asf/atlas/blob/b0223849/intg/src/main/java/org/apache/atlas/utils/AuthenticationUtil.java
--
diff --git a/intg/src/main/java/org/apache/atlas/utils/AuthenticationUtil.java 
b/intg/src/main/java/org/apache/atlas/utils/AuthenticationUtil.java
index 99b58fe..cf2b38f 100644
--- a/intg/src/main/java/org/apache/atlas/utils/AuthenticationUtil.java
+++ b/intg/src/main/java/org/apache/atlas/utils/AuthenticationUtil.java
@@ -20,6 +20,7 @@ package org.apache.atlas.utils;
 import org.apache.atlas.ApplicationProperties;
 import org.apache.atlas.AtlasException;
 import org.apache.commons.configuration.Configuration;
+import org.apache.hadoop.security.UserGroupInformation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import java.io.Console;
@@ -34,17 +35,27 @@ public final class AuthenticationUtil {
 }
 
 public static boolean isKerberosAuthenticationEnabled() {
-boolean isKerberosAuthenticationEnabled = false;
+return isKerberosAuthenticationEnabled((UserGroupInformation) null);
+}
+
+public static boolean isKerberosAuthenticationEnabled(UserGroupInformation 
ugi) {
+boolean defaultValue = ugi != null && ugi.hasKerberosCredentials();
+
 try {
-isKerberosAuthenticationEnabled = 
isKerberosAuthenticationEnabled(ApplicationProperties.get());
+return 
isKerberosAuthenticationEnabled(ApplicationProperties.get(), defaultValue);
 } catch (AtlasException e) {
 LOG.error("Error while isKerberosAuthenticationEnabled ", e);
 }
-return isKerberosAuthenticationEnabled;
+
+return defaultValue;
 }
 
 public static boolean isKerberosAuthenticationEnabled(Configuration 
atlasConf) {
-return atlasConf.getBoolean("atlas.authentication.method.kerberos", 
false);
+return isKerberosAuthenticationEnabled(atlasConf, false);
+}
+
+public static boolean isKerberosAuthenticationEnabled(Configuration 
atlasConf, boolean defaultValue) {
+return atlasConf.getBoolean("atlas.authentication.method.kerberos", 
defaultValue);
 }
 
 public static boolean includeHadoopGroups(){



atlas git commit: ATLAS-2794: updated AtlasClient to explicitly specify JacksonJaxbJsonProvider

2018-07-26 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master d1b3f21c1 -> 50c3adf15


ATLAS-2794: updated AtlasClient to explicitly specify JacksonJaxbJsonProvider

(cherry picked from commit 9097d695c5509b874c86e0eae159cecf2a812de8)


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

Branch: refs/heads/master
Commit: 50c3adf1519cb3d4d01ea86c2e90e1bba4df3c46
Parents: d1b3f21
Author: Madhan Neethiraj 
Authored: Thu Jul 26 21:51:24 2018 -0700
Committer: Madhan Neethiraj 
Committed: Thu Jul 26 22:50:12 2018 -0700

--
 client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/50c3adf1/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
--
diff --git a/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java 
b/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
index 5144b25..f8e78ee 100644
--- a/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
+++ b/client/common/src/main/java/org/apache/atlas/AtlasBaseClient.java
@@ -19,6 +19,7 @@ package org.apache.atlas;
 
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
 import com.google.common.annotations.VisibleForTesting;
 import com.sun.jersey.api.client.Client;
 import com.sun.jersey.api.client.ClientHandlerException;
@@ -249,6 +250,7 @@ public abstract class AtlasBaseClient {
 DefaultClientConfig config = new DefaultClientConfig();
 // Enable POJO mapping feature
 config.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, 
Boolean.TRUE);
+config.getClasses().add(JacksonJaxbJsonProvider.class);
 int readTimeout = 
configuration.getInt("atlas.client.readTimeoutMSecs", 6);
 int connectTimeout = 
configuration.getInt("atlas.client.connectTimeoutMSecs", 6);
 if (configuration.getBoolean(TLS_ENABLED, false)) {



atlas git commit: ATLAS-2773: UI : excluded internal types from all typedefs API calls

2018-07-04 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 fb32d155a -> f2766b98c


ATLAS-2773: UI : excluded internal types from all typedefs API calls

Signed-off-by: Sarath Subramanian 
(cherry picked from commit a2c26bfc2dd46e7fe231eabaed8976a916ab)


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

Branch: refs/heads/branch-1.0
Commit: f2766b98c6235807e462fe0c330d68f717c11508
Parents: fb32d15
Author: Abhishek Kadam 
Authored: Wed Jul 4 13:13:41 2018 -0700
Committer: Madhan Neethiraj 
Committed: Wed Jul 4 19:51:34 2018 -0700

--
 dashboardv2/public/js/utils/UrlLinks.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/f2766b98/dashboardv2/public/js/utils/UrlLinks.js
--
diff --git a/dashboardv2/public/js/utils/UrlLinks.js 
b/dashboardv2/public/js/utils/UrlLinks.js
index 1437871..a53bb77 100644
--- a/dashboardv2/public/js/utils/UrlLinks.js
+++ b/dashboardv2/public/js/utils/UrlLinks.js
@@ -45,7 +45,7 @@ define(['require', 'utils/Enums', 'utils/Utils', 
'underscore'], function(require
 if (name) {
 return defApiUrl.def + '/name/' + name + '?type=' + type;
 } else {
-return defApiUrl.defs + '?type=' + type;
+return defApiUrl.defs + 
'?excludeInternalTypesAndReferences=true=' + type;
 }
 },
 entitiesApiUrl: function(guid, name) {
@@ -78,7 +78,7 @@ define(['require', 'utils/Enums', 'utils/Utils', 
'underscore'], function(require
 }
 },
 typesApiUrl: function() {
-return this.typedefsUrl().defs + '/headers'
+return this.typedefsUrl().defs + 
'/headers?excludeInternalTypesAndReferences=true'
 },
 lineageApiUrl: function(guid) {
 var lineageUrl = this.baseUrlV2 + '/lineage';



atlas git commit: ATLAS-2775: Enhance basic search to search on entities with any classifications or no classifications

2018-07-04 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 3d69ad2f4 -> fb32d155a


ATLAS-2775: Enhance basic search to search on entities with any classifications 
or no classifications

(cherry picked from commit 15388229741b19c4567527da11bbb1daf2f9399f)


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

Branch: refs/heads/branch-1.0
Commit: fb32d155a2a6c196a0bb8ca65b20aa4754f70bfb
Parents: 3d69ad2
Author: Sarath Subramanian 
Authored: Tue Jul 3 14:44:37 2018 -0700
Committer: Madhan Neethiraj 
Committed: Tue Jul 3 15:03:08 2018 -0700

--
 .../atlas/model/discovery/SearchParameters.java |  4 ++
 .../ClassificationSearchProcessor.java  | 39 ++--
 .../atlas/discovery/EntitySearchProcessor.java  | 32 +++-
 .../discovery/FullTextSearchProcessor.java  |  8 +++-
 .../apache/atlas/discovery/SearchContext.java   | 16 ++--
 5 files changed, 73 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/fb32d155/intg/src/main/java/org/apache/atlas/model/discovery/SearchParameters.java
--
diff --git 
a/intg/src/main/java/org/apache/atlas/model/discovery/SearchParameters.java 
b/intg/src/main/java/org/apache/atlas/model/discovery/SearchParameters.java
index 39ebf23..aac6b5a 100644
--- a/intg/src/main/java/org/apache/atlas/model/discovery/SearchParameters.java
+++ b/intg/src/main/java/org/apache/atlas/model/discovery/SearchParameters.java
@@ -55,6 +55,10 @@ public class SearchParameters implements Serializable {
 private FilterCriteria tagFilters;
 private Setattributes;
 
+public static final String WILDCARD_CLASSIFICATIONS = "*";
+public static final String ALL_CLASSIFICATIONS  = "_CLASSIFIED";
+public static final String NO_CLASSIFICATIONS   = "_NOT_CLASSIFIED";
+
 /**
  * @return The type of query
  */

http://git-wip-us.apache.org/repos/asf/atlas/blob/fb32d155/repository/src/main/java/org/apache/atlas/discovery/ClassificationSearchProcessor.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/discovery/ClassificationSearchProcessor.java
 
b/repository/src/main/java/org/apache/atlas/discovery/ClassificationSearchProcessor.java
index 588ad3e..c00bfb6 100644
--- 
a/repository/src/main/java/org/apache/atlas/discovery/ClassificationSearchProcessor.java
+++ 
b/repository/src/main/java/org/apache/atlas/discovery/ClassificationSearchProcessor.java
@@ -50,6 +50,12 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import static org.apache.atlas.discovery.SearchContext.MATCH_ALL_CLASSIFIED;
+import static 
org.apache.atlas.discovery.SearchContext.MATCH_ALL_NOT_CLASSIFIED;
+import static 
org.apache.atlas.discovery.SearchContext.MATCH_ALL_WILDCARD_CLASSIFICATION;
+import static 
org.apache.atlas.repository.Constants.PROPAGATED_TRAIT_NAMES_PROPERTY_KEY;
+import static org.apache.atlas.repository.Constants.TRAIT_NAMES_PROPERTY_KEY;
+import static 
org.apache.atlas.repository.graphdb.AtlasGraphQuery.ComparisionOperator.EQUAL;
 import static 
org.apache.atlas.repository.graphdb.AtlasGraphQuery.ComparisionOperator.NOT_EQUAL;
 
 
@@ -88,7 +94,9 @@ public class ClassificationSearchProcessor extends 
SearchProcessor {
 processSearchAttributes(classificationType, filterCriteria, 
indexAttributes, graphAttributes, allAttributes);
 
 // for classification search, if any attribute can't be handled by 
index query - switch to all filter by Graph query
-boolean useIndexSearch = classificationType != 
SearchContext.MATCH_ALL_CLASSIFICATION &&
+boolean useIndexSearch = classificationType != 
MATCH_ALL_WILDCARD_CLASSIFICATION &&
+ classificationType != MATCH_ALL_CLASSIFIED &&
+ classificationType != 
MATCH_ALL_NOT_CLASSIFIED &&
  typeAndSubTypesQryStr.length() <= 
MAX_QUERY_STR_LENGTH_TAGS &&
  CollectionUtils.isEmpty(graphAttributes) &&
  canApplyIndexFilter(classificationType, 
filterCriteria, false);
@@ -149,25 +157,32 @@ public class ClassificationSearchProcessor extends 
SearchProcessor {
 LOG.debug("gremlinTagFilterQuery={}", gremlinTagFilterQuery);
 }
 } else {
-tagGraphQueryWithAttributes = null;
-List orConditions = new LinkedList<>();
+

atlas git commit: ATLAS-2767: UI : "Create" button is not enabled after an error while createing a classification

2018-07-02 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 877cb55bf -> 3d69ad2f4


ATLAS-2767: UI : "Create" button is not enabled after an error while createing 
a classification

Signed-off-by: Madhan Neethiraj 
(cherry picked from commit 74dc605d453697c3830a726498eff3232dbba60f)


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

Branch: refs/heads/branch-1.0
Commit: 3d69ad2f49a16a9748752019d077bb66be8c968f
Parents: 877cb55
Author: Abhishek Kadam 
Authored: Fri Jun 29 11:48:33 2018 +0530
Committer: Madhan Neethiraj 
Committed: Mon Jul 2 15:39:43 2018 -0700

--
 dashboardv2/public/js/views/tag/TagAttributeItemView.js | 4 
 dashboardv2/public/js/views/tag/TagLayoutView.js| 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/3d69ad2f/dashboardv2/public/js/views/tag/TagAttributeItemView.js
--
diff --git a/dashboardv2/public/js/views/tag/TagAttributeItemView.js 
b/dashboardv2/public/js/views/tag/TagAttributeItemView.js
index 3ce40e2..39ea292 100644
--- a/dashboardv2/public/js/views/tag/TagAttributeItemView.js
+++ b/dashboardv2/public/js/views/tag/TagAttributeItemView.js
@@ -65,9 +65,13 @@ define(['require',
 });
 },
 onCloseButton: function() {
+var tagName = 
this.parentView.$el.find('[data-id="tagName"]').val();
 if (this.parentView.collection.models.length > 0) {
 this.model.destroy();
 }
+if (this.parentView.collection.models.length == 0 && tagName 
!= "") {
+
this.parentView.$el.parent().next().find('button.ok').removeAttr("disabled");
+}
 }
 });
 });
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/3d69ad2f/dashboardv2/public/js/views/tag/TagLayoutView.js
--
diff --git a/dashboardv2/public/js/views/tag/TagLayoutView.js 
b/dashboardv2/public/js/views/tag/TagLayoutView.js
index c7a5edb..7381e64 100644
--- a/dashboardv2/public/js/views/tag/TagLayoutView.js
+++ b/dashboardv2/public/js/views/tag/TagLayoutView.js
@@ -209,7 +209,7 @@ define(['require',
 var tagParents = '',
 tagLists = '';
 
-if (this.collection && this.collection.fullCollection.length) {
+if (this.collection && this.collection.fullCollection.length 
>= 0) {
 var sortedCollection = this.collection.fullCollection;
 this.tagTreeList = this.getTagTreeList({ collection: 
sortedCollection });
 if (searchString) {



atlas git commit: ATLAS-2767: UI : "Create" button is not enabled after an error while createing a classification

2018-07-02 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master 25bae4fe3 -> 74dc605d4


ATLAS-2767: UI : "Create" button is not enabled after an error while createing 
a classification

Signed-off-by: Madhan Neethiraj 


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

Branch: refs/heads/master
Commit: 74dc605d453697c3830a726498eff3232dbba60f
Parents: 25bae4f
Author: Abhishek Kadam 
Authored: Fri Jun 29 11:48:33 2018 +0530
Committer: Madhan Neethiraj 
Committed: Mon Jul 2 15:36:09 2018 -0700

--
 dashboardv2/public/js/views/tag/TagAttributeItemView.js | 4 
 dashboardv2/public/js/views/tag/TagLayoutView.js| 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/74dc605d/dashboardv2/public/js/views/tag/TagAttributeItemView.js
--
diff --git a/dashboardv2/public/js/views/tag/TagAttributeItemView.js 
b/dashboardv2/public/js/views/tag/TagAttributeItemView.js
index 3ce40e2..39ea292 100644
--- a/dashboardv2/public/js/views/tag/TagAttributeItemView.js
+++ b/dashboardv2/public/js/views/tag/TagAttributeItemView.js
@@ -65,9 +65,13 @@ define(['require',
 });
 },
 onCloseButton: function() {
+var tagName = 
this.parentView.$el.find('[data-id="tagName"]').val();
 if (this.parentView.collection.models.length > 0) {
 this.model.destroy();
 }
+if (this.parentView.collection.models.length == 0 && tagName 
!= "") {
+
this.parentView.$el.parent().next().find('button.ok').removeAttr("disabled");
+}
 }
 });
 });
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/74dc605d/dashboardv2/public/js/views/tag/TagLayoutView.js
--
diff --git a/dashboardv2/public/js/views/tag/TagLayoutView.js 
b/dashboardv2/public/js/views/tag/TagLayoutView.js
index c7a5edb..7381e64 100644
--- a/dashboardv2/public/js/views/tag/TagLayoutView.js
+++ b/dashboardv2/public/js/views/tag/TagLayoutView.js
@@ -209,7 +209,7 @@ define(['require',
 var tagParents = '',
 tagLists = '';
 
-if (this.collection && this.collection.fullCollection.length) {
+if (this.collection && this.collection.fullCollection.length 
>= 0) {
 var sortedCollection = this.collection.fullCollection;
 this.tagTreeList = this.getTagTreeList({ collection: 
sortedCollection });
 if (searchString) {



atlas git commit: ATLAS-2771: Add option to exclude internal types when retrieving typedefs via REST

2018-07-02 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 a7a9c0ef9 -> 877cb55bf


ATLAS-2771: Add option to exclude internal types when retrieving typedefs via 
REST

Signed-off-by: Madhan Neethiraj 
(cherry picked from commit 25bae4fe321194d27d205aa01ac49ab7a014013c)


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

Branch: refs/heads/branch-1.0
Commit: 877cb55bf657fbad058cad406f182e8cfecce794
Parents: a7a9c0e
Author: Sarath Subramanian 
Authored: Sun Jul 1 17:07:00 2018 -0700
Committer: Madhan Neethiraj 
Committed: Mon Jul 2 00:59:36 2018 -0700

--
 .../java/org/apache/atlas/web/rest/TypesREST.java  | 17 -
 1 file changed, 12 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/877cb55b/webapp/src/main/java/org/apache/atlas/web/rest/TypesREST.java
--
diff --git a/webapp/src/main/java/org/apache/atlas/web/rest/TypesREST.java 
b/webapp/src/main/java/org/apache/atlas/web/rest/TypesREST.java
index 345250a..13e6512 100644
--- a/webapp/src/main/java/org/apache/atlas/web/rest/TypesREST.java
+++ b/webapp/src/main/java/org/apache/atlas/web/rest/TypesREST.java
@@ -414,13 +414,20 @@ public class TypesREST {
  * @return
  */
 private SearchFilter getSearchFilter(HttpServletRequest 
httpServletRequest) {
-SearchFilter ret = new SearchFilter();
-Set keySet = httpServletRequest.getParameterMap().keySet();
-for (String key : keySet) {
-ret.setParam(String.valueOf(key), 
String.valueOf(httpServletRequest.getParameter(key)));
+SearchFilter ret= new SearchFilter();
+Set  keySet = httpServletRequest.getParameterMap().keySet();
+
+for (String k : keySet) {
+String key   = String.valueOf(k);
+String value = String.valueOf(httpServletRequest.getParameter(k));
+
+if (key.equalsIgnoreCase("excludeInternalTypesAndReferences") && 
value.equalsIgnoreCase("true")) {
+FilterUtil.addParamsToHideInternalType(ret);
+} else {
+ret.setParam(key, value);
+}
 }
 
-FilterUtil.addParamsToHideInternalType(ret);
 return ret;
 }
 }



atlas git commit: ATLAS-2771: Add option to exclude internal types when retrieving typedefs via REST

2018-07-02 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master eb22be8c3 -> 25bae4fe3


ATLAS-2771: Add option to exclude internal types when retrieving typedefs via 
REST

Signed-off-by: Madhan Neethiraj 


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

Branch: refs/heads/master
Commit: 25bae4fe321194d27d205aa01ac49ab7a014013c
Parents: eb22be8
Author: Sarath Subramanian 
Authored: Sun Jul 1 17:07:00 2018 -0700
Committer: Madhan Neethiraj 
Committed: Mon Jul 2 00:54:30 2018 -0700

--
 .../java/org/apache/atlas/web/rest/TypesREST.java  | 17 -
 1 file changed, 12 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/25bae4fe/webapp/src/main/java/org/apache/atlas/web/rest/TypesREST.java
--
diff --git a/webapp/src/main/java/org/apache/atlas/web/rest/TypesREST.java 
b/webapp/src/main/java/org/apache/atlas/web/rest/TypesREST.java
index 345250a..13e6512 100644
--- a/webapp/src/main/java/org/apache/atlas/web/rest/TypesREST.java
+++ b/webapp/src/main/java/org/apache/atlas/web/rest/TypesREST.java
@@ -414,13 +414,20 @@ public class TypesREST {
  * @return
  */
 private SearchFilter getSearchFilter(HttpServletRequest 
httpServletRequest) {
-SearchFilter ret = new SearchFilter();
-Set keySet = httpServletRequest.getParameterMap().keySet();
-for (String key : keySet) {
-ret.setParam(String.valueOf(key), 
String.valueOf(httpServletRequest.getParameter(key)));
+SearchFilter ret= new SearchFilter();
+Set  keySet = httpServletRequest.getParameterMap().keySet();
+
+for (String k : keySet) {
+String key   = String.valueOf(k);
+String value = String.valueOf(httpServletRequest.getParameter(k));
+
+if (key.equalsIgnoreCase("excludeInternalTypesAndReferences") && 
value.equalsIgnoreCase("true")) {
+FilterUtil.addParamsToHideInternalType(ret);
+} else {
+ret.setParam(key, value);
+}
 }
 
-FilterUtil.addParamsToHideInternalType(ret);
 return ret;
 }
 }



atlas git commit: ATLAS-2770: entity-delete fails when Atlas is configured for hard-delete

2018-07-01 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master 78cfd7184 -> eb22be8c3


ATLAS-2770: entity-delete fails when Atlas is configured for hard-delete


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

Branch: refs/heads/master
Commit: eb22be8c36769d88c7ec342bf7f6195849dc13b2
Parents: 78cfd71
Author: Madhan Neethiraj 
Authored: Sun Jul 1 09:49:22 2018 -0700
Committer: Madhan Neethiraj 
Committed: Sun Jul 1 15:29:35 2018 -0700

--
 .../graph/v2/AtlasEntityChangeNotifier.java | 33 ++--
 1 file changed, 24 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/eb22be8c/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityChangeNotifier.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityChangeNotifier.java
 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityChangeNotifier.java
index 7ed99a4..deb79e5 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityChangeNotifier.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityChangeNotifier.java
@@ -302,7 +302,7 @@ public class AtlasEntityChangeNotifier {
 }
 
 private void notifyV2Listeners(List entityHeaders, 
EntityOperation operation, boolean isImport) throws AtlasBaseException {
-List entities = toAtlasEntities(entityHeaders);
+List entities = toAtlasEntities(entityHeaders, operation);
 
 for (EntityChangeListenerV2 listener : entityChangeListenersV2) {
 switch (operation) {
@@ -377,27 +377,42 @@ public class AtlasEntityChangeNotifier {
 return ret;
 }
 
-private List toAtlasEntities(List 
entityHeaders) throws AtlasBaseException {
+private List toAtlasEntities(List 
entityHeaders, EntityOperation operation) throws AtlasBaseException {
 List ret = new ArrayList<>();
 
 if (CollectionUtils.isNotEmpty(entityHeaders)) {
 for (AtlasEntityHeader entityHeader : entityHeaders) {
-String entityGuid= 
entityHeader.getGuid();
-String typeName  = 
entityHeader.getTypeName();
+String  entityGuid = entityHeader.getGuid();
+String  typeName   = entityHeader.getTypeName();
+AtlasEntityType entityType = 
atlasTypeRegistry.getEntityTypeByName(typeName);
+
+if (entityType == null) {
+continue;
+}
 
 // Skip all internal types as the HARD DELETE will cause 
lookup errors
-AtlasEntityType entityType = 
atlasTypeRegistry.getEntityTypeByName(typeName);
-if (Objects.nonNull(entityType) && 
entityType.isInternalType()) {
+if (entityType.isInternalType()) {
 if (LOG.isDebugEnabled()) {
 LOG.debug("Skipping internal type = {}", typeName);
 }
 continue;
 }
 
-AtlasEntityWithExtInfo entityWithExtInfo = 
instanceConverter.getAndCacheEntity(entityGuid);
+final AtlasEntity entity;
+
+// delete notifications don't need all attributes. Hence the 
special handling for delete operation
+if (operation == EntityOperation.DELETE) {
+entity = new AtlasEntity(typeName, 
entityHeader.getAttributes());
+
+entity.setGuid(entityGuid);
+} else {
+AtlasEntityWithExtInfo entityWithExtInfo = 
instanceConverter.getAndCacheEntity(entityGuid);
+
+entity = (entityWithExtInfo != null) ? 
entityWithExtInfo.getEntity() : null;
+}
 
-if (entityWithExtInfo != null) {
-ret.add(entityWithExtInfo.getEntity());
+if (entity != null) {
+ret.add(entity);
 }
 }
 }



atlas git commit: ATLAS-2765: updated authorization model to scrub search-results (clear entity-attributes, classifications) for entities the user doesn't have read access to

2018-06-26 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 9d4df0f53 -> cdbd62df1


ATLAS-2765: updated authorization model to scrub search-results (clear 
entity-attributes, classifications) for entities the user doesn't have read 
access to

(cherry picked from commit eb895a62fde263ecf84da3a476594ca75a23022b)


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

Branch: refs/heads/branch-1.0
Commit: cdbd62df10abcfe7d75baa9d80806d390469d0a8
Parents: 9d4df0f
Author: Madhan Neethiraj 
Authored: Fri Jun 22 21:32:18 2018 -0700
Committer: Madhan Neethiraj 
Committed: Tue Jun 26 06:41:10 2018 -0700

--
 .../authorize/AtlasAuthorizationUtils.java  | 17 ++
 .../apache/atlas/authorize/AtlasAuthorizer.java | 38 ++
 .../atlas/authorize/AtlasNoneAuthorizer.java|  4 ++
 .../AtlasSearchResultScrubRequest.java  | 54 
 .../authorize/simple/AtlasSimpleAuthorizer.java | 50 ++
 .../atlas/discovery/EntityDiscoveryService.java | 16 ++
 .../apache/atlas/glossary/GlossaryService.java  |  6 ++-
 .../store/graph/v2/AtlasEntityStoreV2.java  |  4 +-
 8 files changed, 186 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/cdbd62df/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizationUtils.java
--
diff --git 
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizationUtils.java
 
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizationUtils.java
index cc5db2f..a0d78eb 100644
--- 
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizationUtils.java
+++ 
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizationUtils.java
@@ -62,6 +62,23 @@ public class AtlasAuthorizationUtils {
 }
 }
 
+public static void scrubSearchResults(AtlasSearchResultScrubRequest 
request) throws AtlasBaseException {
+String userName = getCurrentUserName();
+
+if (StringUtils.isNotEmpty(userName)) {
+try {
+AtlasAuthorizer authorizer = 
AtlasAuthorizerFactory.getAtlasAuthorizer();
+
+request.setUser(userName, getCurrentUserGroups());
+
request.setClientIPAddress(RequestContext.get().getClientIPAddress());
+
+authorizer.scrubSearchResults(request);
+} catch (AtlasAuthorizationException e) {
+LOG.error("Unable to obtain AtlasAuthorizer", e);
+}
+}
+}
+
 public static boolean isAccessAllowed(AtlasAdminAccessRequest request) {
 boolean ret  = false;
 String  userName = getCurrentUserName();

http://git-wip-us.apache.org/repos/asf/atlas/blob/cdbd62df/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizer.java
--
diff --git 
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizer.java 
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizer.java
index 285e0f6..563485e 100644
--- 
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizer.java
+++ 
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizer.java
@@ -19,6 +19,8 @@
 package org.apache.atlas.authorize;
 
 
+import org.apache.atlas.model.instance.AtlasEntityHeader;
+
 public interface AtlasAuthorizer {
 /**
  * initialization of authorizer implementation
@@ -55,4 +57,40 @@ public interface AtlasAuthorizer {
  * @throws AtlasAuthorizationException
  */
 boolean isAccessAllowed(AtlasTypeAccessRequest request) throws 
AtlasAuthorizationException;
+
+
+/**
+ * scrub search-results to handle entities for which the user doesn't have 
access
+ * @param request
+ * @return
+ * @throws AtlasAuthorizationException
+ */
+default
+void scrubSearchResults(AtlasSearchResultScrubRequest request) throws 
AtlasAuthorizationException {
+}
+
+default
+void scrubEntityHeader(AtlasEntityHeader entity) {
+entity.setGuid("-1");
+
+if(entity.getAttributes() != null) {
+entity.getAttributes().clear();
+}
+
+if(entity.getClassifications() != null) {
+entity.getClassifications().clear();
+}
+
+if(entity.getClassificationNames() != null) {
+entity.getClassificationNames().clear();
+}
+
+if(entity.getMeanings() != null) {
+entity.getMeanings().clear();
+}
+
+if(entity.ge

atlas git commit: ATLAS-2765: updated authorization model to scrub search-results (clear entity-attributes, classifications) for entities the user doesn't have read access to

2018-06-26 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master 80f556a70 -> eb895a62f


ATLAS-2765: updated authorization model to scrub search-results (clear 
entity-attributes, classifications) for entities the user doesn't have read 
access to


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

Branch: refs/heads/master
Commit: eb895a62fde263ecf84da3a476594ca75a23022b
Parents: 80f556a
Author: Madhan Neethiraj 
Authored: Fri Jun 22 21:32:18 2018 -0700
Committer: Madhan Neethiraj 
Committed: Sat Jun 23 21:02:09 2018 -0700

--
 .../authorize/AtlasAuthorizationUtils.java  | 17 ++
 .../apache/atlas/authorize/AtlasAuthorizer.java | 38 ++
 .../atlas/authorize/AtlasNoneAuthorizer.java|  4 ++
 .../AtlasSearchResultScrubRequest.java  | 54 
 .../authorize/simple/AtlasSimpleAuthorizer.java | 50 ++
 .../atlas/discovery/EntityDiscoveryService.java | 16 ++
 .../apache/atlas/glossary/GlossaryService.java  |  6 ++-
 .../store/graph/v2/AtlasEntityStoreV2.java  |  4 +-
 8 files changed, 186 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/eb895a62/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizationUtils.java
--
diff --git 
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizationUtils.java
 
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizationUtils.java
index cc5db2f..a0d78eb 100644
--- 
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizationUtils.java
+++ 
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizationUtils.java
@@ -62,6 +62,23 @@ public class AtlasAuthorizationUtils {
 }
 }
 
+public static void scrubSearchResults(AtlasSearchResultScrubRequest 
request) throws AtlasBaseException {
+String userName = getCurrentUserName();
+
+if (StringUtils.isNotEmpty(userName)) {
+try {
+AtlasAuthorizer authorizer = 
AtlasAuthorizerFactory.getAtlasAuthorizer();
+
+request.setUser(userName, getCurrentUserGroups());
+
request.setClientIPAddress(RequestContext.get().getClientIPAddress());
+
+authorizer.scrubSearchResults(request);
+} catch (AtlasAuthorizationException e) {
+LOG.error("Unable to obtain AtlasAuthorizer", e);
+}
+}
+}
+
 public static boolean isAccessAllowed(AtlasAdminAccessRequest request) {
 boolean ret  = false;
 String  userName = getCurrentUserName();

http://git-wip-us.apache.org/repos/asf/atlas/blob/eb895a62/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizer.java
--
diff --git 
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizer.java 
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizer.java
index 285e0f6..563485e 100644
--- 
a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizer.java
+++ 
b/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizer.java
@@ -19,6 +19,8 @@
 package org.apache.atlas.authorize;
 
 
+import org.apache.atlas.model.instance.AtlasEntityHeader;
+
 public interface AtlasAuthorizer {
 /**
  * initialization of authorizer implementation
@@ -55,4 +57,40 @@ public interface AtlasAuthorizer {
  * @throws AtlasAuthorizationException
  */
 boolean isAccessAllowed(AtlasTypeAccessRequest request) throws 
AtlasAuthorizationException;
+
+
+/**
+ * scrub search-results to handle entities for which the user doesn't have 
access
+ * @param request
+ * @return
+ * @throws AtlasAuthorizationException
+ */
+default
+void scrubSearchResults(AtlasSearchResultScrubRequest request) throws 
AtlasAuthorizationException {
+}
+
+default
+void scrubEntityHeader(AtlasEntityHeader entity) {
+entity.setGuid("-1");
+
+if(entity.getAttributes() != null) {
+entity.getAttributes().clear();
+}
+
+if(entity.getClassifications() != null) {
+entity.getClassifications().clear();
+}
+
+if(entity.getClassificationNames() != null) {
+entity.getClassificationNames().clear();
+}
+
+if(entity.getMeanings() != null) {
+entity.getMeanings().clear();
+}
+
+if(entity.getMeaningNames() != null) {
+entity.getMeaningNames().clear();
+}
+}
 }

http://git-

atlas git commit: ATLAS-641: lineage for view/table created from a view includes underlying tables as well

2018-06-22 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 be4c0c03f -> 9d4df0f53


ATLAS-641: lineage for view/table created from a view includes underlying 
tables as well

(cherry picked from commit 80f556a704ee21b78598e87de36777f03ebe7368)


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

Branch: refs/heads/branch-1.0
Commit: 9d4df0f534467d71702fd7aade268641c8f7cf68
Parents: be4c0c0
Author: Madhan Neethiraj 
Authored: Fri Jun 15 18:26:16 2018 -0700
Committer: Madhan Neethiraj 
Committed: Fri Jun 22 21:34:37 2018 -0700

--
 .../org/apache/atlas/hive/hook/events/CreateHiveProcess.java | 4 
 1 file changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/9d4df0f5/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/CreateHiveProcess.java
--
diff --git 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/CreateHiveProcess.java
 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/CreateHiveProcess.java
index 33a2633..ae01d50 100644
--- 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/CreateHiveProcess.java
+++ 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/CreateHiveProcess.java
@@ -87,6 +87,10 @@ public class CreateHiveProcess extends BaseHiveEvent {
 
 AtlasEntity entity = getInputOutputEntity(input, ret);
 
+if (!input.isDirect()) {
+continue;
+}
+
 if (entity != null) {
 inputs.add(entity);
 }



atlas git commit: ATLAS-641: lineage for view/table created from a view includes underlying tables as well

2018-06-22 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 2e28afa96 -> b6d0e4013


ATLAS-641: lineage for view/table created from a view includes underlying 
tables as well

(cherry picked from commit 80f556a704ee21b78598e87de36777f03ebe7368)


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

Branch: refs/heads/branch-0.8
Commit: b6d0e401371c6e1586684ff2271fa6bc7c2324a8
Parents: 2e28afa
Author: Madhan Neethiraj 
Authored: Fri Jun 15 18:26:16 2018 -0700
Committer: Madhan Neethiraj 
Committed: Fri Jun 22 21:32:42 2018 -0700

--
 .../org/apache/atlas/hive/hook/events/CreateHiveProcess.java | 4 
 1 file changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/b6d0e401/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/CreateHiveProcess.java
--
diff --git 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/CreateHiveProcess.java
 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/CreateHiveProcess.java
index 6989d35..f465e49 100644
--- 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/CreateHiveProcess.java
+++ 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/CreateHiveProcess.java
@@ -83,6 +83,10 @@ public class CreateHiveProcess extends BaseHiveEvent {
 
 AtlasEntity entity = getInputOutputEntity(input, ret);
 
+if (!input.isDirect()) {
+continue;
+}
+
 if (entity != null) {
 inputs.add(entity);
 }



atlas git commit: ATLAS-641: lineage for view/table created from a view includes underlying tables as well

2018-06-22 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master f37f3de75 -> 80f556a70


ATLAS-641: lineage for view/table created from a view includes underlying 
tables as well


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

Branch: refs/heads/master
Commit: 80f556a704ee21b78598e87de36777f03ebe7368
Parents: f37f3de
Author: Madhan Neethiraj 
Authored: Fri Jun 15 18:26:16 2018 -0700
Committer: Madhan Neethiraj 
Committed: Fri Jun 22 20:21:26 2018 -0700

--
 .../org/apache/atlas/hive/hook/events/CreateHiveProcess.java | 4 
 1 file changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/80f556a7/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/CreateHiveProcess.java
--
diff --git 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/CreateHiveProcess.java
 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/CreateHiveProcess.java
index 33a2633..ae01d50 100644
--- 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/CreateHiveProcess.java
+++ 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/CreateHiveProcess.java
@@ -87,6 +87,10 @@ public class CreateHiveProcess extends BaseHiveEvent {
 
 AtlasEntity entity = getInputOutputEntity(input, ret);
 
+if (!input.isDirect()) {
+continue;
+}
+
 if (entity != null) {
 inputs.add(entity);
 }



atlas git commit: ATLAS-2760: Hive hook updates to handle references to s3 paths

2018-06-20 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 bfd88c3c3 -> 674a46d0e


ATLAS-2760: Hive hook updates to handle references to s3 paths

(cherry picked from commit 88ac0fa62186a59ed08a950385c5a1e3c84e517e)


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

Branch: refs/heads/branch-1.0
Commit: 674a46d0e16b6de052544e48d9b84a3ed811e8cb
Parents: bfd88c3
Author: Madhan Neethiraj 
Authored: Sun Jun 17 13:20:37 2018 -0700
Committer: Madhan Neethiraj 
Committed: Wed Jun 20 08:38:45 2018 -0700

--
 .../atlas/hive/hook/events/BaseHiveEvent.java   | 79 
 .../atlas/hive/hook/events/CreateTable.java |  2 +-
 2 files changed, 64 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/674a46d0/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/BaseHiveEvent.java
--
diff --git 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/BaseHiveEvent.java
 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/BaseHiveEvent.java
index ce03287..09f011c 100644
--- 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/BaseHiveEvent.java
+++ 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/BaseHiveEvent.java
@@ -78,6 +78,13 @@ public abstract class BaseHiveEvent {
 public static final String HDFS_TYPE_PATH   = "hdfs_path";
 public static final String HBASE_TYPE_TABLE = "hbase_table";
 public static final String HBASE_TYPE_NAMESPACE = "hbase_namespace";
+public static final String AWS_S3_BUCKET= "aws_s3_bucket";
+public static final String AWS_S3_PSEUDO_DIR= "aws_s3_pseudo_dir";
+public static final String AWS_S3_OBJECT= "aws_s3_object";
+
+public static final String SCHEME_SEPARATOR = "://";
+public static final String S3_SCHEME= "s3" + 
SCHEME_SEPARATOR;
+public static final String S3A_SCHEME   = "s3a" + 
SCHEME_SEPARATOR;
 
 public static final String ATTRIBUTE_QUALIFIED_NAME= 
"qualifiedName";
 public static final String ATTRIBUTE_NAME  = "name";
@@ -130,6 +137,8 @@ public abstract class BaseHiveEvent {
 public static final String ATTRIBUTE_URI   = "uri";
 public static final String ATTRIBUTE_STORAGE_HANDLER   = 
"storage_handler";
 public static final String ATTRIBUTE_NAMESPACE = 
"namespace";
+public static final String ATTRIBUTE_OBJECT_PREFIX = 
"objectPrefix";
+public static final String ATTRIBUTE_BUCKET= "bucket";
 
 public static final String HBASE_STORAGE_HANDLER_CLASS = 
"org.apache.hadoop.hive.hbase.HBaseStorageHandler";
 public static final String HBASE_DEFAULT_NAMESPACE = "default";
@@ -245,7 +254,7 @@ public abstract class BaseHiveEvent {
 URI location = entity.getLocation();
 
 if (location != null) {
-ret = getHDFSPathEntity(new Path(entity.getLocation()));
+ret = getPathEntity(new Path(entity.getLocation()), 
entityExtInfo);
 }
 }
 break;
@@ -494,26 +503,60 @@ public abstract class BaseHiveEvent {
 return ret;
 }
 
-protected AtlasEntity getHDFSPathEntity(Path path) {
-String  strPath   = path.toString().toLowerCase();
-String  nameServiceID = 
HdfsNameServiceResolver.getNameServiceIDForPath(strPath);
-String  attrPath  = StringUtils.isEmpty(nameServiceID) ? 
strPath : HdfsNameServiceResolver.getPathWithNameServiceID(strPath);
-String  pathQualifiedName = getQualifiedName(attrPath);
-AtlasEntity ret   = context.getEntity(pathQualifiedName);
+protected AtlasEntity getPathEntity(Path path, AtlasEntityExtInfo extInfo) 
{
+AtlasEntity ret;
+String  strPath = path.toString().toLowerCase();
 
-if (ret == null) {
-ret = new AtlasEntity(HDFS_TYPE_PATH);
+if (isS3Path(strPath)) {
+String  bucketName  = path.toUri().getAuthority();
+String  bucketQualifiedName = (path.toUri().getScheme() + 
SCHEME_SEPARATOR + path.toUri().getAuthority() + 
QNAME_SEP_CLUSTER_NAME).toLowerCase() + getClusterName();

atlas git commit: ATLAS-2760: Hive hook updates to handle references to s3 paths

2018-06-20 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master f787bcc2b -> 88ac0fa62


ATLAS-2760: Hive hook updates to handle references to s3 paths


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

Branch: refs/heads/master
Commit: 88ac0fa62186a59ed08a950385c5a1e3c84e517e
Parents: f787bcc
Author: Madhan Neethiraj 
Authored: Sun Jun 17 13:20:37 2018 -0700
Committer: Madhan Neethiraj 
Committed: Tue Jun 19 23:26:04 2018 -0700

--
 .../atlas/hive/hook/events/BaseHiveEvent.java   | 79 
 .../atlas/hive/hook/events/CreateTable.java |  2 +-
 2 files changed, 64 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/88ac0fa6/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/BaseHiveEvent.java
--
diff --git 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/BaseHiveEvent.java
 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/BaseHiveEvent.java
index ce03287..09f011c 100644
--- 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/BaseHiveEvent.java
+++ 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/BaseHiveEvent.java
@@ -78,6 +78,13 @@ public abstract class BaseHiveEvent {
 public static final String HDFS_TYPE_PATH   = "hdfs_path";
 public static final String HBASE_TYPE_TABLE = "hbase_table";
 public static final String HBASE_TYPE_NAMESPACE = "hbase_namespace";
+public static final String AWS_S3_BUCKET= "aws_s3_bucket";
+public static final String AWS_S3_PSEUDO_DIR= "aws_s3_pseudo_dir";
+public static final String AWS_S3_OBJECT= "aws_s3_object";
+
+public static final String SCHEME_SEPARATOR = "://";
+public static final String S3_SCHEME= "s3" + 
SCHEME_SEPARATOR;
+public static final String S3A_SCHEME   = "s3a" + 
SCHEME_SEPARATOR;
 
 public static final String ATTRIBUTE_QUALIFIED_NAME= 
"qualifiedName";
 public static final String ATTRIBUTE_NAME  = "name";
@@ -130,6 +137,8 @@ public abstract class BaseHiveEvent {
 public static final String ATTRIBUTE_URI   = "uri";
 public static final String ATTRIBUTE_STORAGE_HANDLER   = 
"storage_handler";
 public static final String ATTRIBUTE_NAMESPACE = 
"namespace";
+public static final String ATTRIBUTE_OBJECT_PREFIX = 
"objectPrefix";
+public static final String ATTRIBUTE_BUCKET= "bucket";
 
 public static final String HBASE_STORAGE_HANDLER_CLASS = 
"org.apache.hadoop.hive.hbase.HBaseStorageHandler";
 public static final String HBASE_DEFAULT_NAMESPACE = "default";
@@ -245,7 +254,7 @@ public abstract class BaseHiveEvent {
 URI location = entity.getLocation();
 
 if (location != null) {
-ret = getHDFSPathEntity(new Path(entity.getLocation()));
+ret = getPathEntity(new Path(entity.getLocation()), 
entityExtInfo);
 }
 }
 break;
@@ -494,26 +503,60 @@ public abstract class BaseHiveEvent {
 return ret;
 }
 
-protected AtlasEntity getHDFSPathEntity(Path path) {
-String  strPath   = path.toString().toLowerCase();
-String  nameServiceID = 
HdfsNameServiceResolver.getNameServiceIDForPath(strPath);
-String  attrPath  = StringUtils.isEmpty(nameServiceID) ? 
strPath : HdfsNameServiceResolver.getPathWithNameServiceID(strPath);
-String  pathQualifiedName = getQualifiedName(attrPath);
-AtlasEntity ret   = context.getEntity(pathQualifiedName);
+protected AtlasEntity getPathEntity(Path path, AtlasEntityExtInfo extInfo) 
{
+AtlasEntity ret;
+String  strPath = path.toString().toLowerCase();
 
-if (ret == null) {
-ret = new AtlasEntity(HDFS_TYPE_PATH);
+if (isS3Path(strPath)) {
+String  bucketName  = path.toUri().getAuthority();
+String  bucketQualifiedName = (path.toUri().getScheme() + 
SCHEME_SEPARATOR + path.toUri().getAuthority() + 
QNAME_SEP_CLUSTER_NAME).toLowerCase() + getClusterName();
+String  pathQualifiedName   = (strPath + 
QNAME_SEP_CLUSTER_N

atlas git commit: ATLAS-2708: added model for AWS types

2018-06-18 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 6d3f17df3 -> bfd88c3c3


ATLAS-2708: added model for AWS types

Signed-off-by: Madhan Neethiraj 
(cherry picked from commit f787bcc2b00224db35667d77de77d1f7b220631d)


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

Branch: refs/heads/branch-1.0
Commit: bfd88c3c3c84f4897c345e146181a56fd5af0620
Parents: 6d3f17d
Author: Barbara Eckman 
Authored: Sun Jun 17 10:13:55 2018 -0700
Committer: Madhan Neethiraj 
Committed: Mon Jun 18 17:24:45 2018 -0700

--
 .../3000-Cloud/3010-aws_common_typedefs.json|  53 +++
 .../models/3000-Cloud/3020-aws_s3_typedefs.json | 400 +++
 2 files changed, 453 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/bfd88c3c/addons/models/3000-Cloud/3010-aws_common_typedefs.json
--
diff --git a/addons/models/3000-Cloud/3010-aws_common_typedefs.json 
b/addons/models/3000-Cloud/3010-aws_common_typedefs.json
new file mode 100644
index 000..fc5b48c
--- /dev/null
+++ b/addons/models/3000-Cloud/3010-aws_common_typedefs.json
@@ -0,0 +1,53 @@
+{
+"enumDefs": [],
+"structDefs": [
+{
+"name":"aws_tag",
+"description": "Atlas Type representing a tag/value pair 
associated with an AWS object, eg S3 bucket",
+"typeVersion": "1.0",
+"attributeDefs": [
+{
+"name":"key",
+"typeName":"string",
+"cardinality": "SINGLE",
+"isIndexable": true,
+"isOptional":  false,
+"isUnique":false
+},
+{
+"name":"value",
+"typeName":"string",
+"cardinality": "SINGLE",
+"isIndexable": false,
+"isOptional":  false,
+"isUnique":false
+}
+]
+},
+{
+"name":"aws_cloud_watch_metric",
+"description": "Atlas Type representing a metric provided by AWS 
Cloud Watch",
+"typeVersion": "1.0",
+"attributeDefs": [
+{
+"name":"metricName",
+"typeName":"string",
+"cardinality": "SINGLE",
+"isIndexable": true,
+"isOptional":  false,
+"isUnique":false
+},
+{
+"name":"scope",
+"typeName":"string",
+"cardinality": "SINGLE",
+"isIndexable": false,
+"isOptional":  false,
+"isUnique":false
+}
+]
+}
+],
+"classificationDefs": [],
+"entityDefs": []
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/bfd88c3c/addons/models/3000-Cloud/3020-aws_s3_typedefs.json
--
diff --git a/addons/models/3000-Cloud/3020-aws_s3_typedefs.json 
b/addons/models/3000-Cloud/3020-aws_s3_typedefs.json
new file mode 100644
index 000..480fd1f
--- /dev/null
+++ b/addons/models/3000-Cloud/3020-aws_s3_typedefs.json
@@ -0,0 +1,400 @@
+{
+"enumDefs": [],
+"structDefs": [
+{
+"name":"aws_s3_bucket_lifeCycleRule",
+"description": "Atlas Type representing the life cycle rules for 
S3 object store bucket",
+"typeVersion": "1.0",
+"attributeDefs": [
+{
+"name":"ruleType",
+"typeName":"string",
+"cardinality": "SINGLE",
+"isIndexable&quo

atlas git commit: ATLAS-2708: added model for AWS types

2018-06-18 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master 75da03904 -> f787bcc2b


ATLAS-2708: added model for AWS types

Signed-off-by: Madhan Neethiraj 


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

Branch: refs/heads/master
Commit: f787bcc2b00224db35667d77de77d1f7b220631d
Parents: 75da039
Author: Barbara Eckman 
Authored: Sun Jun 17 10:13:55 2018 -0700
Committer: Madhan Neethiraj 
Committed: Mon Jun 18 17:19:07 2018 -0700

--
 .../3000-Cloud/3010-aws_common_typedefs.json|  53 +++
 .../models/3000-Cloud/3020-aws_s3_typedefs.json | 400 +++
 2 files changed, 453 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/f787bcc2/addons/models/3000-Cloud/3010-aws_common_typedefs.json
--
diff --git a/addons/models/3000-Cloud/3010-aws_common_typedefs.json 
b/addons/models/3000-Cloud/3010-aws_common_typedefs.json
new file mode 100644
index 000..fc5b48c
--- /dev/null
+++ b/addons/models/3000-Cloud/3010-aws_common_typedefs.json
@@ -0,0 +1,53 @@
+{
+"enumDefs": [],
+"structDefs": [
+{
+"name":"aws_tag",
+"description": "Atlas Type representing a tag/value pair 
associated with an AWS object, eg S3 bucket",
+"typeVersion": "1.0",
+"attributeDefs": [
+{
+"name":"key",
+"typeName":"string",
+"cardinality": "SINGLE",
+"isIndexable": true,
+"isOptional":  false,
+"isUnique":false
+},
+{
+"name":"value",
+"typeName":"string",
+"cardinality": "SINGLE",
+"isIndexable": false,
+"isOptional":  false,
+"isUnique":false
+}
+]
+},
+{
+"name":"aws_cloud_watch_metric",
+"description": "Atlas Type representing a metric provided by AWS 
Cloud Watch",
+"typeVersion": "1.0",
+"attributeDefs": [
+{
+"name":"metricName",
+"typeName":"string",
+"cardinality": "SINGLE",
+"isIndexable": true,
+"isOptional":  false,
+"isUnique":false
+},
+{
+"name":"scope",
+"typeName":"string",
+"cardinality": "SINGLE",
+"isIndexable": false,
+"isOptional":  false,
+"isUnique":false
+}
+]
+}
+],
+"classificationDefs": [],
+"entityDefs": []
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/f787bcc2/addons/models/3000-Cloud/3020-aws_s3_typedefs.json
--
diff --git a/addons/models/3000-Cloud/3020-aws_s3_typedefs.json 
b/addons/models/3000-Cloud/3020-aws_s3_typedefs.json
new file mode 100644
index 000..480fd1f
--- /dev/null
+++ b/addons/models/3000-Cloud/3020-aws_s3_typedefs.json
@@ -0,0 +1,400 @@
+{
+"enumDefs": [],
+"structDefs": [
+{
+"name":"aws_s3_bucket_lifeCycleRule",
+"description": "Atlas Type representing the life cycle rules for 
S3 object store bucket",
+"typeVersion": "1.0",
+"attributeDefs": [
+{
+"name":"ruleType",
+"typeName":"string",
+"cardinality": "SINGLE",
+"isIndexable": true,
+"isOptional":  false,
+"isUnique":false
+},
+

atlas git commit: ATLAS-2757: fix for NPE in Hive hook in handling column-rename on temporary table

2018-06-14 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 8f5c26429 -> 218797aa4


ATLAS-2757: fix for NPE in Hive hook in handling column-rename on temporary 
table

(cherry picked from commit 75da039043f61c0686e362de5c8c35996906)


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

Branch: refs/heads/branch-0.8
Commit: 218797aa491668a713bd7d446dcdbf392b3469c2
Parents: 8f5c264
Author: Madhan Neethiraj 
Authored: Thu Jun 14 15:21:19 2018 -0700
Committer: Madhan Neethiraj 
Committed: Thu Jun 14 17:38:46 2018 -0700

--
 .../atlas/hive/hook/events/AlterTableRenameCol.java| 13 ++---
 1 file changed, 10 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/218797aa/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/AlterTableRenameCol.java
--
diff --git 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/AlterTableRenameCol.java
 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/AlterTableRenameCol.java
index 7c936e4..9f36cb8 100644
--- 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/AlterTableRenameCol.java
+++ 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/AlterTableRenameCol.java
@@ -55,10 +55,17 @@ public class AlterTableRenameCol extends AlterTable {
 return null;
 }
 
-List ret = new 
ArrayList<>(super.getNotificationMessages());
+List baseMsgs = 
super.getNotificationMessages();
 
-Table oldTable = 
getHiveContext().getInputs().iterator().next().getTable();
-Table newTable = 
getHiveContext().getOutputs().iterator().next().getTable();
+if (CollectionUtils.isEmpty(baseMsgs)) {
+LOG.debug("Skipped processing of column-rename (on a temporary 
table?)");
+
+return null;
+}
+
+List ret  = new ArrayList<>(baseMsgs);
+Table oldTable = 
getHiveContext().getInputs().iterator().next().getTable();
+Table newTable = 
getHiveContext().getOutputs().iterator().next().getTable();
 
 newTable = getHive().getTable(newTable.getDbName(), 
newTable.getTableName());
 



atlas git commit: ATLAS-2757: fix for NPE in Hive hook in handling column-rename on temporary table

2018-06-14 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master 399468e6d -> 75da03904


ATLAS-2757: fix for NPE in Hive hook in handling column-rename on temporary 
table


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

Branch: refs/heads/master
Commit: 75da039043f61c0686e362de5c8c35996906
Parents: 399468e
Author: Madhan Neethiraj 
Authored: Thu Jun 14 15:21:19 2018 -0700
Committer: Madhan Neethiraj 
Committed: Thu Jun 14 15:21:19 2018 -0700

--
 .../atlas/hive/hook/events/AlterTableRenameCol.java| 13 ++---
 1 file changed, 10 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/75da0390/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/AlterTableRenameCol.java
--
diff --git 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/AlterTableRenameCol.java
 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/AlterTableRenameCol.java
index 60aea94..5bbdd81 100644
--- 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/AlterTableRenameCol.java
+++ 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/AlterTableRenameCol.java
@@ -54,10 +54,17 @@ public class AlterTableRenameCol extends AlterTable {
 return null;
 }
 
-List ret = new 
ArrayList<>(super.getNotificationMessages());
+List baseMsgs = super.getNotificationMessages();
 
-Table oldTable = 
getHiveContext().getInputs().iterator().next().getTable();
-Table newTable = 
getHiveContext().getOutputs().iterator().next().getTable();
+if (CollectionUtils.isEmpty(baseMsgs)) {
+LOG.debug("Skipped processing of column-rename (on a temporary 
table?)");
+
+return null;
+}
+
+List ret  = new ArrayList<>(baseMsgs);
+Table  oldTable = 
getHiveContext().getInputs().iterator().next().getTable();
+Table  newTable = 
getHiveContext().getOutputs().iterator().next().getTable();
 
 newTable = getHive().getTable(newTable.getDbName(), 
newTable.getTableName());
 



atlas git commit: ATLAS-2757: fix for NPE in Hive hook in handling column-rename on temporary table

2018-06-14 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 71ac87813 -> 6d3f17df3


ATLAS-2757: fix for NPE in Hive hook in handling column-rename on temporary 
table

(cherry picked from commit 75da039043f61c0686e362de5c8c35996906)


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

Branch: refs/heads/branch-1.0
Commit: 6d3f17df30f1eb3c320bfe51bafde7f84d2e0884
Parents: 71ac878
Author: Madhan Neethiraj 
Authored: Thu Jun 14 15:21:19 2018 -0700
Committer: Madhan Neethiraj 
Committed: Thu Jun 14 17:21:41 2018 -0700

--
 .../atlas/hive/hook/events/AlterTableRenameCol.java| 13 ++---
 1 file changed, 10 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/6d3f17df/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/AlterTableRenameCol.java
--
diff --git 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/AlterTableRenameCol.java
 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/AlterTableRenameCol.java
index 60aea94..5bbdd81 100644
--- 
a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/AlterTableRenameCol.java
+++ 
b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/events/AlterTableRenameCol.java
@@ -54,10 +54,17 @@ public class AlterTableRenameCol extends AlterTable {
 return null;
 }
 
-List ret = new 
ArrayList<>(super.getNotificationMessages());
+List baseMsgs = super.getNotificationMessages();
 
-Table oldTable = 
getHiveContext().getInputs().iterator().next().getTable();
-Table newTable = 
getHiveContext().getOutputs().iterator().next().getTable();
+if (CollectionUtils.isEmpty(baseMsgs)) {
+LOG.debug("Skipped processing of column-rename (on a temporary 
table?)");
+
+return null;
+}
+
+List ret  = new ArrayList<>(baseMsgs);
+Table  oldTable = 
getHiveContext().getInputs().iterator().next().getTable();
+Table  newTable = 
getHiveContext().getOutputs().iterator().next().getTable();
 
 newTable = getHive().getTable(newTable.getDbName(), 
newTable.getTableName());
 



[2/4] atlas-website git commit: ATLAS-2744: updated Atlas website to include release-notes in Downloads page

2018-06-14 Thread madhan
http://git-wip-us.apache.org/repos/asf/atlas-website/blob/240841c2/Atlas-Authorization-Simple-Authorizer.html
--
diff --git a/Atlas-Authorization-Simple-Authorizer.html 
b/Atlas-Authorization-Simple-Authorizer.html
index beeeafe..7a8b824 100644
--- a/Atlas-Authorization-Simple-Authorizer.html
+++ b/Atlas-Authorization-Simple-Authorizer.html
@@ -1,13 +1,13 @@
 
 
 http://www.w3.org/1999/xhtml; xml:lang="en" lang="en">
   
 
 
-
+
 
 Apache Atlas  Setting up Atlas to use Simple 
Authorizer
 
@@ -43,16 +43,16 @@
 
   
   
-Releases 
+Downloads 

 
-http://www.apache.org/dyn/closer.cgi/atlas/1.0.0/; 
title="1.0.0">1.0.0
-http://www.apache.org/dyn/closer.cgi/atlas/0.8.2/; 
title="0.8.2">0.8.2
-http://www.apache.org/dyn/closer.cgi/atlas/0.8.1/; 
title="0.8.1">0.8.1
-http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/; 
title="0.8-incubating">0.8-incubating
-http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/; 
title="0.7.1-incubating">0.7.1-incubating
-http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/; 
title="0.7-incubating">0.7-incubating
-http://archive.apache.org/dist/incubator/atlas/0.6.0-incubating/; 
title="0.6-incubating">0.6-incubating
-http://archive.apache.org/dist/incubator/atlas/0.5.0-incubating/; 
title="0.5-incubating">0.5-incubating
+1.0.0
+0.8.2
+0.8.1
+0.8-incubating
+0.7.1-incubating
+0.7-incubating
+0.6-incubating
+0.5-incubating
 
   
   
@@ -109,7 +109,7 @@
   http://www.apache.org; class="externalLink" 
title="Apache">Apache/
   Atlas/
 Setting up Atlas to use Simple Authorizer
-| 
Last Published: 2018-06-03
+| 
Last Published: 2018-06-14
   Version: 1.0.0
 
   

http://git-wip-us.apache.org/repos/asf/atlas-website/blob/240841c2/Bridge-Kafka.html
--
diff --git a/Bridge-Kafka.html b/Bridge-Kafka.html
index 95af06c..f31547e 100644
--- a/Bridge-Kafka.html
+++ b/Bridge-Kafka.html
@@ -1,13 +1,13 @@
 
 
 http://www.w3.org/1999/xhtml; xml:lang="en" lang="en">
   
 
 
-
+
 
 Apache Atlas  Apache Atlas Hook for Apache Kafka
 
@@ -43,16 +43,16 @@
 
   
   
-Releases 
+Downloads 

 
-http://www.apache.org/dyn/closer.cgi/atlas/1.0.0/; 
title="1.0.0">1.0.0
-http://www.apache.org/dyn/closer.cgi/atlas/0.8.2/; 
title="0.8.2">0.8.2
-http://www.apache.org/dyn/closer.cgi/atlas/0.8.1/; 
title="0.8.1">0.8.1
-http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/; 
title="0.8-incubating">0.8-incubating
-http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/; 
title="0.7.1-incubating">0.7.1-incubating
-http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/; 
title="0.7-incubating">0.7-incubating
-http://archive.apache.org/dist/incubator/atlas/0.6.0-incubating/; 
title="0.6-incubating">0.6-incubating
-http://archive.apache.org/dist/incubator/atlas/0.5.0-incubating/; 
title="0.5-incubating">0.5-incubating
+1.0.0
+0.8.2
+0.8.1
+0.8-incubating
+0.7.1-incubating
+0.7-incubating
+0.6-incubating
+0.5-incubating
 
   
   
@@ -109,7 +109,7 @@
   http://www.apache.org; class="externalLink" 
title="Apache">Apache/
   Atlas/
 Apache Atlas Hook for Apache Kafka
-| 
Last Published: 2018-06-03
+| 
Last Published: 2018-06-14
   Version: 1.0.0
 
   

http://git-wip-us.apache.org/repos/asf/atlas-website/blob/240841c2/ClassificationPropagation.html
--
diff --git a/ClassificationPropagation.html b/ClassificationPropagation.html
index daccfa3..1b618bf 100644
--- a/ClassificationPropagation.html
+++ b/ClassificationPropagation.html
@@ -1,13 +1,13 @@
 
 
 http://www.w3.org/1999/xhtml; xml:lang="en" lang="en">
   
 
 
-
+
 
 Apache Atlas  Classification Propagation
 
@@ -43,16 +43,16 @@
 
   
   
-Releases 
+Downloads 

 
-http://www.apache.org/dyn/closer.cgi/atlas/1.0.0/; 
title="1.0.0">1.0.0
-http://www.apache.org/dyn/closer.cgi/atlas/0.8.2/; 
title="0.8.2">0.8.2
-http://www.apache.org/dyn/closer.cgi/atlas/0.8.1/; 
title="0.8.1">0.8.1
-http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/; 
title="0.8-incubating">0.8-incubating
-

[1/4] atlas-website git commit: ATLAS-2744: updated Atlas website to include release-notes in Downloads page

2018-06-14 Thread madhan
Repository: atlas-website
Updated Branches:
  refs/heads/asf-site 3f5fbcf6f -> 240841c2d


http://git-wip-us.apache.org/repos/asf/atlas-website/blob/240841c2/QuickStart.html
--
diff --git a/QuickStart.html b/QuickStart.html
index 53d11b2..4d3edab 100644
--- a/QuickStart.html
+++ b/QuickStart.html
@@ -1,13 +1,13 @@
 
 
 http://www.w3.org/1999/xhtml; xml:lang="en" lang="en">
   
 
 
-
+
 
 Apache Atlas  Quick Start
 
@@ -43,16 +43,16 @@
 
   
   
-Releases 
+Downloads 

 
-http://www.apache.org/dyn/closer.cgi/atlas/1.0.0/; 
title="1.0.0">1.0.0
-http://www.apache.org/dyn/closer.cgi/atlas/0.8.2/; 
title="0.8.2">0.8.2
-http://www.apache.org/dyn/closer.cgi/atlas/0.8.1/; 
title="0.8.1">0.8.1
-http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/; 
title="0.8-incubating">0.8-incubating
-http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/; 
title="0.7.1-incubating">0.7.1-incubating
-http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/; 
title="0.7-incubating">0.7-incubating
-http://archive.apache.org/dist/incubator/atlas/0.6.0-incubating/; 
title="0.6-incubating">0.6-incubating
-http://archive.apache.org/dist/incubator/atlas/0.5.0-incubating/; 
title="0.5-incubating">0.5-incubating
+1.0.0
+0.8.2
+0.8.1
+0.8-incubating
+0.7.1-incubating
+0.7-incubating
+0.6-incubating
+0.5-incubating
 
   
   
@@ -109,7 +109,7 @@
   http://www.apache.org; class="externalLink" 
title="Apache">Apache/
   Atlas/
 Quick Start
-| 
Last Published: 2018-06-03
+| 
Last Published: 2018-06-14
   Version: 1.0.0
 
   

http://git-wip-us.apache.org/repos/asf/atlas-website/blob/240841c2/Search-Advanced.html
--
diff --git a/Search-Advanced.html b/Search-Advanced.html
index 6a8ea9b..66c8902 100644
--- a/Search-Advanced.html
+++ b/Search-Advanced.html
@@ -1,13 +1,13 @@
 
 
 http://www.w3.org/1999/xhtml; xml:lang="en" lang="en">
   
 
 
-
+
 
 Apache Atlas  Advanced Search
 
@@ -43,16 +43,16 @@
 
   
   
-Releases 
+Downloads 

 
-http://www.apache.org/dyn/closer.cgi/atlas/1.0.0/; 
title="1.0.0">1.0.0
-http://www.apache.org/dyn/closer.cgi/atlas/0.8.2/; 
title="0.8.2">0.8.2
-http://www.apache.org/dyn/closer.cgi/atlas/0.8.1/; 
title="0.8.1">0.8.1
-http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/; 
title="0.8-incubating">0.8-incubating
-http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/; 
title="0.7.1-incubating">0.7.1-incubating
-http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/; 
title="0.7-incubating">0.7-incubating
-http://archive.apache.org/dist/incubator/atlas/0.6.0-incubating/; 
title="0.6-incubating">0.6-incubating
-http://archive.apache.org/dist/incubator/atlas/0.5.0-incubating/; 
title="0.5-incubating">0.5-incubating
+1.0.0
+0.8.2
+0.8.1
+0.8-incubating
+0.7.1-incubating
+0.7-incubating
+0.6-incubating
+0.5-incubating
 
   
   
@@ -109,7 +109,7 @@
   http://www.apache.org; class="externalLink" 
title="Apache">Apache/
   Atlas/
 Advanced Search
-| 
Last Published: 2018-06-03
+| 
Last Published: 2018-06-14
   Version: 1.0.0
 
   

http://git-wip-us.apache.org/repos/asf/atlas-website/blob/240841c2/Search-Basic.html
--
diff --git a/Search-Basic.html b/Search-Basic.html
index 532360b..467e613 100644
--- a/Search-Basic.html
+++ b/Search-Basic.html
@@ -1,13 +1,13 @@
 
 
 http://www.w3.org/1999/xhtml; xml:lang="en" lang="en">
   
 
 
-
+
 
 Apache Atlas  Basic Search
 
@@ -43,16 +43,16 @@
 
   
   
-Releases 
+Downloads 

 
-http://www.apache.org/dyn/closer.cgi/atlas/1.0.0/; 
title="1.0.0">1.0.0
-http://www.apache.org/dyn/closer.cgi/atlas/0.8.2/; 
title="0.8.2">0.8.2
-http://www.apache.org/dyn/closer.cgi/atlas/0.8.1/; 
title="0.8.1">0.8.1
-http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/; 
title="0.8-incubating">0.8-incubating
-http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/; 
title="0.7.1-incubating">0.7.1-incubating
-http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/; 
title="0.7-incubating">0.7-incubating
-

[3/4] atlas-website git commit: ATLAS-2744: updated Atlas website to include release-notes in Downloads page

2018-06-14 Thread madhan
http://git-wip-us.apache.org/repos/asf/atlas-website/blob/240841c2/1.0.0/Import-API-Options.html
--
diff --git a/1.0.0/Import-API-Options.html b/1.0.0/Import-API-Options.html
index 3cca161..3bf4e79 100644
--- a/1.0.0/Import-API-Options.html
+++ b/1.0.0/Import-API-Options.html
@@ -1,13 +1,13 @@
 
 
 http://www.w3.org/1999/xhtml; xml:lang="en" lang="en">
   
 
 
-
+
 
 Apache Atlas  Import API Options
 
@@ -43,16 +43,16 @@
 
   
   
-Releases 
+Downloads 

 
-http://www.apache.org/dyn/closer.cgi/atlas/1.0.0/; 
title="1.0.0">1.0.0
-http://www.apache.org/dyn/closer.cgi/atlas/0.8.2/; 
title="0.8.2">0.8.2
-http://www.apache.org/dyn/closer.cgi/atlas/0.8.1/; 
title="0.8.1">0.8.1
-http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/; 
title="0.8-incubating">0.8-incubating
-http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/; 
title="0.7.1-incubating">0.7.1-incubating
-http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/; 
title="0.7-incubating">0.7-incubating
-http://archive.apache.org/dist/incubator/atlas/0.6.0-incubating/; 
title="0.6-incubating">0.6-incubating
-http://archive.apache.org/dist/incubator/atlas/0.5.0-incubating/; 
title="0.5-incubating">0.5-incubating
+1.0.0
+0.8.2
+0.8.1
+0.8-incubating
+0.7.1-incubating
+0.7-incubating
+0.6-incubating
+0.5-incubating
 
   
   
@@ -109,7 +109,7 @@
   http://www.apache.org; class="externalLink" 
title="Apache">Apache/
   Atlas/
 Import API Options
-| 
Last Published: 2018-06-03
+| 
Last Published: 2018-06-14
   Version: 1.0.0
 
   

http://git-wip-us.apache.org/repos/asf/atlas-website/blob/240841c2/1.0.0/Import-API.html
--
diff --git a/1.0.0/Import-API.html b/1.0.0/Import-API.html
index b8da80c..1cb356e 100644
--- a/1.0.0/Import-API.html
+++ b/1.0.0/Import-API.html
@@ -1,13 +1,13 @@
 
 
 http://www.w3.org/1999/xhtml; xml:lang="en" lang="en">
   
 
 
-
+
 
 Apache Atlas  Import API
 
@@ -43,16 +43,16 @@
 
   
   
-Releases 
+Downloads 

 
-http://www.apache.org/dyn/closer.cgi/atlas/1.0.0/; 
title="1.0.0">1.0.0
-http://www.apache.org/dyn/closer.cgi/atlas/0.8.2/; 
title="0.8.2">0.8.2
-http://www.apache.org/dyn/closer.cgi/atlas/0.8.1/; 
title="0.8.1">0.8.1
-http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/; 
title="0.8-incubating">0.8-incubating
-http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/; 
title="0.7.1-incubating">0.7.1-incubating
-http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/; 
title="0.7-incubating">0.7-incubating
-http://archive.apache.org/dist/incubator/atlas/0.6.0-incubating/; 
title="0.6-incubating">0.6-incubating
-http://archive.apache.org/dist/incubator/atlas/0.5.0-incubating/; 
title="0.5-incubating">0.5-incubating
+1.0.0
+0.8.2
+0.8.1
+0.8-incubating
+0.7.1-incubating
+0.7-incubating
+0.6-incubating
+0.5-incubating
 
   
   
@@ -109,7 +109,7 @@
   http://www.apache.org; class="externalLink" 
title="Apache">Apache/
   Atlas/
 Import API
-| 
Last Published: 2018-06-03
+| 
Last Published: 2018-06-14
   Version: 1.0.0
 
   

http://git-wip-us.apache.org/repos/asf/atlas-website/blob/240841c2/1.0.0/Import-Export-API.html
--
diff --git a/1.0.0/Import-Export-API.html b/1.0.0/Import-Export-API.html
index a56da87..e552712 100644
--- a/1.0.0/Import-Export-API.html
+++ b/1.0.0/Import-Export-API.html
@@ -1,13 +1,13 @@
 
 
 http://www.w3.org/1999/xhtml; xml:lang="en" lang="en">
   
 
 
-
+
 
 Apache Atlas  Export & Import REST APIs
 
@@ -43,16 +43,16 @@
 
   
   
-Releases 
+Downloads 

 
-http://www.apache.org/dyn/closer.cgi/atlas/1.0.0/; 
title="1.0.0">1.0.0
-http://www.apache.org/dyn/closer.cgi/atlas/0.8.2/; 
title="0.8.2">0.8.2
-http://www.apache.org/dyn/closer.cgi/atlas/0.8.1/; 
title="0.8.1">0.8.1
-http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/; 
title="0.8-incubating">0.8-incubating
-http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/; 
title="0.7.1-incubating">0.7.1-incubating
-http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/; 

atlas git commit: ATLAS-2744: updated Atlas website to include release-notes in Downloads page

2018-06-14 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 808da77b5 -> 71ac87813


ATLAS-2744: updated Atlas website to include release-notes in Downloads page

Signed-off-by: Madhan Neethiraj 
(cherry picked from commit 399468e6d758550d1af1ad329e9a2bc38a8b17b3)


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

Branch: refs/heads/branch-1.0
Commit: 71ac878134d2bef9dce4dc07437fbbe426ba8cc0
Parents: 808da77
Author: Abhishek 
Authored: Thu Jun 14 18:32:22 2018 +0530
Committer: Madhan Neethiraj 
Committed: Thu Jun 14 10:12:34 2018 -0700

--
 docs/src/site/site.xml  |  18 +++---
 docs/src/site/twiki/Downloads.twiki | 102 +--
 2 files changed, 105 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/71ac8781/docs/src/site/site.xml
--
diff --git a/docs/src/site/site.xml b/docs/src/site/site.xml
index a425836..fdf9b47 100755
--- a/docs/src/site/site.xml
+++ b/docs/src/site/site.xml
@@ -78,23 +78,23 @@
 
 
 
-
+
 http://www.apache.org/dyn/closer.cgi/atlas/1.0.0/"/>
+  href="Downloads.html"/>
 http://www.apache.org/dyn/closer.cgi/atlas/0.8.2/"/>
+  href="Downloads.html"/>
 http://www.apache.org/dyn/closer.cgi/atlas/0.8.1/"/>
+  href="Downloads.html"/>
 http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/"/>
+  href="Downloads.html"/>
 http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/"/>
+  href="Downloads.html"/>
 http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/"/>
+  href="Downloads.html"/>
 http://archive.apache.org/dist/incubator/atlas/0.6.0-incubating/"/>
+  href="Downloads.html"/>
 http://archive.apache.org/dist/incubator/atlas/0.5.0-incubating/"/>
+  href="Downloads.html"/>
 
 
 

http://git-wip-us.apache.org/repos/asf/atlas/blob/71ac8781/docs/src/site/twiki/Downloads.twiki
--
diff --git a/docs/src/site/twiki/Downloads.twiki 
b/docs/src/site/twiki/Downloads.twiki
index 1272d34..df3fd08 100755
--- a/docs/src/site/twiki/Downloads.twiki
+++ b/docs/src/site/twiki/Downloads.twiki
@@ -10,12 +10,11 @@ artifacts can be found in our published 
[[https://www.apache.org/dist/atlas/KEYS
 | 1.0.0 | 2018-06-02 | 
[[https://www.apache.org/dyn/closer.cgi/atlas/1.0.0/apache-atlas-1.0.0-sources.tar.gz][source]]
 | 
[[https://www.apache.org/dist/atlas/1.0.0/apache-atlas-1.0.0-sources.tar.gz.asc][signature]]
 | 
[[https://www.apache.org/dist/atlas/1.0.0/apache-atlas-1.0.0-sources.tar.gz.sha512][SHA512]]
 |
 | 0.8.2 | 2018-02-05 | 
[[https://www.apache.org/dyn/closer.cgi/atlas/0.8.2/apache-atlas-0.8.2-sources.tar.gz][source]]
 | 
[[https://www.apache.org/dist/atlas/0.8.2/apache-atlas-0.8.2-sources.tar.gz.asc][signature]]
 | 
[[https://www.apache.org/dist/atlas/0.8.2/apache-atlas-0.8.2-sources.tar.gz.sha512][SHA512]]
 |
 | 0.8.1 | 2017-08-29 | 
[[https://archive.apache.org/dist/atlas/0.8.1/apache-atlas-0.8.1-sources.tar.gz][source]]
 | 
[[https://archive.apache.org/dist/atlas/0.8.1/apache-atlas-0.8.1-sources.tar.gz.asc][signature]]
 | 
[[https://archive.apache.org/dist/atlas/0.8.1/apache-atlas-0.8.1-sources.tar.gz.sha512][SHA512]]
 |
-| 0.8.0-incubating | 2017-03-16 | 
[[http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/apache-atlas-0.8-incubating-sources.tar.gz][source]]
 | 
[[https://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/apache-atlas-0.8-incubating-sources.tar.gz.asc][signature]]
 | 
[[https://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/apache-atlas-0.8-incubating-sources.tar.gz.sha512][SHA512]]
 |
-| 0.7.1-incubating | 2017-01-29 | 
[[http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/apache-atlas-0.7.1-incubating-sources.tar.gz][source]]
 | 
[[https://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/apache-atlas-0.7.1-incubating-sources.tar.gz.asc][signature]]
 | 
[[https://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/apache-atlas-0.7.1-incubating-sources.tar.gz.mds][checksum]]
 |
-| 0.7.0-incubating | 2016-07-09 | 
[[http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/apache-atlas-0.7-incubat

atlas git commit: ATLAS-2744: updated Atlas website to include release-notes in Downloads page

2018-06-14 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master d7b4d5852 -> 399468e6d


ATLAS-2744: updated Atlas website to include release-notes in Downloads page

Signed-off-by: Madhan Neethiraj 


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

Branch: refs/heads/master
Commit: 399468e6d758550d1af1ad329e9a2bc38a8b17b3
Parents: d7b4d58
Author: Abhishek 
Authored: Thu Jun 14 18:32:22 2018 +0530
Committer: Madhan Neethiraj 
Committed: Thu Jun 14 10:08:48 2018 -0700

--
 docs/src/site/site.xml  |  18 +++---
 docs/src/site/twiki/Downloads.twiki | 102 +--
 2 files changed, 105 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/399468e6/docs/src/site/site.xml
--
diff --git a/docs/src/site/site.xml b/docs/src/site/site.xml
index a425836..fdf9b47 100755
--- a/docs/src/site/site.xml
+++ b/docs/src/site/site.xml
@@ -78,23 +78,23 @@
 
 
 
-
+
 http://www.apache.org/dyn/closer.cgi/atlas/1.0.0/"/>
+  href="Downloads.html"/>
 http://www.apache.org/dyn/closer.cgi/atlas/0.8.2/"/>
+  href="Downloads.html"/>
 http://www.apache.org/dyn/closer.cgi/atlas/0.8.1/"/>
+  href="Downloads.html"/>
 http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/"/>
+  href="Downloads.html"/>
 http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/"/>
+  href="Downloads.html"/>
 http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/"/>
+  href="Downloads.html"/>
 http://archive.apache.org/dist/incubator/atlas/0.6.0-incubating/"/>
+  href="Downloads.html"/>
 http://archive.apache.org/dist/incubator/atlas/0.5.0-incubating/"/>
+  href="Downloads.html"/>
 
 
 

http://git-wip-us.apache.org/repos/asf/atlas/blob/399468e6/docs/src/site/twiki/Downloads.twiki
--
diff --git a/docs/src/site/twiki/Downloads.twiki 
b/docs/src/site/twiki/Downloads.twiki
index a382add..29f6daa 100755
--- a/docs/src/site/twiki/Downloads.twiki
+++ b/docs/src/site/twiki/Downloads.twiki
@@ -10,12 +10,11 @@ artifacts can be found in our published 
[[https://www.apache.org/dist/atlas/KEYS
 | 1.0.0 | 2018-06-02 | 
[[https://www.apache.org/dyn/closer.cgi/atlas/1.0.0/apache-atlas-1.0.0-sources.tar.gz][source]]
 | 
[[https://www.apache.org/dist/atlas/1.0.0/apache-atlas-1.0.0-sources.tar.gz.asc][signature]]
 | 
[[https://www.apache.org/dist/atlas/1.0.0/apache-atlas-1.0.0-sources.tar.gz.sha512][SHA512]]
 |
 | 0.8.2 | 2018-02-05 | 
[[https://www.apache.org/dyn/closer.cgi/atlas/0.8.2/apache-atlas-0.8.2-sources.tar.gz][source]]
 | 
[[https://www.apache.org/dist/atlas/0.8.2/apache-atlas-0.8.2-sources.tar.gz.asc][signature]]
 | 
[[https://www.apache.org/dist/atlas/0.8.2/apache-atlas-0.8.2-sources.tar.gz.sha512][SHA512]]
 |
 | 0.8.1 | 2017-08-29 | 
[[https://archive.apache.org/dist/atlas/0.8.1/apache-atlas-0.8.1-sources.tar.gz][source]]
 | 
[[https://archive.apache.org/dist/atlas/0.8.1/apache-atlas-0.8.1-sources.tar.gz.asc][signature]]
 | 
[[https://archive.apache.org/dist/atlas/0.8.1/apache-atlas-0.8.1-sources.tar.gz.sha512][SHA512]]
 |
-| 0.8.0-incubating | 2017-03-16 | 
[[http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/apache-atlas-0.8-incubating-sources.tar.gz][source]]
 | 
[[https://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/apache-atlas-0.8-incubating-sources.tar.gz.asc][signature]]
 | 
[[https://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/apache-atlas-0.8-incubating-sources.tar.gz.sha512][SHA512]]
 |
-| 0.7.1-incubating | 2017-01-29 | 
[[http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/apache-atlas-0.7.1-incubating-sources.tar.gz][source]]
 | 
[[https://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/apache-atlas-0.7.1-incubating-sources.tar.gz.asc][signature]]
 | 
[[https://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/apache-atlas-0.7.1-incubating-sources.tar.gz.mds][checksum]]
 |
-| 0.7.0-incubating | 2016-07-09 | 
[[http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/apache-atlas-0.7-incubating-sources.tar.gz][source]]
 | 
[[https://archive.apache.org/dist/incubator/atlas/0.7.

atlas git commit: ATLAS-2747: UI : Tag attributes of type array are displayed with an extra '>' character

2018-06-12 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 d5ca279bc -> 72cae9eda


ATLAS-2747: UI : Tag attributes of type array are displayed with an extra '>' 
character

Signed-off-by: nixonrodrigues 
(cherry picked from commit cbc4b8a3fea2529c79f3a6addd273feae6c41433)


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

Branch: refs/heads/branch-1.0
Commit: 72cae9eda703ab38674810f37219fea1e6856172
Parents: d5ca279
Author: Abhishek Kadam 
Authored: Fri Jun 8 19:26:04 2018 +0530
Committer: Madhan Neethiraj 
Committed: Tue Jun 12 12:44:06 2018 -0700

--
 dashboardv2/public/js/utils/Overrides.js| 6 ++
 dashboardv2/public/js/views/tag/AddTagModalView.js  | 4 +++-
 dashboardv2/public/js/views/tag/TagDetailTableLayoutView.js | 5 -
 3 files changed, 13 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/72cae9ed/dashboardv2/public/js/utils/Overrides.js
--
diff --git a/dashboardv2/public/js/utils/Overrides.js 
b/dashboardv2/public/js/utils/Overrides.js
index a96fc2c..aa69b9b 100644
--- a/dashboardv2/public/js/utils/Overrides.js
+++ b/dashboardv2/public/js/utils/Overrides.js
@@ -68,6 +68,12 @@ define(['require', 'utils/Utils', 'marionette', 'backgrid', 
'asBreadcrumbs', 'jq
 } else {
 return val;
 }
+},
+isTypePrimitive: function(type) {
+if (type === "int" || type === "byte" || type === "short" || type 
=== "long" || type === "float" || type === "double" || type === "string" || 
type === "boolean" || type === "date") {
+return true;
+}
+return false;
 }
 });
 var getPopoverEl = function(e) {

http://git-wip-us.apache.org/repos/asf/atlas/blob/72cae9ed/dashboardv2/public/js/views/tag/AddTagModalView.js
--
diff --git a/dashboardv2/public/js/views/tag/AddTagModalView.js 
b/dashboardv2/public/js/views/tag/AddTagModalView.js
index e442f57..c256ef3 100644
--- a/dashboardv2/public/js/views/tag/AddTagModalView.js
+++ b/dashboardv2/public/js/views/tag/AddTagModalView.js
@@ -341,7 +341,9 @@ define(['require',
 '' + str + '');
 } else {
 var textElement = that.getElement(name, typeName);
-that.ui.tagAttribute.append('' + name + '' + ' (' + typeName + ')' + 
textElement + '');
+if (_.isTypePrimitive(typeName)) {
+that.ui.tagAttribute.append('' + name + '' + ' (' + typeName + ')' + 
textElement + '');  
+}
 }
 });
 that.$('input[data-type="date"]').each(function() {

http://git-wip-us.apache.org/repos/asf/atlas/blob/72cae9ed/dashboardv2/public/js/views/tag/TagDetailTableLayoutView.js
--
diff --git a/dashboardv2/public/js/views/tag/TagDetailTableLayoutView.js 
b/dashboardv2/public/js/views/tag/TagDetailTableLayoutView.js
index 35e0f87..07f9b70 100644
--- a/dashboardv2/public/js/views/tag/TagDetailTableLayoutView.js
+++ b/dashboardv2/public/js/views/tag/TagDetailTableLayoutView.js
@@ -150,10 +150,13 @@ define(['require',
 }), 'sortKey'), function(sortedObj) {
 var val = 
_.isNull(values[sortedObj.name]) ? "-" : values[sortedObj.name],
 key = sortedObj.name;
+if (_.isObject(val)) {
+val = JSON.stringify(val); 
+}
 if (sortedObj.typeName === "date") 
{
 val = new Date(val)
 }
-stringValue += "" + _.escape(key) + "" 
+ _.escape(val) + "";
+stringValue += "" + _.escape(key) + "" + 
_.escape(val) + "";
 });
 tagValue = "NameValue" + stringValue + "";
 }



[1/3] atlas git commit: ATLAS-2730: Invalid timezone/start time/end time is accepted by classification API #2

2018-06-10 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 703457d8e -> d5ca279bc


ATLAS-2730: Invalid timezone/start time/end time is accepted by classification 
API #2

Signed-off-by: Sarath Subramanian 
(cherry picked from commit 9e762c095f00e0d281ebc6f47b951856f3c097b8)


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

Branch: refs/heads/branch-1.0
Commit: 0e4387961f38fb411979ba5288dfec4d0c63a424
Parents: 703457d
Author: nixonrodrigues 
Authored: Fri Jun 8 10:40:57 2018 -0700
Committer: Madhan Neethiraj 
Committed: Sun Jun 10 08:05:48 2018 -0700

--
 .../java/org/apache/atlas/AtlasErrorCode.java   |  1 +
 .../atlas/type/AtlasClassificationType.java | 24 ++-
 .../atlas/type/TestAtlasClassificationType.java | 70 +++-
 3 files changed, 93 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/0e438796/intg/src/main/java/org/apache/atlas/AtlasErrorCode.java
--
diff --git a/intg/src/main/java/org/apache/atlas/AtlasErrorCode.java 
b/intg/src/main/java/org/apache/atlas/AtlasErrorCode.java
index f0585eb..328b767 100644
--- a/intg/src/main/java/org/apache/atlas/AtlasErrorCode.java
+++ b/intg/src/main/java/org/apache/atlas/AtlasErrorCode.java
@@ -148,6 +148,7 @@ public enum AtlasErrorCode {
 MISSING_CATEGORY_DISPLAY_NAME(400, "ATLAS-400-00-082", "Category name is 
empty/null"),
 INVALID_DISPLAY_NAME(400, "ATLAS-400-00-083", "name cannot contain 
following special chars ('@', '.')"),
 TERM_HAS_ENTITY_ASSOCIATION(400, "ATLAS-400-00-086", "Term (guid={0}) 
can't be deleted as it has been assigned to {1} entities."),
+INVALID_TIMEBOUNDRY_TIMEZONE(400, "ATLAS-400-00-87A", "Invalid timezone 
{0}"),
 INVALID_TIMEBOUNDRY_START_TIME(400, "ATLAS-400-00-87B", "Invalid startTime 
{0}"),
 INVALID_TIMEBOUNDRY_END_TIME(400, "ATLAS-400-00-87C", "Invalid endTime 
{0}"),
 INVALID_TIMEBOUNDRY_DATERANGE(400, "ATLAS-400-00-87D", "Invalid dateRange: 
startTime {0} must be before endTime {1}"),

http://git-wip-us.apache.org/repos/asf/atlas/blob/0e438796/intg/src/main/java/org/apache/atlas/type/AtlasClassificationType.java
--
diff --git 
a/intg/src/main/java/org/apache/atlas/type/AtlasClassificationType.java 
b/intg/src/main/java/org/apache/atlas/type/AtlasClassificationType.java
index 1adb362..ee0ac23 100644
--- a/intg/src/main/java/org/apache/atlas/type/AtlasClassificationType.java
+++ b/intg/src/main/java/org/apache/atlas/type/AtlasClassificationType.java
@@ -560,9 +560,15 @@ public class AtlasClassificationType extends 
AtlasStructType {
 final TimeZone timezone;
 
 if (StringUtils.isNotEmpty(timeBoundary.getTimeZone())) {
+if (!isValidTimeZone(timeBoundary.getTimeZone())) {
+addValidationMessageIfNotPresent(new 
AtlasBaseException(AtlasErrorCode.INVALID_TIMEBOUNDRY_TIMEZONE, 
timeBoundary.getTimeZone()), messages);
+
+ret = false;
+}
+
 timezone = TimeZone.getTimeZone(timeBoundary.getTimeZone());
 } else {
-timezone = java.util.TimeZone.getDefault();
+timezone = TimeZone.getDefault();
 }
 
 if (StringUtils.isNotEmpty(timeBoundary.getStartTime())) {
@@ -596,6 +602,22 @@ public class AtlasClassificationType extends 
AtlasStructType {
 return ret;
 }
 
+public static boolean isValidTimeZone(final String timeZone) {
+final String DEFAULT_GMT_TIMEZONE = "GMT";
+if (timeZone.equals(DEFAULT_GMT_TIMEZONE)) {
+return true;
+} else {
+// if custom time zone is invalid,
+// time zone id returned is always "GMT" by default
+String id = TimeZone.getTimeZone(timeZone).getID();
+if (!id.equals(DEFAULT_GMT_TIMEZONE)) {
+return true;
+}
+}
+
+return false;
+}
+
 private void addValidationMessageIfNotPresent(AtlasBaseException excp, 
List messages) {
 String msg = excp.getMessage();
 

http://git-wip-us.apache.org/repos/asf/atlas/blob/0e438796/intg/src/test/java/org/apache/atlas/type/TestAtlasClassificationType.java
--
diff --git 
a/intg/src/test/java/org/apache/atlas/type/TestAtlasClassificationType.java 
b/intg/src/test/java/org/apache/atlas/type/TestAtlasClassificationTyp

[3/3] atlas git commit: ATLAS-2745 - AtlasEnumDefStore should remember default value

2018-06-10 Thread madhan
ATLAS-2745 - AtlasEnumDefStore should remember default value

Signed-off-by: David Radley 
(cherry picked from commit ce5ffeb710721b78135e8b3c3ebe593bd70d2cdf)


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

Branch: refs/heads/branch-1.0
Commit: d5ca279bcf3c23d6e0e8e9a9dd2fbca4199f83b7
Parents: 6acbb02
Author: Graham Wallis 
Authored: Thu Jun 7 14:25:53 2018 +0100
Committer: Madhan Neethiraj 
Committed: Sun Jun 10 08:06:08 2018 -0700

--
 .../store/graph/v2/AtlasEnumDefStoreV2.java | 42 
 1 file changed, 25 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/d5ca279b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEnumDefStoreV2.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEnumDefStoreV2.java
 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEnumDefStoreV2.java
index 7d7233f..2abfcf8 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEnumDefStoreV2.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEnumDefStoreV2.java
@@ -37,7 +37,7 @@ import java.util.Iterator;
 import java.util.List;
 
 /**
- * EnumDef store in v1 format.
+ * EnumDef store in v2 format.
  */
 class AtlasEnumDefStoreV2 extends AtlasAbstractDefStoreV2 {
 private static final Logger LOG = 
LoggerFactory.getLogger(AtlasEnumDefStoreV2.class);
@@ -49,7 +49,7 @@ class AtlasEnumDefStoreV2 extends 
AtlasAbstractDefStoreV2 {
 @Override
 public AtlasVertex preCreate(AtlasEnumDef enumDef) throws 
AtlasBaseException {
 if (LOG.isDebugEnabled()) {
-  LOG.debug("==> AtlasEnumDefStoreV1.preCreate({})", enumDef);
+  LOG.debug("==> AtlasEnumDefStoreV2.preCreate({})", enumDef);
 }
 
 validateType(enumDef);
@@ -65,7 +65,7 @@ class AtlasEnumDefStoreV2 extends 
AtlasAbstractDefStoreV2 {
 toVertex(enumDef, vertex);
 
 if (LOG.isDebugEnabled()) {
-LOG.debug("<== AtlasEnumDefStoreV1.preCreate({}): {}", enumDef, 
vertex);
+LOG.debug("<== AtlasEnumDefStoreV2.preCreate({}): {}", enumDef, 
vertex);
 }
 
 return vertex;
@@ -74,7 +74,7 @@ class AtlasEnumDefStoreV2 extends 
AtlasAbstractDefStoreV2 {
 @Override
 public AtlasEnumDef create(AtlasEnumDef enumDef, AtlasVertex 
preCreateResult) throws AtlasBaseException {
 if (LOG.isDebugEnabled()) {
-  LOG.debug("==> AtlasEnumDefStoreV1.create({}, {})", enumDef, 
preCreateResult);
+  LOG.debug("==> AtlasEnumDefStoreV2.create({}, {})", enumDef, 
preCreateResult);
 }
 
 AtlasAuthorizationUtils.verifyAccess(new 
AtlasTypeAccessRequest(AtlasPrivilege.TYPE_CREATE, enumDef), "create enum-def 
", enumDef.getName());
@@ -84,7 +84,7 @@ class AtlasEnumDefStoreV2 extends 
AtlasAbstractDefStoreV2 {
 AtlasEnumDef ret = toEnumDef(vertex);
 
 if (LOG.isDebugEnabled()) {
-LOG.debug("<== AtlasEntityDefStoreV1.create({}, {}): {}", enumDef, 
preCreateResult, ret);
+LOG.debug("<== AtlasEntityDefStoreV2.create({}, {}): {}", enumDef, 
preCreateResult, ret);
 }
 
 return ret;
@@ -93,7 +93,7 @@ class AtlasEnumDefStoreV2 extends 
AtlasAbstractDefStoreV2 {
 @Override
 public List getAll() throws AtlasBaseException {
 if (LOG.isDebugEnabled()) {
-LOG.debug("==> AtlasEnumDefStoreV1.getAll()");
+LOG.debug("==> AtlasEnumDefStoreV2.getAll()");
 }
 
 List ret = new ArrayList<>();
@@ -104,7 +104,7 @@ class AtlasEnumDefStoreV2 extends 
AtlasAbstractDefStoreV2 {
 }
 
 if (LOG.isDebugEnabled()) {
-LOG.debug("<== AtlasEnumDefStoreV1.getAll(): count={}", 
ret.size());
+LOG.debug("<== AtlasEnumDefStoreV2.getAll(): count={}", 
ret.size());
 }
 
 return ret;
@@ -113,7 +113,7 @@ class AtlasEnumDefStoreV2 extends 
AtlasAbstractDefStoreV2 {
 @Override
 public AtlasEnumDef getByName(String name) throws AtlasBaseException {
 if (LOG.isDebugEnabled()) {
-LOG.debug("==> AtlasEnumDefStoreV1.getByName({})", name);
+LOG.debug("==> AtlasEnumDefStoreV2.getByName({})", name);
 }
 
 AtlasVertex vertex = 
typeDefStore.findTypeVertexByNameAndCategory(name, TypeCategor

[2/3] atlas git commit: ATLAS-2748, ATLAS-2849, ATLAS-2750: Edges' state preserved during import. Classification dissociation fails on imported entities with classifications. Processing classification

2018-06-10 Thread madhan
ATLAS-2748, ATLAS-2849, ATLAS-2750: Edges' state preserved during import. 
Classification dissociation fails on imported entities with classifications. 
Processing classifications with attributes containing maps and arrays.

(cherry picked from commit 7174257bf131f531a5f86ccb574ddb512af69623)


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

Branch: refs/heads/branch-1.0
Commit: 6acbb0264926bcdf26b354fbd11132b0d6410a1d
Parents: 0e43879
Author: Ashutosh Mestry 
Authored: Fri Jun 8 10:35:27 2018 -0700
Committer: Madhan Neethiraj 
Committed: Sun Jun 10 08:05:58 2018 -0700

--
 .../janus/migration/ElementProcessors.java  |  4 +-
 .../migration/TypesWithCollectionsFinder.java   |  1 +
 .../janus/migration/GraphSONUtilityTest.java| 46 +---
 .../TypesWithCollectionsFinderTest.java |  9 +++-
 .../json/typesDef-classification-with-map.json  | 30 +
 5 files changed, 62 insertions(+), 28 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/6acbb026/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/migration/ElementProcessors.java
--
diff --git 
a/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/migration/ElementProcessors.java
 
b/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/migration/ElementProcessors.java
index 4017aaa..18082d7 100644
--- 
a/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/migration/ElementProcessors.java
+++ 
b/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/migration/ElementProcessors.java
@@ -34,6 +34,7 @@ import java.util.UUID;
 
 import static 
org.apache.atlas.repository.Constants.ATTRIBUTE_INDEX_PROPERTY_KEY;
 import static org.apache.atlas.repository.Constants.ATTRIBUTE_KEY_PROPERTY_KEY;
+import static 
org.apache.atlas.repository.Constants.CLASSIFICATION_EDGE_IS_PROPAGATED_PROPERTY_KEY;
 import static 
org.apache.atlas.repository.Constants.CLASSIFICATION_EDGE_NAME_PROPERTY_KEY;
 import static org.apache.atlas.repository.Constants.CLASSIFICATION_ENTITY_GUID;
 import static 
org.apache.atlas.repository.Constants.CLASSIFICATION_VERTEX_PROPAGATE_KEY;
@@ -354,9 +355,8 @@ public class ElementProcessors {
 
 private void addMandatoryRelationshipProperties(String label, 
Map props) {
 props.put(Constants.RELATIONSHIP_GUID_PROPERTY_KEY, 
UUID.randomUUID().toString());
-
 props.put(RELATIONSHIPTYPE_TAG_PROPAGATION_KEY, 
String.valueOf(getDefaultPropagateValue(label)));
-props.put(STATE_PROPERTY_KEY, "ACTIVE");
+props.put(CLASSIFICATION_EDGE_IS_PROPAGATED_PROPERTY_KEY, false);
 }
 }
 

http://git-wip-us.apache.org/repos/asf/atlas/blob/6acbb026/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/migration/TypesWithCollectionsFinder.java
--
diff --git 
a/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/migration/TypesWithCollectionsFinder.java
 
b/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/migration/TypesWithCollectionsFinder.java
index 55aa9c9..9b4499b 100644
--- 
a/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/migration/TypesWithCollectionsFinder.java
+++ 
b/graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/migration/TypesWithCollectionsFinder.java
@@ -47,6 +47,7 @@ public class TypesWithCollectionsFinder {
 
 
addVertexPropertiesForCollectionAttributes(typeRegistry.getAllEntityTypes(), 
ret);
 
addVertexPropertiesForCollectionAttributes(typeRegistry.getAllStructTypes(), 
ret);
+
addVertexPropertiesForCollectionAttributes(typeRegistry.getAllClassificationTypes(),
 ret);
 
 displayInfo("types with properties: ", ret);
 

http://git-wip-us.apache.org/repos/asf/atlas/blob/6acbb026/graphdb/janus/src/test/java/org/apache/atlas/repository/graphdb/janus/migration/GraphSONUtilityTest.java
--
diff --git 
a/graphdb/janus/src/test/java/org/apache/atlas/repository/graphdb/janus/migration/GraphSONUtilityTest.java
 
b/graphdb/janus/src/test/java/org/apache/atlas/repository/graphdb/janus/migration/GraphSONUtilityTest.java
index 0c9b620..3184236 100644
--- 
a/graphdb/janus/src/test/java/org/apache/atlas/repository/graphdb/janus/migration/GraphSONUtilityTest.java
+++ 
b/graphdb/janus/src/test/java/org/apache/atlas/repository/graphdb/janus/migration/GraphSONUtilityTest.java
@@ -

[1/2] atlas git commit: ATLAS-2741: Deleted entities : DSL search with tag doesn't list the deleted entities to which that tag is associated

2018-06-07 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 a08d8860f -> 6c7d8e268


ATLAS-2741: Deleted entities : DSL search with tag doesn't list the deleted 
entities to which that tag is associated

(cherry picked from commit 595c87808a737374236bc63e0e5ed3c907969f7d)


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

Branch: refs/heads/branch-1.0
Commit: c36bc4f9fc20a61801bf26958056dca5e6daab80
Parents: a08d886
Author: Sarath Subramanian 
Authored: Tue Jun 5 14:41:48 2018 -0700
Committer: Madhan Neethiraj 
Committed: Thu Jun 7 07:44:43 2018 -0700

--
 repository/src/main/java/org/apache/atlas/query/GremlinClause.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/c36bc4f9/repository/src/main/java/org/apache/atlas/query/GremlinClause.java
--
diff --git a/repository/src/main/java/org/apache/atlas/query/GremlinClause.java 
b/repository/src/main/java/org/apache/atlas/query/GremlinClause.java
index 087bcc6..454b343 100644
--- a/repository/src/main/java/org/apache/atlas/query/GremlinClause.java
+++ b/repository/src/main/java/org/apache/atlas/query/GremlinClause.java
@@ -46,7 +46,7 @@ enum GremlinClause {
 TEXT_CONTAINS("has('%s', 
org.janusgraph.core.attribute.Text.textRegex(%s))"),
 TEXT_PREFIX("has('%s', 
org.janusgraph.core.attribute.Text.textPrefix(%s))"),
 TEXT_SUFFIX("has('%s', org.janusgraph.core.attribute.Text.textRegex(\".*\" 
+ %s))"),
-TRAIT("outE('classifiedAs').has('__name', within('%s')).has('__state', 
'ACTIVE').outV()"),
+TRAIT("outE('classifiedAs').has('__name', within('%s')).outV()"),
 SELECT_NOOP_FN("def f(r){ r }; "),
 SELECT_FN("def f(r){ t=[[%s]]; %s r.each({t.add([%s])}); t.unique(); }; "),
 SELECT_ONLY_AGG_FN("def f(r){ t=[[%s]]; %s t.add([%s]); t;}; "),



[2/2] atlas git commit: ATLAS-2741: Deleted entities : DSL search with tag doesn't list the deleted entities to which that tag is associated #2

2018-06-07 Thread madhan
ATLAS-2741: Deleted entities : DSL search with tag doesn't list the deleted 
entities to which that tag is associated #2

(cherry picked from commit ef4044273b28855d1fcd2e67afb50d5dc3c7be34)


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

Branch: refs/heads/branch-1.0
Commit: 6c7d8e26868c4ee16d38f9cd28fe8ad09ef961e4
Parents: c36bc4f
Author: Sarath Subramanian 
Authored: Tue Jun 5 19:05:35 2018 -0700
Committer: Madhan Neethiraj 
Committed: Thu Jun 7 07:44:53 2018 -0700

--
 .../apache/atlas/query/GremlinQueryComposerTest.java| 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/6c7d8e26/repository/src/test/java/org/apache/atlas/query/GremlinQueryComposerTest.java
--
diff --git 
a/repository/src/test/java/org/apache/atlas/query/GremlinQueryComposerTest.java 
b/repository/src/test/java/org/apache/atlas/query/GremlinQueryComposerTest.java
index 9e3ad27..5686670 100644
--- 
a/repository/src/test/java/org/apache/atlas/query/GremlinQueryComposerTest.java
+++ 
b/repository/src/test/java/org/apache/atlas/query/GremlinQueryComposerTest.java
@@ -36,13 +36,13 @@ import static org.testng.Assert.fail;
 public class GremlinQueryComposerTest {
 @Test
 public void classification() {
-String expected = "g.V().outE('classifiedAs').has('__name', 
within('PII')).has('__state', 'ACTIVE').outV().dedup().limit(25).toList()";
+String expected = "g.V().outE('classifiedAs').has('__name', 
within('PII')).outV().dedup().limit(25).toList()";
 verify("PII", expected);
 }
 
 @Test()
 public void dimension() {
-String expected = "g.V().has('__typeName', 
'Table').outE('classifiedAs').has('__name', within('Dimension')).has('__state', 
'ACTIVE').outV().dedup().limit(25).toList()";
+String expected = "g.V().has('__typeName', 
'Table').outE('classifiedAs').has('__name', 
within('Dimension')).outV().dedup().limit(25).toList()";
 verify("Table isa Dimension", expected);
 verify("Table is Dimension", expected);
 verify("Table where Table is Dimension", expected);
@@ -295,14 +295,14 @@ public class GremlinQueryComposerTest {
 @Test
 public void keywordsInWhereClause() {
 verify("Table as t where t has name and t isa Dimension",
-"g.V().has('__typeName', 
'Table').as('t').and(__.has('Table.name'),__.outE('classifiedAs').has('__name', 
within('Dimension')).has('__state', 
'ACTIVE').outV()).dedup().limit(25).toList()");
+"g.V().has('__typeName', 
'Table').as('t').and(__.has('Table.name'),__.outE('classifiedAs').has('__name', 
within('Dimension')).outV()).dedup().limit(25).toList()");
 verify("Table as t where t has name and t.name = 'sales_fact'",
 "g.V().has('__typeName', 
'Table').as('t').and(__.has('Table.name'),__.has('Table.name', 
eq('sales_fact'))).dedup().limit(25).toList()");
 verify("Table as t where t is Dimension and t.name = 'sales_fact'",
-"g.V().has('__typeName', 
'Table').as('t').and(__.outE('classifiedAs').has('__name', 
within('Dimension')).has('__state', 'ACTIVE').outV(),__.has('Table.name', 
eq('sales_fact'))).dedup().limit(25).toList()");
-verify("Table isa 'Dimension' and name = 'sales_fact'", 
"g.V().has('__typeName', 'Table').and(__.outE('classifiedAs').has('__name', 
within('Dimension')).has('__state', 'ACTIVE').outV(),__.has('Table.name', 
eq('sales_fact'))).dedup().limit(25).toList()");
+"g.V().has('__typeName', 
'Table').as('t').and(__.outE('classifiedAs').has('__name', 
within('Dimension')).outV(),__.has('Table.name', 
eq('sales_fact'))).dedup().limit(25).toList()");
+verify("Table isa 'Dimension' and name = 'sales_fact'", 
"g.V().has('__typeName', 'Table').and(__.outE('classifiedAs').has('__name', 
within('Dimension')).outV(),__.has('Table.name', 
eq('sales_fact'))).dedup().limit(25).toList()");
 verify("Table has name and name = 'sales_fact'", 
"g.V().has('__typeName', 'Table').and(__.has('Table.name'),__.has('Table.name', 
eq('sales_fact'))).dedup().limit(25).toList()");
-verify("Table is 'Dimension' and Table has owner and name = 
'sales_fact'", "g.V().has('__typeName', 
'Table').and(__.outE('classifiedAs').has('__name', 
within('Dimension')).has('__state', 
'ACTIVE').outV(),__.

atlas git commit: ATLAS-2742: UI : Timezone is set to blank when not set while saving classification to entities

2018-06-07 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 32a87a314 -> a08d8860f


ATLAS-2742: UI : Timezone is set to blank when not set while saving 
classification to entities

Signed-off-by: nixonrodrigues 
(cherry picked from commit ecc4e4d2ed6442c16fba9598ef2a733113dc247d)


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

Branch: refs/heads/branch-1.0
Commit: a08d8860f401284b80065d076e01db1a4736cbef
Parents: 32a87a3
Author: Abhishek Kadam 
Authored: Wed Jun 6 19:23:33 2018 +0530
Committer: Madhan Neethiraj 
Committed: Thu Jun 7 07:43:13 2018 -0700

--
 dashboardv2/public/js/views/tag/AddTimezoneItemView.js | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/a08d8860/dashboardv2/public/js/views/tag/AddTimezoneItemView.js
--
diff --git a/dashboardv2/public/js/views/tag/AddTimezoneItemView.js 
b/dashboardv2/public/js/views/tag/AddTimezoneItemView.js
index 371cd04..3deab83 100644
--- a/dashboardv2/public/js/views/tag/AddTimezoneItemView.js
+++ b/dashboardv2/public/js/views/tag/AddTimezoneItemView.js
@@ -89,7 +89,6 @@ define(['require',
 
 this.ui.timeZone.html(tzstr);
 this.ui.timeZone.select2({
-allowClear: true,
 data: moment.tz.names()
 });
 
@@ -108,7 +107,9 @@ define(['require',
 endDateObj["minDate"] = this.model.get('startTime');
 endDateObj["startDate"] = this.model.get('endTime');
 }
-
this.ui.timeZone.val(this.model.get('timeZone')).trigger("change", { 'manual': 
true });
+if (!_.isEmpty(this.model.get('timeZone'))) {
+
this.ui.timeZone.val(this.model.get('timeZone')).trigger("change", { 'manual': 
true });
+}
 } else {
 this.model.set('startTime', that.ui.startTime.val());
 this.model.set('endTime', that.ui.endTime.val());
@@ -126,7 +127,7 @@ define(['require',
 that.model.set('startTime', that.ui.startTime.val());
 });
 this.endDateInitialize(endDateObj);
- this.buttonActive({ isButtonActive: true });
+this.buttonActive({ isButtonActive: true });
 },
 buttonActive: function(option) {
 var that = this;



atlas git commit: ATLAS-2732: updated import-hive.sh/import-hbase.sh to handle kerberos security command-line arguments

2018-06-05 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-0.8 84fddc1e5 -> 61e03d407


ATLAS-2732: updated import-hive.sh/import-hbase.sh to handle kerberos security 
command-line arguments

Signed-off-by: Madhan Neethiraj 
(cherry picked from commit f93da20b3fc8a4853c4c7d991cac375cb3a6ad6a)


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

Branch: refs/heads/branch-0.8
Commit: 61e03d4075cc98fe94ed82b7bf7cc14924062bcf
Parents: 84fddc1
Author: rmani 
Authored: Sat Jun 2 13:48:59 2018 -0700
Committer: Madhan Neethiraj 
Committed: Tue Jun 5 07:54:24 2018 -0700

--
 addons/hbase-bridge/src/bin/import-hbase.sh | 26 +--
 addons/hive-bridge/src/bin/import-hive.sh   | 27 ++--
 2 files changed, 40 insertions(+), 13 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/61e03d40/addons/hbase-bridge/src/bin/import-hbase.sh
--
diff --git a/addons/hbase-bridge/src/bin/import-hbase.sh 
b/addons/hbase-bridge/src/bin/import-hbase.sh
index 0a5989f..d429ea2 100644
--- a/addons/hbase-bridge/src/bin/import-hbase.sh
+++ b/addons/hbase-bridge/src/bin/import-hbase.sh
@@ -35,8 +35,6 @@ BASEDIR=`cd ${BASEDIR}/..;pwd`
 
 echo ">>>>> $BASEDIR"
 
-allargs=$@
-
 if test -z "${JAVA_HOME}"
 then
 JAVA_BIN=`which java`
@@ -125,16 +123,32 @@ fi
 
 JAVA_PROPERTIES="$ATLAS_OPTS -Datlas.log.dir=$ATLAS_LOG_DIR 
-Datlas.log.file=import-hbase.log
 -Dlog4j.configuration=atlas-hbase-import-log4j.xml"
-shift
 
-while [[ ${1} =~ ^\-D ]]; do
-  JAVA_PROPERTIES="${JAVA_PROPERTIES} ${1}"
+IMPORT_ARGS=
+JVM_ARGS=
+
+while true
+do
+  option=$1
   shift
+
+  case "$option" in
+-n) IMPORT_ARGS="$IMPORT_ARGS -n $1"; shift;;
+-t) IMPORT_ARGS="$IMPORT_ARGS -t $1"; shift;;
+-f) IMPORT_ARGS="$IMPORT_ARGS -f $1"; shift;;
+--namespace) IMPORT_ARGS="$IMPORT_ARGS --namespace $1"; shift;;
+--table) IMPORT_ARGS="$IMPORT_ARGS --table $1"; shift;;
+--filename) IMPORT_ARGS="$IMPORT_ARGS --filename $1"; shift;;
+"") break;;
+*) JVM_ARGS="$JVM_ARGS $option"
+  esac
 done
 
+JAVA_PROPERTIES="${JAVA_PROPERTIES} ${JVM_ARGS}"
+
 echo "Log file for import is $LOGFILE"
 
-"${JAVA_BIN}" ${JAVA_PROPERTIES} -cp "${CP}" 
org.apache.atlas.hbase.bridge.HBaseBridge $allargs
+"${JAVA_BIN}" ${JAVA_PROPERTIES} -cp "${CP}" 
org.apache.atlas.hbase.bridge.HBaseBridge $IMPORT_ARGS
 
 RETVAL=$?
 [ $RETVAL -eq 0 ] && echo HBase Data Model imported successfully!!!

http://git-wip-us.apache.org/repos/asf/atlas/blob/61e03d40/addons/hive-bridge/src/bin/import-hive.sh
--
diff --git a/addons/hive-bridge/src/bin/import-hive.sh 
b/addons/hive-bridge/src/bin/import-hive.sh
index 98f4c84..49e6d70 100755
--- a/addons/hive-bridge/src/bin/import-hive.sh
+++ b/addons/hive-bridge/src/bin/import-hive.sh
@@ -12,7 +12,6 @@
 #  See the License for the specific language governing permissions and
 #  limitations under the License. See accompanying LICENSE file.
 #
-
 # resolve links - $0 may be a softlink
 PRG="${0}"
 
@@ -31,8 +30,6 @@ done
 BASEDIR=`dirname ${PRG}`
 BASEDIR=`cd ${BASEDIR}/..;pwd`
 
-allargs=$@
-
 if test -z "${JAVA_HOME}"
 then
 JAVA_BIN=`which java`
@@ -121,16 +118,32 @@ fi
 
 JAVA_PROPERTIES="$ATLAS_OPTS -Datlas.log.dir=$ATLAS_LOG_DIR 
-Datlas.log.file=import-hive.log
 -Dlog4j.configuration=atlas-hive-import-log4j.xml"
-shift
 
-while [[ ${1} =~ ^\-D ]]; do
-  JAVA_PROPERTIES="${JAVA_PROPERTIES} ${1}"
+IMPORT_ARGS=
+JVM_ARGS=
+
+while true
+do
+  option=$1
   shift
+
+  case "$option" in
+-d) IMPORT_ARGS="$IMPORT_ARGS -d $1"; shift;;
+-t) IMPORT_ARGS="$IMPORT_ARGS -t $1"; shift;;
+-f) IMPORT_ARGS="$IMPORT_ARGS -f $1"; shift;;
+--database) IMPORT_ARGS="$IMPORT_ARGS --database $1"; shift;;
+--table) IMPORT_ARGS="$IMPORT_ARGS --table $1"; shift;;
+--filename) IMPORT_ARGS="$IMPORT_ARGS --filename $1"; shift;;
+"") break;;
+*) JVM_ARGS="$JVM_ARGS $option"
+  esac
 done
 
+JAVA_PROPERTIES="${JAVA_PROPERTIES} ${JVM_ARGS}"
+
 echo "Log file for import is $LOGFILE"
 
-"${JAVA_BIN}" ${JAVA_PROPERTIES} -cp "${CP}" 
org.apache.atlas.hive.bridge.HiveMetaStoreBridge $allargs
+"${JAVA_BIN}" ${JAVA_PROPERTIES} -cp "${CP}" 
org.apache.atlas.hive.bridge.HiveMetaStoreBridge $IMPORT_ARGS
 
 RETVAL=$?
 [ $RETVAL -eq 0 ] && echo Hive Meta Data imported successfully!!!



[1/3] atlas git commit: ATLAS-2730: added validation of TimeBoundry values in classifications

2018-06-05 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 32699ab53 -> 32a87a314


ATLAS-2730: added validation of TimeBoundry values in classifications

Signed-off-by: Madhan Neethiraj 
(cherry picked from commit e73a80998ee39aab54eee637aee7ccb99e4156c1)


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

Branch: refs/heads/branch-1.0
Commit: 047f31beb4a40c8b784c64a2203a1348be91a440
Parents: 32699ab
Author: nixonrodrigues 
Authored: Fri Jun 1 12:46:47 2018 +0530
Committer: Madhan Neethiraj 
Committed: Tue Jun 5 07:52:37 2018 -0700

--
 intg/pom.xml|  6 ++
 .../java/org/apache/atlas/AtlasErrorCode.java   |  3 +
 .../atlas/type/AtlasClassificationType.java | 87 
 .../atlas/type/TestAtlasClassificationType.java | 32 ++-
 pom.xml |  1 +
 .../store/graph/v2/AtlasEntityStoreV2.java  |  5 ++
 6 files changed, 131 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/047f31be/intg/pom.xml
--
diff --git a/intg/pom.xml b/intg/pom.xml
index 03e4325..089dbfb 100644
--- a/intg/pom.xml
+++ b/intg/pom.xml
@@ -47,6 +47,12 @@
 
 
 
+commons-validator
+commons-validator
+${commons-validator.version}
+
+
+
 com.fasterxml.jackson.jaxrs
 jackson-jaxrs-base
 ${jackson.version}

http://git-wip-us.apache.org/repos/asf/atlas/blob/047f31be/intg/src/main/java/org/apache/atlas/AtlasErrorCode.java
--
diff --git a/intg/src/main/java/org/apache/atlas/AtlasErrorCode.java 
b/intg/src/main/java/org/apache/atlas/AtlasErrorCode.java
index 06b4345..f0585eb 100644
--- a/intg/src/main/java/org/apache/atlas/AtlasErrorCode.java
+++ b/intg/src/main/java/org/apache/atlas/AtlasErrorCode.java
@@ -148,6 +148,9 @@ public enum AtlasErrorCode {
 MISSING_CATEGORY_DISPLAY_NAME(400, "ATLAS-400-00-082", "Category name is 
empty/null"),
 INVALID_DISPLAY_NAME(400, "ATLAS-400-00-083", "name cannot contain 
following special chars ('@', '.')"),
 TERM_HAS_ENTITY_ASSOCIATION(400, "ATLAS-400-00-086", "Term (guid={0}) 
can't be deleted as it has been assigned to {1} entities."),
+INVALID_TIMEBOUNDRY_START_TIME(400, "ATLAS-400-00-87B", "Invalid startTime 
{0}"),
+INVALID_TIMEBOUNDRY_END_TIME(400, "ATLAS-400-00-87C", "Invalid endTime 
{0}"),
+INVALID_TIMEBOUNDRY_DATERANGE(400, "ATLAS-400-00-87D", "Invalid dateRange: 
startTime {0} must be before endTime {1}"),
 
 UNAUTHORIZED_ACCESS(403, "ATLAS-403-00-001", "{0} is not authorized to 
perform {1}"),
 

http://git-wip-us.apache.org/repos/asf/atlas/blob/047f31be/intg/src/main/java/org/apache/atlas/type/AtlasClassificationType.java
--
diff --git 
a/intg/src/main/java/org/apache/atlas/type/AtlasClassificationType.java 
b/intg/src/main/java/org/apache/atlas/type/AtlasClassificationType.java
index abacd78..1adb362 100644
--- a/intg/src/main/java/org/apache/atlas/type/AtlasClassificationType.java
+++ b/intg/src/main/java/org/apache/atlas/type/AtlasClassificationType.java
@@ -20,11 +20,13 @@ package org.apache.atlas.type;
 
 import org.apache.atlas.AtlasErrorCode;
 import org.apache.atlas.exception.AtlasBaseException;
+import org.apache.atlas.model.TimeBoundary;
 import org.apache.atlas.model.instance.AtlasClassification;
 import org.apache.atlas.model.typedef.AtlasClassificationDef;
 import org.apache.atlas.model.typedef.AtlasStructDef.AtlasAttributeDef;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
+import org.apache.commons.validator.routines.DateValidator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -302,6 +304,10 @@ public class AtlasClassificationType extends 
AtlasStructType {
 }
 }
 
+if (!validateTimeBoundaries(obj, null)) {
+return false;
+}
+
 return super.isValidValue(obj);
 }
 
@@ -328,6 +334,10 @@ public class AtlasClassificationType extends 
AtlasStructType {
 }
 }
 
+if (!validateTimeBoundaries(obj, null)) {
+return false;
+}
+
 return super.isValidValueForUpdate(obj);
 }
 
@@ -381,6 +391,8 @

[3/3] atlas git commit: ATLAS-2732: updated import-hive.sh/import-hbase.sh to handle kerberos security command-line arguments

2018-06-05 Thread madhan
ATLAS-2732: updated import-hive.sh/import-hbase.sh to handle kerberos security 
command-line arguments

Signed-off-by: Madhan Neethiraj 
(cherry picked from commit f93da20b3fc8a4853c4c7d991cac375cb3a6ad6a)


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

Branch: refs/heads/branch-1.0
Commit: 32a87a3140d9af3b82906a0192265632966a6eab
Parents: 1e4b743
Author: rmani 
Authored: Sat Jun 2 13:48:59 2018 -0700
Committer: Madhan Neethiraj 
Committed: Tue Jun 5 07:53:03 2018 -0700

--
 addons/hbase-bridge/src/bin/import-hbase.sh | 26 +--
 addons/hive-bridge/src/bin/import-hive.sh   | 27 ++--
 2 files changed, 40 insertions(+), 13 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/32a87a31/addons/hbase-bridge/src/bin/import-hbase.sh
--
diff --git a/addons/hbase-bridge/src/bin/import-hbase.sh 
b/addons/hbase-bridge/src/bin/import-hbase.sh
index 0a5989f..d429ea2 100644
--- a/addons/hbase-bridge/src/bin/import-hbase.sh
+++ b/addons/hbase-bridge/src/bin/import-hbase.sh
@@ -35,8 +35,6 @@ BASEDIR=`cd ${BASEDIR}/..;pwd`
 
 echo ">>>>> $BASEDIR"
 
-allargs=$@
-
 if test -z "${JAVA_HOME}"
 then
 JAVA_BIN=`which java`
@@ -125,16 +123,32 @@ fi
 
 JAVA_PROPERTIES="$ATLAS_OPTS -Datlas.log.dir=$ATLAS_LOG_DIR 
-Datlas.log.file=import-hbase.log
 -Dlog4j.configuration=atlas-hbase-import-log4j.xml"
-shift
 
-while [[ ${1} =~ ^\-D ]]; do
-  JAVA_PROPERTIES="${JAVA_PROPERTIES} ${1}"
+IMPORT_ARGS=
+JVM_ARGS=
+
+while true
+do
+  option=$1
   shift
+
+  case "$option" in
+-n) IMPORT_ARGS="$IMPORT_ARGS -n $1"; shift;;
+-t) IMPORT_ARGS="$IMPORT_ARGS -t $1"; shift;;
+-f) IMPORT_ARGS="$IMPORT_ARGS -f $1"; shift;;
+--namespace) IMPORT_ARGS="$IMPORT_ARGS --namespace $1"; shift;;
+--table) IMPORT_ARGS="$IMPORT_ARGS --table $1"; shift;;
+--filename) IMPORT_ARGS="$IMPORT_ARGS --filename $1"; shift;;
+"") break;;
+*) JVM_ARGS="$JVM_ARGS $option"
+  esac
 done
 
+JAVA_PROPERTIES="${JAVA_PROPERTIES} ${JVM_ARGS}"
+
 echo "Log file for import is $LOGFILE"
 
-"${JAVA_BIN}" ${JAVA_PROPERTIES} -cp "${CP}" 
org.apache.atlas.hbase.bridge.HBaseBridge $allargs
+"${JAVA_BIN}" ${JAVA_PROPERTIES} -cp "${CP}" 
org.apache.atlas.hbase.bridge.HBaseBridge $IMPORT_ARGS
 
 RETVAL=$?
 [ $RETVAL -eq 0 ] && echo HBase Data Model imported successfully!!!

http://git-wip-us.apache.org/repos/asf/atlas/blob/32a87a31/addons/hive-bridge/src/bin/import-hive.sh
--
diff --git a/addons/hive-bridge/src/bin/import-hive.sh 
b/addons/hive-bridge/src/bin/import-hive.sh
index 98f4c84..49e6d70 100755
--- a/addons/hive-bridge/src/bin/import-hive.sh
+++ b/addons/hive-bridge/src/bin/import-hive.sh
@@ -12,7 +12,6 @@
 #  See the License for the specific language governing permissions and
 #  limitations under the License. See accompanying LICENSE file.
 #
-
 # resolve links - $0 may be a softlink
 PRG="${0}"
 
@@ -31,8 +30,6 @@ done
 BASEDIR=`dirname ${PRG}`
 BASEDIR=`cd ${BASEDIR}/..;pwd`
 
-allargs=$@
-
 if test -z "${JAVA_HOME}"
 then
 JAVA_BIN=`which java`
@@ -121,16 +118,32 @@ fi
 
 JAVA_PROPERTIES="$ATLAS_OPTS -Datlas.log.dir=$ATLAS_LOG_DIR 
-Datlas.log.file=import-hive.log
 -Dlog4j.configuration=atlas-hive-import-log4j.xml"
-shift
 
-while [[ ${1} =~ ^\-D ]]; do
-  JAVA_PROPERTIES="${JAVA_PROPERTIES} ${1}"
+IMPORT_ARGS=
+JVM_ARGS=
+
+while true
+do
+  option=$1
   shift
+
+  case "$option" in
+-d) IMPORT_ARGS="$IMPORT_ARGS -d $1"; shift;;
+-t) IMPORT_ARGS="$IMPORT_ARGS -t $1"; shift;;
+-f) IMPORT_ARGS="$IMPORT_ARGS -f $1"; shift;;
+--database) IMPORT_ARGS="$IMPORT_ARGS --database $1"; shift;;
+--table) IMPORT_ARGS="$IMPORT_ARGS --table $1"; shift;;
+--filename) IMPORT_ARGS="$IMPORT_ARGS --filename $1"; shift;;
+"") break;;
+*) JVM_ARGS="$JVM_ARGS $option"
+  esac
 done
 
+JAVA_PROPERTIES="${JAVA_PROPERTIES} ${JVM_ARGS}"
+
 echo "Log file for import is $LOGFILE"
 
-"${JAVA_BIN}" ${JAVA_PROPERTIES} -cp "${CP}" 
org.apache.atlas.hive.bridge.HiveMetaStoreBridge $allargs
+"${JAVA_BIN}" ${JAVA_PROPERTIES} -cp "${CP}" 
org.apache.atlas.hive.bridge.HiveMetaStoreBridge $IMPORT_ARGS
 
 RETVAL=$?
 [ $RETVAL -eq 0 ] && echo Hive Meta Data imported successfully!!!



[1/2] atlas git commit: ATLAS-2731: UI : attributes on table's detailsPage buffers forever due no access on that entity

2018-06-05 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master e73a80998 -> f93da20b3


ATLAS-2731: UI : attributes on table's detailsPage buffers forever due no 
access on that entity

Signed-off-by: Madhan Neethiraj 


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

Branch: refs/heads/master
Commit: b57420cd0f4af242caed81d8b69c2438794f1fd9
Parents: e73a809
Author: Abhishek Kadam 
Authored: Tue Jun 5 18:42:02 2018 +0530
Committer: Madhan Neethiraj 
Committed: Tue Jun 5 07:28:50 2018 -0700

--
 .../public/js/utils/CommonViewFunction.js   | 27 ++--
 .../views/audit/CreateAuditTableLayoutView.js   |  2 +-
 .../views/entity/EntityDetailTableLayoutView.js |  2 +-
 3 files changed, 21 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/b57420cd/dashboardv2/public/js/utils/CommonViewFunction.js
--
diff --git a/dashboardv2/public/js/utils/CommonViewFunction.js 
b/dashboardv2/public/js/utils/CommonViewFunction.js
index b8e023a..3d39eb8 100644
--- a/dashboardv2/public/js/utils/CommonViewFunction.js
+++ b/dashboardv2/public/js/utils/CommonViewFunction.js
@@ -75,6 +75,7 @@ define(['require', 'utils/Utils', 'modules/Modal', 
'utils/Messages', 'utils/Enum
 var scope = options.scope,
 valueObject = options.valueObject,
 extractJSON = options.extractJSON,
+relationshipAttributes = options.relationshipAttributes,
 isTable = _.isUndefined(options.isTable) ? true : options.isTable,
 attributeDefs = options.attributeDefs;
 
@@ -104,11 +105,16 @@ define(['require', 'utils/Utils', 'modules/Modal', 
'utils/Messages', 'utils/Enum
 scope.$('td div[data-id="' + id + 
'"]').append(deleteButton);
 }
 },
+cust_error: function() {
+scope.$('td div[data-id="' + id + 
'"]').html(' Not Authorized');
+},
 complete: function() {}
 });
 },
-extractObject = function(keyValue) {
-var valueOfArray = [];
+extractObject = function(opt) {
+var valueOfArray = [],
+keyValue = opt.keyValue,
+key = opt.key;
 if (!_.isArray(keyValue) && _.isObject(keyValue)) {
 keyValue = [keyValue];
 }
@@ -163,10 +169,15 @@ define(['require', 'utils/Utils', 'modules/Modal', 
'utils/Messages', 'utils/Enum
 if (id && inputOutputField) {
 var name = Utils.getName(inputOutputField);
 if ((name === "-" || name === id) && 
!inputOutputField.attributes) {
-var fetch = true;
-var fetchId = (_.isObject(id) ? id.id : id);
-fetchInputOutputValue(fetchId);
-tempLink += '';
+var rAttrValue = relationshipAttributes && 
relationshipAttributes[key];
+if (!rAttrValue) {
+var fetch = true;
+var fetchId = (_.isObject(id) ? id.id : id);
+fetchInputOutputValue(fetchId);
+tempLink += '';
+} else {
+tempLink += '' + 
Utils.getName(rAttrValue) + '';
+}
 } else {
 tempLink += '' 
+ name + ''
 }
@@ -205,11 +216,11 @@ define(['require', 'utils/Utils', 'modules/Modal', 
'utils/Messages', 'utils/Enum
 if (defEntityType === 'date') {
 keyValue = new Date(keyValue);
 } else if (_.isObject(keyValue)) {
-keyValue = extractObject(keyValue);
+keyValue = extractObject({ "keyValue": keyValue, "key": 
key });
 }
 } else {
 if (_.isObject(keyValue)) {
-keyValue = extractObject(keyValue)
+keyValue = extractObject({ "keyValue": keyValue, "key": 
key })
 }
 }
 var val = "";

http://git-wip-us.apache.org/repos/asf/atlas/blob/b57420cd/dashboardv2/public/js/views/audit/CreateAuditTableLayoutView.js
--

atlas git commit: ATLAS-2739: updated branch-1.0 to set version as 1.1.0-SNAPSHOT

2018-06-04 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 54623efb8 -> 32699ab53


ATLAS-2739: updated branch-1.0 to set version as 1.1.0-SNAPSHOT


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

Branch: refs/heads/branch-1.0
Commit: 32699ab53e9c8e5f5b95e78c161d2afb64e33f3f
Parents: 54623ef
Author: Madhan Neethiraj 
Authored: Mon Jun 4 17:07:29 2018 -0700
Committer: Madhan Neethiraj 
Committed: Mon Jun 4 17:09:58 2018 -0700

--
 addons/falcon-bridge-shim/pom.xml  | 2 +-
 addons/falcon-bridge/pom.xml   | 2 +-
 addons/hbase-bridge-shim/pom.xml   | 2 +-
 addons/hbase-bridge/pom.xml| 2 +-
 addons/hdfs-model/pom.xml  | 2 +-
 addons/hive-bridge-shim/pom.xml| 2 +-
 addons/hive-bridge/pom.xml | 2 +-
 addons/kafka-bridge/pom.xml| 2 +-
 addons/sqoop-bridge-shim/pom.xml   | 2 +-
 addons/sqoop-bridge/pom.xml| 2 +-
 addons/storm-bridge-shim/pom.xml   | 2 +-
 addons/storm-bridge/pom.xml| 2 +-
 authorization/pom.xml  | 2 +-
 client/client-v1/pom.xml   | 2 +-
 client/client-v2/pom.xml   | 2 +-
 client/common/pom.xml  | 2 +-
 client/pom.xml | 2 +-
 common/pom.xml | 2 +-
 dashboardv2/pom.xml| 2 +-
 distro/pom.xml | 2 +-
 docs/pom.xml   | 2 +-
 graphdb/api/pom.xml| 2 +-
 graphdb/common/pom.xml | 2 +-
 graphdb/graphdb-impls/pom.xml  | 2 +-
 graphdb/janus/pom.xml  | 2 +-
 graphdb/pom.xml| 2 +-
 intg/pom.xml   | 2 +-
 notification/pom.xml   | 2 +-
 plugin-classloader/pom.xml | 2 +-
 pom.xml| 2 +-
 repository/pom.xml | 2 +-
 server-api/pom.xml | 2 +-
 shaded/hbase-client-shaded/pom.xml | 2 +-
 shaded/hbase-server-shaded/pom.xml | 2 +-
 test-tools/pom.xml | 2 +-
 tools/atlas-migration-exporter/pom.xml | 2 +-
 webapp/pom.xml | 2 +-
 37 files changed, 37 insertions(+), 37 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/32699ab5/addons/falcon-bridge-shim/pom.xml
--
diff --git a/addons/falcon-bridge-shim/pom.xml 
b/addons/falcon-bridge-shim/pom.xml
index 87fb1e1..2f2392a 100755
--- a/addons/falcon-bridge-shim/pom.xml
+++ b/addons/falcon-bridge-shim/pom.xml
@@ -22,7 +22,7 @@
 
 apache-atlas
 org.apache.atlas
-1.0.0
+1.1.0-SNAPSHOT
 ../../
 
 falcon-bridge-shim

http://git-wip-us.apache.org/repos/asf/atlas/blob/32699ab5/addons/falcon-bridge/pom.xml
--
diff --git a/addons/falcon-bridge/pom.xml b/addons/falcon-bridge/pom.xml
index a56f29d..8918d2e 100644
--- a/addons/falcon-bridge/pom.xml
+++ b/addons/falcon-bridge/pom.xml
@@ -22,7 +22,7 @@
 
 apache-atlas
 org.apache.atlas
-1.0.0
+1.1.0-SNAPSHOT
 ../../
 
 falcon-bridge

http://git-wip-us.apache.org/repos/asf/atlas/blob/32699ab5/addons/hbase-bridge-shim/pom.xml
--
diff --git a/addons/hbase-bridge-shim/pom.xml b/addons/hbase-bridge-shim/pom.xml
index 9171ab0..65b4c26 100644
--- a/addons/hbase-bridge-shim/pom.xml
+++ b/addons/hbase-bridge-shim/pom.xml
@@ -22,7 +22,7 @@
 
 apache-atlas
 org.apache.atlas
-1.0.0
+1.1.0-SNAPSHOT
 ../../
 
 hbase-bridge-shim

http://git-wip-us.apache.org/repos/asf/atlas/blob/32699ab5/addons/hbase-bridge/pom.xml
--
diff --git a/addons/hbase-bridge/pom.xml b/addons/hbase-bridge/pom.xml
index 7249d95..c10622e 100644
--- a/addons/hbase-bridge/pom.xml
+++ b/addons/hbase-bridge/pom.xml
@@ -22,7 +22,7 @@
 
 apache-atlas
 org.apache.atlas
-1.0.0
+1.1.0-SNAPSHOT
 ../../
 
 hbase-bridge

http://git-wip-us.apache.org/repos/asf/atlas/blob/32699ab5/addons/hdfs-model/pom.xml
--
diff --git a/addons/hdfs-model/pom.xml b/addons/hdfs-model/pom.xml
index 855255c..e12043c 100644
--- a/addons/hdfs-model/pom.xml
+++ b/addons/hdfs-model/pom.xml
@@ -22,7 +22,7 @@
 
 apache-atlas
 org.apache.atlas
-1.0.0
+1.1.0-SNAPS

atlas git commit: ATLAS-2736: doc updated to replace reference to github with a link to download released artifacts

2018-06-04 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master c1f56324c -> 86af9e3b7


ATLAS-2736: doc updated to replace reference to github with a link to download 
released artifacts

(cherry picked from commit 54623efb87817a81adbc4c5211522905a57ac52c)


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

Branch: refs/heads/master
Commit: 86af9e3b79a261332f6fd6ec47d464e71ffc3ffe
Parents: c1f5632
Author: Madhan Neethiraj 
Authored: Mon Jun 4 16:45:11 2018 -0700
Committer: Madhan Neethiraj 
Committed: Mon Jun 4 17:01:13 2018 -0700

--
 docs/src/site/twiki/InstallationSteps.twiki | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/86af9e3b/docs/src/site/twiki/InstallationSteps.twiki
--
diff --git a/docs/src/site/twiki/InstallationSteps.twiki 
b/docs/src/site/twiki/InstallationSteps.twiki
index 3ba5b2d..2b6b028 100644
--- a/docs/src/site/twiki/InstallationSteps.twiki
+++ b/docs/src/site/twiki/InstallationSteps.twiki
@@ -1,10 +1,11 @@
 ---++ Building & Installing Apache Atlas
 
 ---+++ Building Apache Atlas
+Download Apache Atlas 1.0.0 release sources, 
apache-atlas-1.0.0-sources.tar.gz, from 
[[http://atlas.apache.org/Downloads.html][downloads]] page.
+Then follow the instructions below to to build Apache Atlas.
 
-git clone https://github.com/apache/atlas.git atlas
-cd atlas
-git checkout branch-1.0
+tar xvfz apache-atlas-1.0.0-sources.tar.gz
+cd apache-atlas-sources-1.0.0/
 export MAVEN_OPTS="-Xms2g -Xmx2g"
 mvn clean -DskipTests install
 



atlas-website git commit: ATLAS-2736: updated build instructions to replace reference to github with a link to download released artifacts

2018-06-04 Thread madhan
Repository: atlas-website
Updated Branches:
  refs/heads/asf-site a1a002abe -> 3f5fbcf6f


ATLAS-2736: updated build instructions to replace reference to github with a 
link to download released artifacts


Project: http://git-wip-us.apache.org/repos/asf/atlas-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/atlas-website/commit/3f5fbcf6
Tree: http://git-wip-us.apache.org/repos/asf/atlas-website/tree/3f5fbcf6
Diff: http://git-wip-us.apache.org/repos/asf/atlas-website/diff/3f5fbcf6

Branch: refs/heads/asf-site
Commit: 3f5fbcf6f7ad5c782b119654480021f6ee341ca2
Parents: a1a002a
Author: Madhan Neethiraj 
Authored: Mon Jun 4 17:00:21 2018 -0700
Committer: Madhan Neethiraj 
Committed: Mon Jun 4 17:00:21 2018 -0700

--
 InstallationSteps.html | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas-website/blob/3f5fbcf6/InstallationSteps.html
--
diff --git a/InstallationSteps.html b/InstallationSteps.html
index d8f18aa..d454898 100644
--- a/InstallationSteps.html
+++ b/InstallationSteps.html
@@ -1,13 +1,13 @@
 
 
 http://www.w3.org/1999/xhtml; xml:lang="en" lang="en">
   
 
 
-
+
 
 Apache Atlas  Building & Installing Apache Atlas
 
@@ -109,7 +109,7 @@
   http://www.apache.org; class="externalLink" 
title="Apache">Apache/
   Atlas/
 Building & Installing Apache Atlas
-| 
Last Published: 2018-06-03
+| 
Last Published: 2018-06-04
   Version: 1.0.0
 
   
@@ -118,10 +118,10 @@
 Building  
Installing Apache Atlas
 
 Building Apache Atlas
+Download Apache Atlas 1.0.0 release sources, 
apache-atlas-1.0.0-sources.tar.gz, from http://atlas.apache.org/Downloads.html;>downloads page. Then follow 
the instructions below to to build Apache Atlas.
 
-git clone https://github.com/apache/atlas.git atlas
-cd atlas
-git checkout branch-1.0
+tar xvfz apache-atlas-1.0.0-sources.tar.gz
+cd apache-atlas-sources-1.0.0/
 export MAVEN_OPTS=-Xms2g -Xmx2g
 mvn clean -DskipTests install
 



atlas git commit: ATLAS-2736: doc updated to replace reference to github with a link to download released artifacts

2018-06-04 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 c542deb6d -> 54623efb8


ATLAS-2736: doc updated to replace reference to github with a link to download 
released artifacts


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

Branch: refs/heads/branch-1.0
Commit: 54623efb87817a81adbc4c5211522905a57ac52c
Parents: c542deb
Author: Madhan Neethiraj 
Authored: Mon Jun 4 16:45:11 2018 -0700
Committer: Madhan Neethiraj 
Committed: Mon Jun 4 16:45:11 2018 -0700

--
 docs/src/site/twiki/InstallationSteps.twiki | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/54623efb/docs/src/site/twiki/InstallationSteps.twiki
--
diff --git a/docs/src/site/twiki/InstallationSteps.twiki 
b/docs/src/site/twiki/InstallationSteps.twiki
index 3ba5b2d..2b6b028 100644
--- a/docs/src/site/twiki/InstallationSteps.twiki
+++ b/docs/src/site/twiki/InstallationSteps.twiki
@@ -1,10 +1,11 @@
 ---++ Building & Installing Apache Atlas
 
 ---+++ Building Apache Atlas
+Download Apache Atlas 1.0.0 release sources, 
apache-atlas-1.0.0-sources.tar.gz, from 
[[http://atlas.apache.org/Downloads.html][downloads]] page.
+Then follow the instructions below to to build Apache Atlas.
 
-git clone https://github.com/apache/atlas.git atlas
-cd atlas
-git checkout branch-1.0
+tar xvfz apache-atlas-1.0.0-sources.tar.gz
+cd apache-atlas-sources-1.0.0/
 export MAVEN_OPTS="-Xms2g -Xmx2g"
 mvn clean -DskipTests install
 



atlas git commit: ATLAS-2735: updated version in master branch to 2.0.0-SNAPSHOT

2018-06-04 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master 78a3cd0a2 -> c1f56324c


ATLAS-2735: updated version in master branch to 2.0.0-SNAPSHOT


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

Branch: refs/heads/master
Commit: c1f56324c34cf77e8a311577e4c1ed3b77164f80
Parents: 78a3cd0
Author: Madhan Neethiraj 
Authored: Sun Jun 3 23:13:26 2018 -0700
Committer: Madhan Neethiraj 
Committed: Sun Jun 3 23:13:26 2018 -0700

--
 addons/falcon-bridge-shim/pom.xml  |  2 +-
 addons/falcon-bridge/pom.xml   |  2 +-
 addons/hbase-bridge-shim/pom.xml   |  2 +-
 addons/hbase-bridge/pom.xml|  2 +-
 addons/hdfs-model/pom.xml  |  2 +-
 addons/hive-bridge-shim/pom.xml|  2 +-
 addons/hive-bridge/pom.xml |  2 +-
 addons/kafka-bridge/pom.xml|  2 +-
 addons/sqoop-bridge-shim/pom.xml   |  2 +-
 addons/sqoop-bridge/pom.xml|  2 +-
 addons/storm-bridge-shim/pom.xml   |  2 +-
 addons/storm-bridge/pom.xml|  2 +-
 authorization/pom.xml  |  2 +-
 client/client-v1/pom.xml   |  2 +-
 client/client-v2/pom.xml   |  2 +-
 client/common/pom.xml  |  4 ++--
 client/pom.xml |  2 +-
 common/pom.xml |  2 +-
 dashboardv2/pom.xml|  2 +-
 distro/pom.xml |  2 +-
 docs/pom.xml   |  2 +-
 graphdb/api/pom.xml|  2 +-
 graphdb/common/pom.xml |  2 +-
 graphdb/graphdb-impls/pom.xml  |  2 +-
 graphdb/janus/pom.xml  |  2 +-
 graphdb/pom.xml|  2 +-
 intg/pom.xml   |  2 +-
 notification/pom.xml   |  2 +-
 om-fwk-ocf/pom.xml |  4 ++--
 omag-api/pom.xml   |  8 
 omag-server/README.md  |  2 +-
 omag-server/pom.xml| 14 +++---
 omas-assetconsumer/pom.xml | 12 ++--
 omas-connectedasset/pom.xml|  8 
 omrs/pom.xml   |  6 +++---
 plugin-classloader/pom.xml |  2 +-
 pom.xml|  2 +-
 repository/pom.xml |  2 +-
 server-api/pom.xml |  2 +-
 shaded/hbase-client-shaded/pom.xml |  2 +-
 shaded/hbase-server-shaded/pom.xml |  2 +-
 test-tools/pom.xml |  4 ++--
 tools/atlas-migration-exporter/pom.xml |  2 +-
 webapp/pom.xml |  2 +-
 44 files changed, 66 insertions(+), 66 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/c1f56324/addons/falcon-bridge-shim/pom.xml
--
diff --git a/addons/falcon-bridge-shim/pom.xml 
b/addons/falcon-bridge-shim/pom.xml
index 3fbee25..4ea5df9 100755
--- a/addons/falcon-bridge-shim/pom.xml
+++ b/addons/falcon-bridge-shim/pom.xml
@@ -22,7 +22,7 @@
 
 apache-atlas
 org.apache.atlas
-1.0.0-SNAPSHOT
+2.0.0-SNAPSHOT
 ../../
 
 falcon-bridge-shim

http://git-wip-us.apache.org/repos/asf/atlas/blob/c1f56324/addons/falcon-bridge/pom.xml
--
diff --git a/addons/falcon-bridge/pom.xml b/addons/falcon-bridge/pom.xml
index 9db65dc..c399383 100644
--- a/addons/falcon-bridge/pom.xml
+++ b/addons/falcon-bridge/pom.xml
@@ -22,7 +22,7 @@
 
 apache-atlas
 org.apache.atlas
-1.0.0-SNAPSHOT
+2.0.0-SNAPSHOT
 ../../
 
 falcon-bridge

http://git-wip-us.apache.org/repos/asf/atlas/blob/c1f56324/addons/hbase-bridge-shim/pom.xml
--
diff --git a/addons/hbase-bridge-shim/pom.xml b/addons/hbase-bridge-shim/pom.xml
index 7df6007..d45b6a5 100644
--- a/addons/hbase-bridge-shim/pom.xml
+++ b/addons/hbase-bridge-shim/pom.xml
@@ -22,7 +22,7 @@
 
 apache-atlas
 org.apache.atlas
-1.0.0-SNAPSHOT
+2.0.0-SNAPSHOT
 ../../
 
 hbase-bridge-shim

http://git-wip-us.apache.org/repos/asf/atlas/blob/c1f56324/addons/hbase-bridge/pom.xml
--
diff --git a/addons/hbase-bridge/pom.xml b/addons/hbase-bridge/pom.xml
index eea6b65..c7a59f4 100644
--- a/addons/hbase-bridge/pom.xml
+++ b/addons/hbase-bridge/pom.xml
@@ -22,7 +22,7 @@
 
 apache-atlas
 org.apache.atlas
-1.0.0-SNAPSHOT
+2.0.0-SNAPS

[2/2] atlas git commit: ATLAS-2729: fix - audit logging fails for large entities

2018-06-04 Thread madhan
ATLAS-2729: fix - audit logging fails for large entities

(cherry picked from commit 92f3a91ec56538305043ba0980d3f7a8b477ec96)


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

Branch: refs/heads/branch-1.0
Commit: c542deb6d6bbc47a806525aa456b8ea522bd97f4
Parents: 80f0ef4
Author: Madhan Neethiraj 
Authored: Thu May 31 14:22:52 2018 -0700
Committer: Madhan Neethiraj 
Committed: Sun Jun 3 23:27:17 2018 -0700

--
 .../repository/audit/EntityAuditListener.java   | 11 +
 .../repository/audit/EntityAuditListenerV2.java | 25 +++-
 2 files changed, 35 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/c542deb6/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListener.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListener.java
 
b/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListener.java
index 27d121a..dfacb38 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListener.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListener.java
@@ -187,6 +187,17 @@ public class EntityAuditListener implements 
EntityChangeListener {
 entity.setValues(null);
 
 auditString = auditPrefix + AtlasType.toV1Json(entity);
+auditBytes  = auditString.getBytes(StandardCharsets.UTF_8); // 
recheck auditString size
+auditSize   = auditBytes != null ? auditBytes.length : 0;
+
+if (auditMaxSize >= 0 && auditSize > auditMaxSize) { // don't 
store classifications as well
+LOG.warn("audit record still too long: entityType={}, guid={}, 
size={}; maxSize={}. audit will have only summary details",
+entity.getTypeName(), entity.getId()._getId(), 
auditSize, auditMaxSize);
+
+Referenceable shallowEntity = new 
Referenceable(entity.getId(), entity.getTypeName(), null, 
entity.getSystemAttributes(), null, null);
+
+auditString = auditPrefix + AtlasType.toJson(shallowEntity);
+}
 
 entity.setValues(attrValues);
 }

http://git-wip-us.apache.org/repos/asf/atlas/blob/c542deb6/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListenerV2.java
--
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListenerV2.java
 
b/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListenerV2.java
index fe584e3..91e1f63 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListenerV2.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/audit/EntityAuditListenerV2.java
@@ -234,13 +234,36 @@ public class EntityAuditListenerV2 implements 
EntityChangeListenerV2 {
 LOG.warn("audit record too long: entityType={}, guid={}, size={}; 
maxSize={}. entity attribute values not stored in audit",
 entity.getTypeName(), entity.getGuid(), auditSize, 
auditMaxSize);
 
-Map attrValues = entity.getAttributes();
+Map attrValues= entity.getAttributes();
+Map relAttrValues = 
entity.getRelationshipAttributes();
 
 entity.setAttributes(null);
+entity.setRelationshipAttributes(null);
 
 auditString = auditPrefix + AtlasType.toJson(entity);
+auditBytes  = auditString.getBytes(StandardCharsets.UTF_8); // 
recheck auditString size
+auditSize   = auditBytes != null ? auditBytes.length : 0;
+
+if (auditMaxSize >= 0 && auditSize > auditMaxSize) { // don't 
store classifications and meanings as well
+LOG.warn("audit record still too long: entityType={}, guid={}, 
size={}; maxSize={}. audit will have only summary details",
+entity.getTypeName(), entity.getGuid(), auditSize, 
auditMaxSize);
+
+AtlasEntity shallowEntity = new AtlasEntity();
+
+shallowEntity.setGuid(entity.getGuid());
+shallowEntity.setTypeName(entity.getTypeName());
+shallowEntity.setCreateTime(entity.getCreateTime());
+shallowEntity.setUpdateTime(entity.getUpdateTime());
+shallowEntity.setCreatedBy(entity.getCreatedBy());
+shallowEntity.setUpdatedBy(entity.getUpdatedBy());
+shallowEntity.setStatus(enti

[1/2] atlas git commit: ATLAS-2728: UI renders integer attribute values as date - kafka_topic.retentiontimeLocalInHrs, kafka_topic.retentiontimeNationalInHrs

2018-06-04 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 0b3bc9898 -> c542deb6d


ATLAS-2728: UI renders integer attribute values as date - 
kafka_topic.retentiontimeLocalInHrs, kafka_topic.retentiontimeNationalInHrs

Signed-off-by: Madhan Neethiraj 
(cherry picked from commit 52d5e474214041993db50818a8fb3609adf486fb)


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

Branch: refs/heads/branch-1.0
Commit: 80f0ef478e34516fa687d2359b86e928806d824f
Parents: 0b3bc98
Author: kevalbhatt 
Authored: Thu May 31 22:52:51 2018 +0530
Committer: Madhan Neethiraj 
Committed: Sun Jun 3 23:26:54 2018 -0700

--
 dashboardv2/public/js/utils/CommonViewFunction.js | 8 +---
 1 file changed, 1 insertion(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/80f0ef47/dashboardv2/public/js/utils/CommonViewFunction.js
--
diff --git a/dashboardv2/public/js/utils/CommonViewFunction.js 
b/dashboardv2/public/js/utils/CommonViewFunction.js
index af52ec4..b8e023a 100644
--- a/dashboardv2/public/js/utils/CommonViewFunction.js
+++ b/dashboardv2/public/js/utils/CommonViewFunction.js
@@ -202,7 +202,7 @@ define(['require', 'utils/Utils', 'modules/Modal', 
'utils/Messages', 'utils/Enum
 var defEntity = _.find(attributeDefs, { name: key });
 if (defEntity && defEntity.typeName) {
 var defEntityType = defEntity.typeName.toLocaleLowerCase();
-if (defEntityType === 'date' || defEntityType === 'time') {
+if (defEntityType === 'date') {
 keyValue = new Date(keyValue);
 } else if (_.isObject(keyValue)) {
 keyValue = extractObject(keyValue);
@@ -219,12 +219,6 @@ define(['require', 'utils/Utils', 'modules/Modal', 
'utils/Messages', 'utils/Enum
 val = '' + keyValue + '';
 } else if (key === 'guid' || key === "__guid") {
 val = '' + keyValue + '';
-} else if (key.toLocaleLowerCase().indexOf("time") !== -1 || 
key.toLocaleLowerCase().indexOf("date") !== -1) {
-val = new Date(keyValue);
-
-if (isNaN(val.getTime())) {
-val = _.escape(keyValue);
-}
 } else {
 val = _.escape(keyValue);
 }



[3/3] atlas git commit: ATLAS-2733: replace references to https://dist.apache.org with https://www.apache.org/dist/atlas/

2018-06-03 Thread madhan
ATLAS-2733: replace references to https://dist.apache.org with 
https://www.apache.org/dist/atlas/

(cherry picked from commit 0b3bc98989a315399d0af36961b0b8cc3ec0372c)


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

Branch: refs/heads/master
Commit: 78a3cd0a27b36d9fcfc6adbe7e9e5cbf4a92975b
Parents: c8058ee
Author: Madhan Neethiraj 
Authored: Sun Jun 3 19:25:57 2018 -0700
Committer: Madhan Neethiraj 
Committed: Sun Jun 3 19:42:04 2018 -0700

--
 docs/src/site/twiki/Downloads.twiki | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/78a3cd0a/docs/src/site/twiki/Downloads.twiki
--
diff --git a/docs/src/site/twiki/Downloads.twiki 
b/docs/src/site/twiki/Downloads.twiki
index 22b89e9..a382add 100755
--- a/docs/src/site/twiki/Downloads.twiki
+++ b/docs/src/site/twiki/Downloads.twiki
@@ -4,12 +4,12 @@
 Apache Atlas release artifacts are distributed via mirror sites and should be 
checked for tampering using GPG or SHA-256.
 
 The table below lists release artifacts and their associated signatures and 
hashes. The keys used to sign the release
-artifacts can be found in our published 
[[https://dist.apache.org/repos/dist/release/atlas/KEYS][KEYS file]].
+artifacts can be found in our published 
[[https://www.apache.org/dist/atlas/KEYS][KEYS file]].
 
 | *Version* | *Release Date* | *Tarball* | *GPG* | *Hash* |
-| 1.0.0 | 2018-06-02 | 
[[http://www.apache.org/dyn/closer.cgi/atlas/1.0.0/apache-atlas-1.0.0-sources.tar.gz][source]]
 | 
[[https://dist.apache.org/repos/dist/release/atlas/1.0.0/apache-atlas-1.0.0-sources.tar.gz.asc][signature]]
 | 
[[https://dist.apache.org/repos/dist/release/atlas/1.0.0/apache-atlas-1.0.0-sources.tar.gz.sha512][SHA512]]
 |
-| 0.8.2 | 2018-02-05 | 
[[http://www.apache.org/dyn/closer.cgi/atlas/0.8.2/apache-atlas-0.8.2-sources.tar.gz][source]]
 | 
[[https://dist.apache.org/repos/dist/release/atlas/0.8.2/apache-atlas-0.8.2-sources.tar.gz.asc][signature]]
 | 
[[https://dist.apache.org/repos/dist/release/atlas/0.8.2/apache-atlas-0.8.2-sources.tar.gz.sha512][SHA512]]
 |
-| 0.8.1 | 2017-08-29 | 
[[http://www.apache.org/dyn/closer.cgi/atlas/0.8.1/apache-atlas-0.8.1-sources.tar.gz][source]]
 | 
[[https://dist.apache.org/repos/dist/release/atlas/0.8.1/apache-atlas-0.8.1-sources.tar.gz.asc][signature]]
 | 
[[https://dist.apache.org/repos/dist/release/atlas/0.8.1/apache-atlas-0.8.1-sources.tar.gz.sha512][SHA512]]
 |
+| 1.0.0 | 2018-06-02 | 
[[https://www.apache.org/dyn/closer.cgi/atlas/1.0.0/apache-atlas-1.0.0-sources.tar.gz][source]]
 | 
[[https://www.apache.org/dist/atlas/1.0.0/apache-atlas-1.0.0-sources.tar.gz.asc][signature]]
 | 
[[https://www.apache.org/dist/atlas/1.0.0/apache-atlas-1.0.0-sources.tar.gz.sha512][SHA512]]
 |
+| 0.8.2 | 2018-02-05 | 
[[https://www.apache.org/dyn/closer.cgi/atlas/0.8.2/apache-atlas-0.8.2-sources.tar.gz][source]]
 | 
[[https://www.apache.org/dist/atlas/0.8.2/apache-atlas-0.8.2-sources.tar.gz.asc][signature]]
 | 
[[https://www.apache.org/dist/atlas/0.8.2/apache-atlas-0.8.2-sources.tar.gz.sha512][SHA512]]
 |
+| 0.8.1 | 2017-08-29 | 
[[https://archive.apache.org/dist/atlas/0.8.1/apache-atlas-0.8.1-sources.tar.gz][source]]
 | 
[[https://archive.apache.org/dist/atlas/0.8.1/apache-atlas-0.8.1-sources.tar.gz.asc][signature]]
 | 
[[https://archive.apache.org/dist/atlas/0.8.1/apache-atlas-0.8.1-sources.tar.gz.sha512][SHA512]]
 |
 | 0.8.0-incubating | 2017-03-16 | 
[[http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/apache-atlas-0.8-incubating-sources.tar.gz][source]]
 | 
[[https://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/apache-atlas-0.8-incubating-sources.tar.gz.asc][signature]]
 | 
[[https://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/apache-atlas-0.8-incubating-sources.tar.gz.sha512][SHA512]]
 |
 | 0.7.1-incubating | 2017-01-29 | 
[[http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/apache-atlas-0.7.1-incubating-sources.tar.gz][source]]
 | 
[[https://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/apache-atlas-0.7.1-incubating-sources.tar.gz.asc][signature]]
 | 
[[https://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/apache-atlas-0.7.1-incubating-sources.tar.gz.mds][checksum]]
 |
 | 0.7.0-incubating | 2016-07-09 | 
[[http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/apache-atlas-0.7-incubating-sources.tar.gz][source]]
 | 
[[https://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/apache-atlas-0.7-incubating-sources.tar.gz.asc][signature]]
 | 
[[https://archive.apache.org/dist/incubator/atlas/0.7.0

[1/3] atlas git commit: ATLAS-2691: updated documentation links for release version 1.0.0

2018-06-03 Thread madhan
Repository: atlas
Updated Branches:
  refs/heads/master 92f3a91ec -> 78a3cd0a2


ATLAS-2691: updated documentation links for release version 1.0.0

(cherry picked from commit 53ab8669efd8f2bafb870750b9365187ad916f07)


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

Branch: refs/heads/master
Commit: 870259f42a21a15e48d225f16836fc2e8c30883e
Parents: 92f3a91
Author: Madhan Neethiraj 
Authored: Sat Jun 2 16:51:33 2018 -0700
Committer: Madhan Neethiraj 
Committed: Sun Jun 3 19:40:50 2018 -0700

--
 docs/src/site/site.xml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/870259f4/docs/src/site/site.xml
--
diff --git a/docs/src/site/site.xml b/docs/src/site/site.xml
index 0882feb..dbebe7d 100755
--- a/docs/src/site/site.xml
+++ b/docs/src/site/site.xml
@@ -81,8 +81,8 @@
 
 
 
-http://www.apache.org/dyn/closer.cgi/atlas/1.0.0-alpha/"/>
+http://www.apache.org/dyn/closer.cgi/atlas/1.0.0/"/>
 http://www.apache.org/dyn/closer.cgi/atlas/0.8.2/"/>
 
 
-
+
 
 
 



[2/3] atlas git commit: ATLAS-2691: updated documentation to add Downloads page

2018-06-03 Thread madhan
ATLAS-2691: updated documentation to add Downloads page

(cherry picked from commit 9c46a8e6defe0b7ddbc30076e14df583558f58f1)


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

Branch: refs/heads/master
Commit: c8058eee21d05303b7db061d462d669b7ada416b
Parents: 870259f
Author: Madhan Neethiraj 
Authored: Sun Jun 3 13:14:40 2018 -0700
Committer: Madhan Neethiraj 
Committed: Sun Jun 3 19:41:00 2018 -0700

--
 docs/src/site/site.xml  | 12 -
 docs/src/site/twiki/Downloads.twiki | 46 
 pom.xml | 11 
 3 files changed, 62 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/atlas/blob/c8058eee/docs/src/site/site.xml
--
diff --git a/docs/src/site/site.xml b/docs/src/site/site.xml
index dbebe7d..a425836 100755
--- a/docs/src/site/site.xml
+++ b/docs/src/site/site.xml
@@ -60,24 +60,22 @@
 
 
 
-
-
+
+
+
+
 https://cwiki.apache.org/confluence/display/ATLAS"/>
-https://cwiki.apache.org/confluence/display/ATLAS"/>
 https://git-wip-us.apache.org/repos/asf/atlas.git; />
 https://issues.apache.org/jira/browse/ATLAS; />
-https://cwiki.apache.org/confluence/display/ATLAS/PoweredBy; />
-http://blogs.apache.org/atlas/; />
+https://reviews.apache.org/groups/atlas/?sort=-time_added; />
 
 
 
 
 
-http://webchat.freenode.net?channels=apacheatlasuio=d4; />
 
 
 
-
 
 
 

http://git-wip-us.apache.org/repos/asf/atlas/blob/c8058eee/docs/src/site/twiki/Downloads.twiki
--
diff --git a/docs/src/site/twiki/Downloads.twiki 
b/docs/src/site/twiki/Downloads.twiki
new file mode 100755
index 000..22b89e9
--- /dev/null
+++ b/docs/src/site/twiki/Downloads.twiki
@@ -0,0 +1,46 @@
+---+ Downloads
+
+
+Apache Atlas release artifacts are distributed via mirror sites and should be 
checked for tampering using GPG or SHA-256.
+
+The table below lists release artifacts and their associated signatures and 
hashes. The keys used to sign the release
+artifacts can be found in our published 
[[https://dist.apache.org/repos/dist/release/atlas/KEYS][KEYS file]].
+
+| *Version* | *Release Date* | *Tarball* | *GPG* | *Hash* |
+| 1.0.0 | 2018-06-02 | 
[[http://www.apache.org/dyn/closer.cgi/atlas/1.0.0/apache-atlas-1.0.0-sources.tar.gz][source]]
 | 
[[https://dist.apache.org/repos/dist/release/atlas/1.0.0/apache-atlas-1.0.0-sources.tar.gz.asc][signature]]
 | 
[[https://dist.apache.org/repos/dist/release/atlas/1.0.0/apache-atlas-1.0.0-sources.tar.gz.sha512][SHA512]]
 |
+| 0.8.2 | 2018-02-05 | 
[[http://www.apache.org/dyn/closer.cgi/atlas/0.8.2/apache-atlas-0.8.2-sources.tar.gz][source]]
 | 
[[https://dist.apache.org/repos/dist/release/atlas/0.8.2/apache-atlas-0.8.2-sources.tar.gz.asc][signature]]
 | 
[[https://dist.apache.org/repos/dist/release/atlas/0.8.2/apache-atlas-0.8.2-sources.tar.gz.sha512][SHA512]]
 |
+| 0.8.1 | 2017-08-29 | 
[[http://www.apache.org/dyn/closer.cgi/atlas/0.8.1/apache-atlas-0.8.1-sources.tar.gz][source]]
 | 
[[https://dist.apache.org/repos/dist/release/atlas/0.8.1/apache-atlas-0.8.1-sources.tar.gz.asc][signature]]
 | 
[[https://dist.apache.org/repos/dist/release/atlas/0.8.1/apache-atlas-0.8.1-sources.tar.gz.sha512][SHA512]]
 |
+| 0.8.0-incubating | 2017-03-16 | 
[[http://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/apache-atlas-0.8-incubating-sources.tar.gz][source]]
 | 
[[https://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/apache-atlas-0.8-incubating-sources.tar.gz.asc][signature]]
 | 
[[https://archive.apache.org/dist/incubator/atlas/0.8.0-incubating/apache-atlas-0.8-incubating-sources.tar.gz.sha512][SHA512]]
 |
+| 0.7.1-incubating | 2017-01-29 | 
[[http://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/apache-atlas-0.7.1-incubating-sources.tar.gz][source]]
 | 
[[https://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/apache-atlas-0.7.1-incubating-sources.tar.gz.asc][signature]]
 | 
[[https://archive.apache.org/dist/incubator/atlas/0.7.1-incubating/apache-atlas-0.7.1-incubating-sources.tar.gz.mds][checksum]]
 |
+| 0.7.0-incubating | 2016-07-09 | 
[[http://archive.apache.org/dist/incubator/atlas/0.7.0-incubating/apache-atlas-0.7-incubating-sources.tar.gz][source]]
 | 
[[https://archive.apache.org/dis

svn commit: r27239 - /release/atlas/0.8.1/

2018-06-03 Thread madhan
Author: madhan
Date: Mon Jun  4 02:18:10 2018
New Revision: 27239

Log:
deleted 0.8.1 release artifacts

Removed:
release/atlas/0.8.1/



[17/31] atlas-website git commit: ATLAS-2691: updated documentation to add Downloads page

2018-06-03 Thread madhan
http://git-wip-us.apache.org/repos/asf/atlas-website/blob/58bb55a6/api/v2/ui/css/screen.css
--
diff --git a/api/v2/ui/css/screen.css b/api/v2/ui/css/screen.css
index 39ff583..1f069f6 100644
--- a/api/v2/ui/css/screen.css
+++ b/api/v2/ui/css/screen.css
@@ -1,1494 +1 @@
-/* Original style from softwaremaniacs.org (c) Ivan Sagalaev 
 */
-.swagger-section pre code {
-  display: block;
-  padding: 0.5em;
-  background: #F0F0F0;
-}
-.swagger-section pre code,
-.swagger-section pre .subst,
-.swagger-section pre .tag .title,
-.swagger-section pre .lisp .title,
-.swagger-section pre .clojure .built_in,
-.swagger-section pre .nginx .title {
-  color: black;
-}
-.swagger-section pre .string,
-.swagger-section pre .title,
-.swagger-section pre .constant,
-.swagger-section pre .parent,
-.swagger-section pre .tag .value,
-.swagger-section pre .rules .value,
-.swagger-section pre .rules .value .number,
-.swagger-section pre .preprocessor,
-.swagger-section pre .ruby .symbol,
-.swagger-section pre .ruby .symbol .string,
-.swagger-section pre .aggregate,
-.swagger-section pre .template_tag,
-.swagger-section pre .django .variable,
-.swagger-section pre .smalltalk .class,
-.swagger-section pre .addition,
-.swagger-section pre .flow,
-.swagger-section pre .stream,
-.swagger-section pre .bash .variable,
-.swagger-section pre .apache .tag,
-.swagger-section pre .apache .cbracket,
-.swagger-section pre .tex .command,
-.swagger-section pre .tex .special,
-.swagger-section pre .erlang_repl .function_or_atom,
-.swagger-section pre .markdown .header {
-  color: #800;
-}
-.swagger-section pre .comment,
-.swagger-section pre .annotation,
-.swagger-section pre .template_comment,
-.swagger-section pre .diff .header,
-.swagger-section pre .chunk,
-.swagger-section pre .markdown .blockquote {
-  color: #888;
-}
-.swagger-section pre .number,
-.swagger-section pre .date,
-.swagger-section pre .regexp,
-.swagger-section pre .literal,
-.swagger-section pre .smalltalk .symbol,
-.swagger-section pre .smalltalk .char,
-.swagger-section pre .go .constant,
-.swagger-section pre .change,
-.swagger-section pre .markdown .bullet,
-.swagger-section pre .markdown .link_url {
-  color: #080;
-}
-.swagger-section pre .label,
-.swagger-section pre .javadoc,
-.swagger-section pre .ruby .string,
-.swagger-section pre .decorator,
-.swagger-section pre .filter .argument,
-.swagger-section pre .localvars,
-.swagger-section pre .array,
-.swagger-section pre .attr_selector,
-.swagger-section pre .important,
-.swagger-section pre .pseudo,
-.swagger-section pre .pi,
-.swagger-section pre .doctype,
-.swagger-section pre .deletion,
-.swagger-section pre .envvar,
-.swagger-section pre .shebang,
-.swagger-section pre .apache .sqbracket,
-.swagger-section pre .nginx .built_in,
-.swagger-section pre .tex .formula,
-.swagger-section pre .erlang_repl .reserved,
-.swagger-section pre .prompt,
-.swagger-section pre .markdown .link_label,
-.swagger-section pre .vhdl .attribute,
-.swagger-section pre .clojure .attribute,
-.swagger-section pre .coffeescript .property {
-  color: #88F;
-}
-.swagger-section pre .keyword,
-.swagger-section pre .id,
-.swagger-section pre .phpdoc,
-.swagger-section pre .title,
-.swagger-section pre .built_in,
-.swagger-section pre .aggregate,
-.swagger-section pre .css .tag,
-.swagger-section pre .javadoctag,
-.swagger-section pre .phpdoc,
-.swagger-section pre .yardoctag,
-.swagger-section pre .smalltalk .class,
-.swagger-section pre .winutils,
-.swagger-section pre .bash .variable,
-.swagger-section pre .apache .tag,
-.swagger-section pre .go .typename,
-.swagger-section pre .tex .command,
-.swagger-section pre .markdown .strong,
-.swagger-section pre .request,
-.swagger-section pre .status {
-  font-weight: bold;
-}
-.swagger-section pre .markdown .emphasis {
-  font-style: italic;
-}
-.swagger-section pre .nginx .built_in {
-  font-weight: normal;
-}
-.swagger-section pre .coffeescript .javascript,
-.swagger-section pre .javascript .xml,
-.swagger-section pre .tex .formula,
-.swagger-section pre .xml .javascript,
-.swagger-section pre .xml .vbscript,
-.swagger-section pre .xml .css,
-.swagger-section pre .xml .cdata {
-  opacity: 0.5;
-}
-.swagger-section .hljs {
-  display: block;
-  overflow-x: auto;
-  padding: 0.5em;
-  background: #F0F0F0;
-}
-.swagger-section .hljs,
-.swagger-section .hljs-subst {
-  color: #444;
-}
-.swagger-section .hljs-keyword,
-.swagger-section .hljs-attribute,
-.swagger-section .hljs-selector-tag,
-.swagger-section .hljs-meta-keyword,
-.swagger-section .hljs-doctag,
-.swagger-section .hljs-name {
-  font-weight: bold;
-}
-.swagger-section .hljs-built_in,
-.swagger-section .hljs-literal,
-.swagger-section .hljs-bullet,
-.swagger-section .hljs-code,
-.swagger-section .hljs-addition {
-  color: #1F811F;
-}
-.swagger-section .hljs-regexp,
-.swagger-section .hljs-symbol,
-.swagger-section .hljs-variable,
-.swagger-section .hljs-template-variable,

[24/31] atlas-website git commit: ATLAS-2691: updated documentation to add Downloads page

2018-06-03 Thread madhan
http://git-wip-us.apache.org/repos/asf/atlas-website/blob/58bb55a6/api/v2/resource_EntityREST.html
--
diff --git a/api/v2/resource_EntityREST.html b/api/v2/resource_EntityREST.html
index 3c6460c..68ab99c 100644
--- a/api/v2/resource_EntityREST.html
+++ b/api/v2/resource_EntityREST.html
@@ -15,7 +15,7 @@
   https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css;>
 
   
-  
+  
 
   
   

[05/31] atlas-website git commit: ATLAS-2691: updated documentation to add Downloads page

2018-06-03 Thread madhan
http://git-wip-us.apache.org/repos/asf/atlas-website/blob/58bb55a6/api/v2/ui/lib/swagger-oauth.js
--
diff --git a/api/v2/ui/lib/swagger-oauth.js b/api/v2/ui/lib/swagger-oauth.js
index a35bda3..7160291 100644
--- a/api/v2/ui/lib/swagger-oauth.js
+++ b/api/v2/ui/lib/swagger-oauth.js
@@ -1,347 +1 @@
-var appName;
-var popupMask;
-var popupDialog;
-var clientId;
-var realm;
-var redirect_uri;
-var clientSecret;
-var scopeSeparator;
-var additionalQueryStringParams;
-
-function handleLogin() {
-  var scopes = [];
-
-  var auths = window.swaggerUi.api.authSchemes || 
window.swaggerUi.api.securityDefinitions;
-  if(auths) {
-var key;
-var defs = auths;
-for(key in defs) {
-  var auth = defs[key];
-  if(auth.type === 'oauth2' && auth.scopes) {
-var scope;
-if(Array.isArray(auth.scopes)) {
-  // 1.2 support
-  var i;
-  for(i = 0; i < auth.scopes.length; i++) {
-scopes.push(auth.scopes[i]);
-  }
-}
-else {
-  // 2.0 support
-  for(scope in auth.scopes) {
-scopes.push({scope: scope, description: auth.scopes[scope], 
OAuthSchemeKey: key});
-  }
-}
-  }
-}
-  }
-
-  if(window.swaggerUi.api
-&& window.swaggerUi.api.info) {
-appName = window.swaggerUi.api.info.title;
-  }
-
-  $('.api-popup-dialog').remove(); 
-  popupDialog = $(
-[
-  '',
-  'Select OAuth2.0 Scopes',
-  '',
-'Scopes are used to grant an application different levels of access 
to data on behalf of the end user. Each API may declare one or more scopes.',
-  'Learn how to use',
-'',
-'' + appName + ' API requires the following 
scopes. Select which ones you want to grant to Swagger UI.',
-'',
-'',
-'',
-'AuthorizeCancel',
-  '',
-  ''].join(''));
-  $(document.body).append(popupDialog);
-
-  //TODO: only display applicable scopes (will need to pass them into 
handleLogin)
-  popup = popupDialog.find('ul.api-popup-scopes').empty();
-  for (i = 0; i < scopes.length; i ++) {
-scope = scopes[i];
-str = '' + '' + scope.scope ;
-if (scope.description) {
-  if ($.map(auths, function(n, i) { return i; }).length > 1) //if we have 
more than one scheme, display schemes
-   str += '' + scope.description + ' 
('+ scope.OAuthSchemeKey+')' +'';
- else
-   str += '' + scope.description + 
'';
-}
-str += '';
-popup.append(str);
-  }
-
-  var $win = $(window),
-dw = $win.width(),
-dh = $win.height(),
-st = $win.scrollTop(),
-dlgWd = popupDialog.outerWidth(),
-dlgHt = popupDialog.outerHeight(),
-top = (dh -dlgHt)/2 + st,
-left = (dw - dlgWd)/2;
-
-  popupDialog.css({
-top: (top < 0? 0 : top) + 'px',
-left: (left < 0? 0 : left) + 'px'
-  });
-
-  popupDialog.find('button.api-popup-cancel').click(function() {
-popupMask.hide();
-popupDialog.hide();
-popupDialog.empty();
-popupDialog = [];
-  });
-
-  $('button.api-popup-authbtn').unbind();
-  popupDialog.find('button.api-popup-authbtn').click(function() {
-popupMask.hide();
-popupDialog.hide();
-
-var authSchemes = window.swaggerUi.api.authSchemes;
-var host = window.location;
-var pathname = location.pathname.substring(0, 
location.pathname.lastIndexOf("/"));
-var defaultRedirectUrl = host.protocol + '//' + host.host + pathname + 
'/o2c.html';
-var redirectUrl = window.oAuthRedirectUrl || defaultRedirectUrl;
-var url = null;
-var scopes = []
-var o = popup.find('input:checked'); 
-var OAuthSchemeKeys = [];
-var state;
-for(k =0; k < o.length; k++) {
-  var scope = $(o[k]).attr('scope');
-  if (scopes.indexOf(scope) === -1)
-scopes.push(scope);
-  var OAuthSchemeKey = $(o[k]).attr('oauthtype');  
-  if (OAuthSchemeKeys.indexOf(OAuthSchemeKey) === -1)
-  OAuthSchemeKeys.push(OAuthSchemeKey);
-}
-
-//TODO: merge not replace if scheme is different from any existing 
-//(needs to be aware of schemes to do so correctly)
-window.enabledScopes=scopes;
-
-for (var key in authSchemes) { 
-  if (authSchemes.hasOwnProperty(key) && OAuthSchemeKeys.indexOf(key) != 
-1) { //only look at keys that match this scope.
-var flow = authSchemes[key].flow;
-
-if(authSchemes[key].type === 'oauth2' && flow && (flow === 'implicit' 
|| flow === 'accessCode')) {
-  var dets = authSchemes[key];
-  url = dets.authorizationUrl + '?response_type=' + (flow === 
'implicit' ? 'token' : 'code');
-  window.swaggerUi.tokenName = dets.tokenName || 'access_token';
-  window.swaggerUi.tokenUrl = (flow === 'accessCode' ? dets.tokenUrl : 
null);
-  state = key;
-}
-else if(authSchemes[key].type === 'oauth2' && flow && (flow === 
'application')) {
-var 

[09/31] atlas-website git commit: ATLAS-2691: updated documentation to add Downloads page

2018-06-03 Thread madhan
http://git-wip-us.apache.org/repos/asf/atlas-website/blob/58bb55a6/api/v2/ui/lib/jsoneditor.min.js
--
diff --git a/api/v2/ui/lib/jsoneditor.min.js b/api/v2/ui/lib/jsoneditor.min.js
index 343397f..21db1ab 100644
--- a/api/v2/ui/lib/jsoneditor.min.js
+++ b/api/v2/ui/lib/jsoneditor.min.js
@@ -1,11 +1,5 @@
-/*! JSON Editor v0.7.22 - JSON Schema -> HTML Editor
- * By Jeremy Dorn - https://github.com/jdorn/json-editor/
- * Released under the MIT license
- *
- * Date: 2015-08-12
- */
-!function(){var a;!function(){var 
b=!1,c=/xyz/.test(function(){window.postMessage("xyz")})?/\b_super\b/:/.*/;return
 a=function(){},a.extend=function(a){function 
d(){!b&&(this,arguments)}var 
e=this.prototype;b=!0;var f=new this;b=!1;for(var g in 
a)f[g]="function"==typeof a[g]&&"function"==typeof 
e[g]&(a[g])?function(a,b){return function(){var 
c=this._super;this._super=e[a];var d=b.apply(this,arguments);return 
this._super=c,d}}(g,a[g]):a[g];return 
d.prototype=f,d.prototype.constructor=d,d.extend=arguments.callee,d},a}(),function(){function
 a(a,b){b=b||{bubbles:!1,cancelable:!1,detail:void 0};var 
c=document.createEvent("CustomEvent");return 
c.initCustomEvent(a,b.bubbles,b.cancelable,b.detail),c}a.prototype=window.Event.prototype,window.CustomEvent=a}(),function(){for(var
 
a=0,b=["ms","moz","webkit","o"],c=0;c0& in 
a){for(c=0;c=g&&!h&&(
 
h=!0,b())})}},d.send()}}),g||b()},expandRefs:function(a){for(a=c({},a);a.$ref;){var
 b=a.$ref;delete 
a.$ref,this.refs[b]||(b=decodeURIComponent(b)),a=this.extendSchemas(a,this.refs[b])}return
 a},expandSchema:function(a){var b,e=this,f=c({},a);if("object"==typeof 
a.type&&(Array.isArray(a.type)?d(a.type,function(b,c){"object"==typeof 
c&&(a.type[b]=e.expandSchema(c))}):a.type=e.expandSchema(a.type)),"object"==typeof
 
a.disallow&&(Array.isArray(a.disallow)?d(a.disallow,function(b,c){"object"==typeof
 
c&&(a.disallow[b]=e.expandSchema(c))}):a.disallow=e.expandSchema(a.disallow)),a.anyOf&(a.anyOf,function(b,c){a.anyOf[b]=e.expandSchema(c)}),a.dependencies&(a.dependencies,function(b,c){"object"!=typeof
 
c||Array.isArray(c)||(a.dependencies[b]=e.expandSchema(c))}),a.not&&(a.not=this.expandSchema(a.not)),a.allOf){for(b=0;b=a.maximum?k.push({path:e,property:"maximum",message:this.translate("error_maximum_excl",[a.maximum])}):!a.exclusiveMaximum&>a.maximum&({path:e,property:"maximum",message:this.translate("error_maximum_incl",[a.maximum])})),a.hasOwnProperty("minimum")&&(a.exclusiveMinimum&&
 
b<=a.minimum?k.push({path:e,property:"minimum",message:this.translate("error_minimum_excl",[a.minimum])}):!a.exclusiveMinimum&a.maxLength&({path:e,property:"maxLength",message:this.translate("error_maxLength",[a.maxLength])}),a.minLength&&(b+"").lengtha.maxItems&({path:e,property:"maxItems",message:this.translate("error_maxItems",[a.maxItems])}),a.minItems&a.maxProperties&({path:e,property:"maxProperties",message:this.translate("error_maxProperties",[a.maxProperties])})}if(a.minProperties){g=0;for(h
 in 
b)b.hasOwnProperty(h)&++;g=0){b=this.theme.getBlockLinkHolder(),c=this.theme.getBlockLink(),c.setAttribute("target","_blank");var
 
h=document.createElement(e);h.setAttribute("controls","controls"),this.theme.createMediaLink(b,c,h),this.link_watchers
 .push(function(b){var 
d=f(b);c.setAttribute("href",d),c.textContent=a.rel||d,h.setAttribute("src",d)})}else
 
b=this.theme.getBlockLink(),b.setAttribute("target","_blank"),b.textContent=a.rel,this.link_watchers.push(function(c){var
 d=f(c);b.setAttribute("href",d),b.textContent=a.rel||d});return 
b},refreshWatchedFieldValues:function(){if(this.watched_values){var 
a={},b=!1,c=this;if(this.watched){var d,e;for(var f in 
this.watched)this.watched.hasOwnProperty(f)&&(e=c.jsoneditor.getEditor(this.watched[f]),d=e?e.getValue():null,c.watched_values[f]!==d&&(b=!0),a[f]=d)}return
 
a.self=this.getValue(),this.watched_values.self!==a.self&&(b=!0),this.watched_values=a,b}},getWatchedFieldValues:function(){return
 
this.watched_values},updateHeaderText:function(){if(this.header)if(this.header.children.length){for(var
 
a=0;a-1:this.jsoneditor.options.requ
 ired_by_default?!0:!1},getDisplayText:function(a){var 
b=[],c={};d(a,function(a,b){b.title&&(c[b.title]=c[b.title]||0,c[b.title]++),b.description&&(c[b.description]=c[b.description]||0,c[b.description]++),b.format&&(c[b.format]=c[b.format]||0,c[b.format]++),b.type&&(c[b.type]=c[b.type]||0,c[b.type]++)}),d(a,function(a,d){var
 e;e="string"==typeof 
d?d:d.title&[d.title]<=1?d.title:d.format&[d.format]<=1?d.format:d.type&[d.type]<=1?d.type:d.description&[d.description]<=1?d.descripton:d.title?d.title:d.format?d.format:d.type?d.type:d.description?d.description:JSON.stringify(d).length<50?JSON.stringify(d):"type",b.push(e)});var
 e={};return d(b,function(a,d){e[d]=e[d]||0,e[d]++,c[d]>1&&(b[a]=d+" 
"+e[d])}),b},getOption:function(a){try{throw"getOption is 
deprecated"}catch(b){window.console.error(b)}return 

<    2   3   4   5   6   7   8   9   10   11   >