Repository: atlas
Updated Branches:
  refs/heads/master 5fed48d96 -> 570f24231


ATLAS-2656: updated entity notifications to replace AtlasEntity with 
AtlasEntityHeader


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

Branch: refs/heads/master
Commit: 570f24231b69b119fd79b8481d65e3e122cdc51f
Parents: 5fed48d
Author: Madhan Neethiraj <mad...@apache.org>
Authored: Mon May 7 22:40:07 2018 -0700
Committer: Madhan Neethiraj <mad...@apache.org>
Committed: Tue May 8 17:03:15 2018 -0700

----------------------------------------------------------------------
 addons/models/1000-Hadoop/1020-fs_model.json    |   3 +
 addons/models/1000-Hadoop/1030-hive_model.json  |   2 +
 addons/models/1000-Hadoop/1060-hbase_model.json |   3 +-
 addons/models/1000-Hadoop/1070-kafka_model.json |   1 +
 addons/models/1000-Hadoop/1080-storm_model.json |   3 +-
 .../model/notification/EntityNotification.java  |  85 +++++++++++
 .../atlas/model/typedef/AtlasStructDef.java     |  19 ++-
 .../org/apache/atlas/type/AtlasTypeUtil.java    |  16 +--
 .../java/org/apache/atlas/utils/AtlasJson.java  |   2 +-
 .../notification/EntityNotificationV2.java      | 129 -----------------
 .../test/java/org/apache/atlas/TestUtilsV2.java | 140 +++++++++----------
 .../converters/AtlasInstanceConverter.java      |   7 -
 .../store/graph/v1/AtlasStructDefStoreV1.java   |   2 +
 .../store/graph/v1/EntityGraphRetriever.java    |  12 +-
 .../store/graph/AtlasTypeDefGraphStoreTest.java |   4 +-
 .../store/graph/v1/AtlasEntityStoreV1Test.java  |   2 +-
 .../EntityNotificationListenerV2.java           | 115 ++++++++-------
 .../atlas/web/integration/BaseResourceIT.java   |   4 +-
 .../integration/TypedefsJerseyResourceIT.java   |   2 +-
 19 files changed, 266 insertions(+), 285 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/atlas/blob/570f2423/addons/models/1000-Hadoop/1020-fs_model.json
----------------------------------------------------------------------
diff --git a/addons/models/1000-Hadoop/1020-fs_model.json 
b/addons/models/1000-Hadoop/1020-fs_model.json
index 1d7e9d3..21d261c 100644
--- a/addons/models/1000-Hadoop/1020-fs_model.json
+++ b/addons/models/1000-Hadoop/1020-fs_model.json
@@ -94,6 +94,7 @@
                     "cardinality": "SINGLE",
                     "isIndexable": true,
                     "isOptional": false,
+                    "includeInNotification": true,
                     "isUnique": false
                 },
                 {
@@ -167,6 +168,7 @@
                     "cardinality": "SINGLE",
                     "isIndexable": true,
                     "isOptional": true,
+                    "includeInNotification": true,
                     "isUnique": false
                 },
                 {
@@ -191,6 +193,7 @@
                     "cardinality": "SINGLE",
                     "isIndexable": false,
                     "isOptional": true,
+                    "includeInNotification": true,
                     "isUnique": false
                 }
             ]

http://git-wip-us.apache.org/repos/asf/atlas/blob/570f2423/addons/models/1000-Hadoop/1030-hive_model.json
----------------------------------------------------------------------
diff --git a/addons/models/1000-Hadoop/1030-hive_model.json 
b/addons/models/1000-Hadoop/1030-hive_model.json
index 68a5c84..552dfe4 100644
--- a/addons/models/1000-Hadoop/1030-hive_model.json
+++ b/addons/models/1000-Hadoop/1030-hive_model.json
@@ -152,6 +152,7 @@
                     "cardinality": "SINGLE",
                     "isIndexable": false,
                     "isOptional": true,
+                    "includeInNotification": true,
                     "isUnique": false
                 },
                 {
@@ -418,6 +419,7 @@
                     "cardinality": "SINGLE",
                     "isIndexable": true,
                     "isOptional": false,
+                    "includeInNotification": true,
                     "isUnique": false
                 },
                 {

http://git-wip-us.apache.org/repos/asf/atlas/blob/570f2423/addons/models/1000-Hadoop/1060-hbase_model.json
----------------------------------------------------------------------
diff --git a/addons/models/1000-Hadoop/1060-hbase_model.json 
b/addons/models/1000-Hadoop/1060-hbase_model.json
index ec8dd4a..392412a 100644
--- a/addons/models/1000-Hadoop/1060-hbase_model.json
+++ b/addons/models/1000-Hadoop/1060-hbase_model.json
@@ -16,6 +16,7 @@
                     "cardinality": "SINGLE",
                     "isIndexable": true,
                     "isOptional": false,
+                    "includeInNotification": true,
                     "isUnique": false
                 },
                 {
@@ -207,4 +208,4 @@
             "propagateTags": "NONE"
         }
     ]
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/570f2423/addons/models/1000-Hadoop/1070-kafka_model.json
----------------------------------------------------------------------
diff --git a/addons/models/1000-Hadoop/1070-kafka_model.json 
b/addons/models/1000-Hadoop/1070-kafka_model.json
index 9ddc379..b5a5965 100644
--- a/addons/models/1000-Hadoop/1070-kafka_model.json
+++ b/addons/models/1000-Hadoop/1070-kafka_model.json
@@ -16,6 +16,7 @@
                     "cardinality": "SINGLE",
                     "isIndexable": true,
                     "isOptional": false,
+                    "isInNotification": true,
                     "isUnique": false
                 },
                 {

http://git-wip-us.apache.org/repos/asf/atlas/blob/570f2423/addons/models/1000-Hadoop/1080-storm_model.json
----------------------------------------------------------------------
diff --git a/addons/models/1000-Hadoop/1080-storm_model.json 
b/addons/models/1000-Hadoop/1080-storm_model.json
index b008c7a..7ca7a8f 100644
--- a/addons/models/1000-Hadoop/1080-storm_model.json
+++ b/addons/models/1000-Hadoop/1080-storm_model.json
@@ -48,6 +48,7 @@
                     "cardinality": "SINGLE",
                     "isIndexable": true,
                     "isOptional": true,
+                    "includeInNotification": true,
                     "isUnique": false
                 },
                 {
@@ -164,4 +165,4 @@
             "propagateTags": "NONE"
         }
     ]
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/570f2423/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 f70eb3f..6cdae89 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
@@ -20,14 +20,17 @@ package org.apache.atlas.model.notification;
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import org.apache.atlas.model.instance.AtlasEntityHeader;
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlRootElement;
 import java.io.Serializable;
+import java.util.Objects;
 
 import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE;
 import static 
com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.PUBLIC_ONLY;
+import static 
org.apache.atlas.model.notification.EntityNotification.EntityNotificationType.ENTITY_NOTIFICATION_V2;
 
 /**
  * Base type of hook message.
@@ -83,4 +86,86 @@ public class EntityNotification implements Serializable {
 
         return sb;
     }
+
+    /**
+     * Entity v2 notification
+     */
+    @JsonAutoDetect(getterVisibility=PUBLIC_ONLY, 
setterVisibility=PUBLIC_ONLY, fieldVisibility=NONE)
+    @JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
+    @JsonIgnoreProperties(ignoreUnknown=true)
+    @XmlRootElement
+    @XmlAccessorType(XmlAccessType.PROPERTY)
+    public static class EntityNotificationV2 extends EntityNotification 
implements Serializable {
+        private static final long serialVersionUID = 1L;
+
+        public enum OperationType {
+            ENTITY_CREATE, ENTITY_UPDATE, ENTITY_DELETE,
+            CLASSIFICATION_ADD, CLASSIFICATION_DELETE, CLASSIFICATION_UPDATE
+        }
+
+        private AtlasEntityHeader entity;
+        private OperationType     operationType;
+
+        public EntityNotificationV2() {
+            super(ENTITY_NOTIFICATION_V2);
+        }
+
+        public EntityNotificationV2(AtlasEntityHeader entity, OperationType 
operationType) {
+            super(ENTITY_NOTIFICATION_V2);
+
+            setEntity(entity);
+            setOperationType(operationType);
+        }
+
+        public AtlasEntityHeader getEntity() {
+            return entity;
+        }
+
+        public void setEntity(AtlasEntityHeader entity) {
+            this.entity = entity;
+        }
+
+        public OperationType getOperationType() {
+            return operationType;
+        }
+
+        public void setOperationType(OperationType operationType) {
+            this.operationType = operationType;
+        }
+
+        @Override
+        public boolean equals(Object o) {
+            if (this == o) { return true; }
+            if (o == null || getClass() != o.getClass()) { return false; }
+            EntityNotificationV2 that = (EntityNotificationV2) o;
+            return Objects.equals(type, that.type) &&
+                   Objects.equals(entity, that.entity) &&
+                   operationType == that.operationType;
+        }
+
+        @Override
+        public int hashCode() {
+            return Objects.hash(type, entity, operationType);
+        }
+
+        @Override
+        public StringBuilder toString(StringBuilder sb) {
+            if (sb == null) {
+                sb = new StringBuilder();
+            }
+
+            sb.append("EntityNotificationV1{");
+            super.toString(sb);
+            sb.append(", entity=");
+            if (entity != null) {
+                entity.toString(sb);
+            } else {
+                sb.append(entity);
+            }
+            sb.append(", operationType=").append(operationType);
+            sb.append("}");
+
+            return sb;
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/atlas/blob/570f2423/intg/src/main/java/org/apache/atlas/model/typedef/AtlasStructDef.java
----------------------------------------------------------------------
diff --git 
a/intg/src/main/java/org/apache/atlas/model/typedef/AtlasStructDef.java 
b/intg/src/main/java/org/apache/atlas/model/typedef/AtlasStructDef.java
index a4c707a..9791911 100644
--- a/intg/src/main/java/org/apache/atlas/model/typedef/AtlasStructDef.java
+++ b/intg/src/main/java/org/apache/atlas/model/typedef/AtlasStructDef.java
@@ -272,6 +272,7 @@ public class AtlasStructDef extends AtlasBaseTypeDef 
implements Serializable {
         private int                      valuesMaxCount;
         private boolean                  isUnique;
         private boolean                  isIndexable;
+        private boolean                  includeInNotification;
         private String                   defaultValue;
         private String                   description;
 
@@ -280,17 +281,17 @@ public class AtlasStructDef extends AtlasBaseTypeDef 
implements Serializable {
         public AtlasAttributeDef() { this(null, null); }
 
         public AtlasAttributeDef(String name, String typeName) {
-            this(name, typeName, false, Cardinality.SINGLE, COUNT_NOT_SET, 
COUNT_NOT_SET, false, false, null);
+            this(name, typeName, false, Cardinality.SINGLE, COUNT_NOT_SET, 
COUNT_NOT_SET, false, false, false, null);
 
         }
 
         public AtlasAttributeDef(String name, String typeName, boolean 
isOptional, Cardinality cardinality,
-                                 int valuesMinCount, int valuesMaxCount, 
boolean isUnique, boolean isIndexable, List<AtlasConstraintDef> constraints) {
-            this(name, typeName, isOptional, cardinality, valuesMinCount, 
valuesMaxCount, isUnique, isIndexable, null, constraints, null);
+                                 int valuesMinCount, int valuesMaxCount, 
boolean isUnique, boolean isIndexable, boolean includeInNotification, 
List<AtlasConstraintDef> constraints) {
+            this(name, typeName, isOptional, cardinality, valuesMinCount, 
valuesMaxCount, isUnique, isIndexable, includeInNotification, null, 
constraints, null);
         }
 
         public AtlasAttributeDef(String name, String typeName, boolean 
isOptional, Cardinality cardinality,
-                                 int valuesMinCount, int valuesMaxCount, 
boolean isUnique, boolean isIndexable, String defaultValue,
+                                 int valuesMinCount, int valuesMaxCount, 
boolean isUnique, boolean isIndexable, boolean includeInNotification, String 
defaultValue,
                                  List<AtlasConstraintDef> constraints, String 
description) {
             setName(name);
             setTypeName(typeName);
@@ -300,6 +301,7 @@ public class AtlasStructDef extends AtlasBaseTypeDef 
implements Serializable {
             setValuesMaxCount(valuesMaxCount);
             setIsUnique(isUnique);
             setIsIndexable(isIndexable);
+            setIncludeInNotification(includeInNotification);
             setDefaultValue(defaultValue);
             setConstraints(constraints);
             setDescription(description);
@@ -315,6 +317,7 @@ public class AtlasStructDef extends AtlasBaseTypeDef 
implements Serializable {
                 setValuesMaxCount(other.getValuesMaxCount());
                 setIsUnique(other.getIsUnique());
                 setIsIndexable(other.getIsIndexable());
+                setIncludeInNotification(other.getIncludeInNotification());
                 setDefaultValue(other.getDefaultValue());
                 setConstraints(other.getConstraints());
                 setDescription((other.getDescription()));
@@ -379,6 +382,10 @@ public class AtlasStructDef extends AtlasBaseTypeDef 
implements Serializable {
             return isIndexable;
         }
 
+        public boolean getIncludeInNotification() { return 
includeInNotification; }
+
+        public void setIncludeInNotification(Boolean isInNotification) { 
this.includeInNotification = isInNotification == null ? Boolean.FALSE : 
isInNotification; }
+
         public String getDefaultValue(){
             return defaultValue;
         }
@@ -440,6 +447,7 @@ public class AtlasStructDef extends AtlasBaseTypeDef 
implements Serializable {
             sb.append(", valuesMaxCount=").append(valuesMaxCount);
             sb.append(", isUnique=").append(isUnique);
             sb.append(", isIndexable=").append(isIndexable);
+            sb.append(", 
includeInNotification=").append(includeInNotification);
             sb.append(", defaultValue=").append(defaultValue);
             sb.append(", constraints=[");
             if (CollectionUtils.isNotEmpty(constraints)) {
@@ -468,6 +476,7 @@ public class AtlasStructDef extends AtlasBaseTypeDef 
implements Serializable {
                     valuesMaxCount == that.valuesMaxCount &&
                     isUnique == that.isUnique &&
                     isIndexable == that.isIndexable &&
+                    includeInNotification == that.includeInNotification &&
                     Objects.equals(name, that.name) &&
                     Objects.equals(typeName, that.typeName) &&
                     cardinality == that.cardinality &&
@@ -478,7 +487,7 @@ public class AtlasStructDef extends AtlasBaseTypeDef 
implements Serializable {
 
         @Override
         public int hashCode() {
-            return Objects.hash(name, typeName, isOptional, cardinality, 
valuesMinCount, valuesMaxCount, isUnique, isIndexable, defaultValue, 
constraints, description);
+            return Objects.hash(name, typeName, isOptional, cardinality, 
valuesMinCount, valuesMaxCount, isUnique, isIndexable, includeInNotification, 
defaultValue, constraints, description);
         }
 
         @Override

http://git-wip-us.apache.org/repos/asf/atlas/blob/570f2423/intg/src/main/java/org/apache/atlas/type/AtlasTypeUtil.java
----------------------------------------------------------------------
diff --git a/intg/src/main/java/org/apache/atlas/type/AtlasTypeUtil.java 
b/intg/src/main/java/org/apache/atlas/type/AtlasTypeUtil.java
index 1b6af94..6c0fdbf 100644
--- a/intg/src/main/java/org/apache/atlas/type/AtlasTypeUtil.java
+++ b/intg/src/main/java/org/apache/atlas/type/AtlasTypeUtil.java
@@ -143,35 +143,35 @@ public class AtlasTypeUtil {
     public static AtlasAttributeDef createOptionalAttrDef(String name, 
AtlasType dataType) {
         return new AtlasAttributeDef(name, dataType.getTypeName(), true,
             Cardinality.SINGLE, 0, 1,
-            false, false,
+            false, false, false,
             Collections.<AtlasConstraintDef>emptyList());
     }
 
     public static AtlasAttributeDef createOptionalAttrDef(String name, String 
dataType) {
         return new AtlasAttributeDef(name, dataType, true,
             Cardinality.SINGLE, 0, 1,
-            false, false,
+            false, false, false,
             Collections.<AtlasConstraintDef>emptyList());
     }
 
     public static AtlasAttributeDef createRequiredAttrDef(String name, String 
dataType) {
         return new AtlasAttributeDef(name, dataType, false,
             Cardinality.SINGLE, 1, 1,
-            false, true,
+            false, true, false,
             Collections.<AtlasConstraintDef>emptyList());
     }
 
     public static AtlasAttributeDef createListRequiredAttrDef(String name, 
String dataType) {
         return new AtlasAttributeDef(name, dataType, false,
                 Cardinality.LIST, 1, Integer.MAX_VALUE,
-                false, true,
+                false, true, false,
                 Collections.<AtlasConstraintDef>emptyList());
     }
 
     public static AtlasAttributeDef createOptionalListAttrDef(String name, 
String dataType) {
         return new AtlasAttributeDef(name, dataType, true,
                 Cardinality.LIST, 1, Integer.MAX_VALUE,
-                false, true,
+                false, true, false,
                 Collections.<AtlasConstraintDef>emptyList());
     }
 
@@ -199,21 +199,21 @@ public class AtlasTypeUtil {
     public static AtlasAttributeDef createUniqueRequiredAttrDef(String name, 
AtlasType dataType) {
         return new AtlasAttributeDef(name, dataType.getTypeName(), false,
             Cardinality.SINGLE, 1, 1,
-            true, true,
+            true, true, false,
             Collections.<AtlasConstraintDef>emptyList());
     }
 
     public static AtlasAttributeDef createUniqueRequiredAttrDef(String name, 
String typeName) {
         return new AtlasAttributeDef(name, typeName, false,
             Cardinality.SINGLE, 1, 1,
-            true, true,
+            true, true, false,
             Collections.<AtlasConstraintDef>emptyList());
     }
 
     public static AtlasAttributeDef createRequiredAttrDef(String name, 
AtlasType dataType) {
         return new AtlasAttributeDef(name, dataType.getTypeName(), false,
             Cardinality.SINGLE, 1, 1,
-            false, true,
+            false, true, false,
             Collections.<AtlasConstraintDef>emptyList());
     }
 

http://git-wip-us.apache.org/repos/asf/atlas/blob/570f2423/intg/src/main/java/org/apache/atlas/utils/AtlasJson.java
----------------------------------------------------------------------
diff --git a/intg/src/main/java/org/apache/atlas/utils/AtlasJson.java 
b/intg/src/main/java/org/apache/atlas/utils/AtlasJson.java
index 7d65bb6..1c13860 100644
--- a/intg/src/main/java/org/apache/atlas/utils/AtlasJson.java
+++ b/intg/src/main/java/org/apache/atlas/utils/AtlasJson.java
@@ -27,6 +27,7 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
 import org.apache.atlas.model.discovery.AtlasSearchResult.AtlasFullTextResult;
 import org.apache.atlas.model.notification.EntityNotification;
 import 
org.apache.atlas.model.notification.EntityNotification.EntityNotificationType;
+import 
org.apache.atlas.model.notification.EntityNotification.EntityNotificationV2;
 import org.apache.atlas.model.notification.HookNotification;
 import 
org.apache.atlas.model.notification.HookNotification.HookNotificationType;
 import 
org.apache.atlas.model.notification.HookNotification.EntityCreateRequestV2;
@@ -39,7 +40,6 @@ import org.apache.atlas.v1.model.instance.Id;
 import org.apache.atlas.v1.model.instance.Referenceable;
 import org.apache.atlas.v1.model.instance.Struct;
 import org.apache.atlas.v1.model.notification.EntityNotificationV1;
-import org.apache.atlas.v1.model.notification.EntityNotificationV2;
 import org.apache.atlas.v1.model.notification.HookNotificationV1.*;
 import org.apache.commons.collections.MapUtils;
 import org.slf4j.Logger;

http://git-wip-us.apache.org/repos/asf/atlas/blob/570f2423/intg/src/main/java/org/apache/atlas/v1/model/notification/EntityNotificationV2.java
----------------------------------------------------------------------
diff --git 
a/intg/src/main/java/org/apache/atlas/v1/model/notification/EntityNotificationV2.java
 
b/intg/src/main/java/org/apache/atlas/v1/model/notification/EntityNotificationV2.java
deleted file mode 100644
index a8dfd23..0000000
--- 
a/intg/src/main/java/org/apache/atlas/v1/model/notification/EntityNotificationV2.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.atlas.v1.model.notification;
-
-import com.fasterxml.jackson.annotation.JsonAutoDetect;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import org.apache.atlas.model.instance.AtlasClassification;
-import org.apache.atlas.model.instance.AtlasEntity;
-import org.apache.atlas.model.notification.EntityNotification;
-import org.apache.atlas.model.typedef.AtlasBaseTypeDef;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import java.io.Serializable;
-import java.util.List;
-import java.util.Objects;
-
-import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE;
-import static 
com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.PUBLIC_ONLY;
-import static 
org.apache.atlas.model.notification.EntityNotification.EntityNotificationType.ENTITY_NOTIFICATION_V2;
-
-/**
- * Entity v2 notification
- */
-@JsonAutoDetect(getterVisibility=PUBLIC_ONLY, setterVisibility=PUBLIC_ONLY, 
fieldVisibility=NONE)
-@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
-@JsonIgnoreProperties(ignoreUnknown=true)
-@XmlRootElement
-@XmlAccessorType(XmlAccessType.PROPERTY)
-public class EntityNotificationV2 extends EntityNotification implements 
Serializable {
-    private static final long serialVersionUID = 1L;
-
-    public enum OperationType {
-        ENTITY_CREATE, ENTITY_UPDATE, ENTITY_DELETE,
-        CLASSIFICATION_ADD, CLASSIFICATION_DELETE, CLASSIFICATION_UPDATE
-    }
-
-    private AtlasEntity               entity;
-    private OperationType             operationType;
-    private List<AtlasClassification> classifications;
-
-    public EntityNotificationV2() { }
-
-    public EntityNotificationV2(AtlasEntity entity, OperationType 
operationType, List<AtlasClassification> classifications) {
-        setEntity(entity);
-        setOperationType(operationType);
-        setClassifications(classifications);
-        setType(ENTITY_NOTIFICATION_V2);
-    }
-
-    public AtlasEntity getEntity() {
-        return entity;
-    }
-
-    public void setEntity(AtlasEntity entity) {
-        this.entity = entity;
-    }
-
-    public OperationType getOperationType() {
-        return operationType;
-    }
-
-    public void setOperationType(OperationType operationType) {
-        this.operationType = operationType;
-    }
-
-    public List<AtlasClassification> getClassifications() {
-        return classifications;
-    }
-
-    public void setClassifications(List<AtlasClassification> classifications) {
-        this.classifications = classifications;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) { return true; }
-        if (o == null || getClass() != o.getClass()) { return false; }
-        EntityNotificationV2 that = (EntityNotificationV2) o;
-        return Objects.equals(entity, that.entity) &&
-               operationType == that.operationType &&
-               Objects.equals(classifications, that.classifications);
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(entity, operationType, classifications);
-    }
-
-    @Override
-    public StringBuilder toString(StringBuilder sb) {
-        if (sb == null) {
-            sb = new StringBuilder();
-        }
-
-        sb.append("EntityNotificationV1{");
-        super.toString(sb);
-        sb.append(", entity=");
-        if (entity != null) {
-            entity.toString(sb);
-        } else {
-            sb.append(entity);
-        }
-        sb.append(", operationType=").append(operationType);
-        sb.append(", classifications=[");
-        AtlasBaseTypeDef.dumpObjects(classifications, sb);
-        sb.append("]");
-        sb.append("}");
-
-        return sb;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/570f2423/intg/src/test/java/org/apache/atlas/TestUtilsV2.java
----------------------------------------------------------------------
diff --git a/intg/src/test/java/org/apache/atlas/TestUtilsV2.java 
b/intg/src/test/java/org/apache/atlas/TestUtilsV2.java
index 94242ad..836710c 100755
--- a/intg/src/test/java/org/apache/atlas/TestUtilsV2.java
+++ b/intg/src/test/java/org/apache/atlas/TestUtilsV2.java
@@ -92,7 +92,7 @@ public final class TestUtilsV2 {
                 AtlasTypeUtil.createClassTypeDef(DEPARTMENT_TYPE, 
"Department"+_description, Collections.<String>emptySet(),
                         AtlasTypeUtil.createUniqueRequiredAttrDef("name", 
"string"),
                         new AtlasAttributeDef("employees", 
String.format("array<%s>", "Employee"), true,
-                                AtlasAttributeDef.Cardinality.SINGLE, 0, 1, 
false, false,
+                                AtlasAttributeDef.Cardinality.SINGLE, 0, 1, 
false, false, false,
                             new ArrayList<AtlasStructDef.AtlasConstraintDef>() 
{{
                                 add(new 
AtlasStructDef.AtlasConstraintDef(AtlasConstraintDef.CONSTRAINT_TYPE_OWNED_REF));
                             }}));
@@ -114,11 +114,11 @@ public final class TestUtilsV2 {
                 AtlasTypeUtil.createOptionalAttrDef("orgLevel", "OrgLevel"),
                 new AtlasAttributeDef("department", "Department", false,
                         AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                        false, false,
+                        false, false, false,
                         new ArrayList<AtlasConstraintDef>()),
                 new AtlasAttributeDef("manager", "Manager", true,
                         AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                        false, false,
+                        false, false, false,
                 new ArrayList<AtlasConstraintDef>() {{
                         add(new AtlasConstraintDef(
                             AtlasConstraintDef.CONSTRAINT_TYPE_INVERSE_REF, 
new HashMap<String, Object>() {{
@@ -127,7 +127,7 @@ public final class TestUtilsV2 {
                     }}),
                 new AtlasAttributeDef("mentor", EMPLOYEE_TYPE, true,
                         AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                        false, false,
+                        false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()),
                 AtlasTypeUtil.createOptionalAttrDef("shares", "long"),
                 AtlasTypeUtil.createOptionalAttrDef("salary", "double")
@@ -141,7 +141,7 @@ public final class TestUtilsV2 {
 
         AtlasEntityDef managerTypeDef = 
AtlasTypeUtil.createClassTypeDef("Manager", "Manager"+_description, 
Collections.singleton("Employee"),
                 new AtlasAttributeDef("subordinates", 
String.format("array<%s>", "Employee"), false, 
AtlasAttributeDef.Cardinality.SET,
-                        1, 10, false, false,
+                        1, 10, false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()));
 
         AtlasClassificationDef securityClearanceTypeDef =
@@ -160,25 +160,25 @@ public final class TestUtilsV2 {
     public static AtlasTypesDef defineInverseReferenceTestTypes() {
         AtlasEntityDef aDef = AtlasTypeUtil.createClassTypeDef("A", 
Collections.<String>emptySet(),
             AtlasTypeUtil.createUniqueRequiredAttrDef("name", "string"),
-            new AtlasAttributeDef("b", "B", true, Cardinality.SINGLE, 0, 1, 
false, false, Collections.<AtlasConstraintDef>emptyList()), // 1-1
-            new AtlasAttributeDef("oneB", "B", true, Cardinality.SINGLE, 0, 1, 
false, false, Collections.<AtlasConstraintDef>emptyList()), // 1-*
-            new AtlasAttributeDef("manyB", 
AtlasBaseTypeDef.getArrayTypeName("B"), true, Cardinality.SINGLE, 0, 1, false, 
false, Collections.<AtlasConstraintDef>emptyList()),
-            new AtlasAttributeDef("mapToB", 
AtlasBaseTypeDef.getMapTypeName("string", "B"), true, Cardinality.SINGLE, 0, 1, 
false, false,
+            new AtlasAttributeDef("b", "B", true, Cardinality.SINGLE, 0, 1, 
false, false, false, Collections.<AtlasConstraintDef>emptyList()), // 1-1
+            new AtlasAttributeDef("oneB", "B", true, Cardinality.SINGLE, 0, 1, 
false, false, false, Collections.<AtlasConstraintDef>emptyList()), // 1-*
+            new AtlasAttributeDef("manyB", 
AtlasBaseTypeDef.getArrayTypeName("B"), true, Cardinality.SINGLE, 0, 1, false, 
false, false, Collections.<AtlasConstraintDef>emptyList()),
+            new AtlasAttributeDef("mapToB", 
AtlasBaseTypeDef.getMapTypeName("string", "B"), true, Cardinality.SINGLE, 0, 1, 
false, false, false,
                 Collections.<AtlasConstraintDef>singletonList(new 
AtlasConstraintDef(
                 AtlasConstraintDef.CONSTRAINT_TYPE_INVERSE_REF, 
Collections.<String, 
Object>singletonMap(AtlasConstraintDef.CONSTRAINT_PARAM_ATTRIBUTE, 
"mappedFromA"))))); // *-*
 
         AtlasEntityDef bDef = AtlasTypeUtil.createClassTypeDef("B", 
Collections.<String>emptySet(),
             AtlasTypeUtil.createUniqueRequiredAttrDef("name", "string"),
-            new AtlasAttributeDef("a", "A", true, Cardinality.SINGLE, 0, 1, 
false, false,
+            new AtlasAttributeDef("a", "A", true, Cardinality.SINGLE, 0, 1, 
false, false, false,
                 Collections.<AtlasConstraintDef>singletonList(new 
AtlasConstraintDef(
                     AtlasConstraintDef.CONSTRAINT_TYPE_INVERSE_REF, 
Collections.<String, 
Object>singletonMap(AtlasConstraintDef.CONSTRAINT_PARAM_ATTRIBUTE, "b")))),
-            new AtlasAttributeDef("manyA", 
AtlasBaseTypeDef.getArrayTypeName("A"), true, Cardinality.SINGLE, 0, 1, false, 
false,
+            new AtlasAttributeDef("manyA", 
AtlasBaseTypeDef.getArrayTypeName("A"), true, Cardinality.SINGLE, 0, 1, false, 
false, false,
                 Collections.<AtlasConstraintDef>singletonList(new 
AtlasConstraintDef(
                     AtlasConstraintDef.CONSTRAINT_TYPE_INVERSE_REF, 
Collections.<String, 
Object>singletonMap(AtlasConstraintDef.CONSTRAINT_PARAM_ATTRIBUTE, "oneB")))),
-            new AtlasAttributeDef("manyToManyA", 
AtlasBaseTypeDef.getArrayTypeName("A"), true, Cardinality.SINGLE, 0, 1, false, 
false,
+            new AtlasAttributeDef("manyToManyA", 
AtlasBaseTypeDef.getArrayTypeName("A"), true, Cardinality.SINGLE, 0, 1, false, 
false, false,
                 Collections.<AtlasConstraintDef>singletonList(new 
AtlasConstraintDef(
                     AtlasConstraintDef.CONSTRAINT_TYPE_INVERSE_REF, 
Collections.<String, 
Object>singletonMap(AtlasConstraintDef.CONSTRAINT_PARAM_ATTRIBUTE, "manyB")))),
-            new AtlasAttributeDef("mappedFromA", "A", true, 
Cardinality.SINGLE, 0, 1, false, false, 
Collections.<AtlasConstraintDef>emptyList()));
+            new AtlasAttributeDef("mappedFromA", "A", true, 
Cardinality.SINGLE, 0, 1, false, false, false, 
Collections.<AtlasConstraintDef>emptyList()));
 
         AtlasTypesDef ret = new 
AtlasTypesDef(Collections.<AtlasEnumDef>emptyList(), 
Collections.<AtlasStructDef>emptyList(), 
Collections.<AtlasClassificationDef>emptyList(), Arrays.asList(aDef, bDef));
 
@@ -208,7 +208,7 @@ public final class TestUtilsV2 {
                         AtlasTypeUtil.createUniqueRequiredAttrDef("name", 
"string"),
                         AtlasTypeUtil.createOptionalAttrDef("dep-code", 
"string"),
                         new AtlasAttributeDef("employees", 
String.format("array<%s>", "Employee"), true,
-                                AtlasAttributeDef.Cardinality.SINGLE, 0, 1, 
false, false,
+                                AtlasAttributeDef.Cardinality.SINGLE, 0, 1, 
false, false, false,
                             new ArrayList<AtlasStructDef.AtlasConstraintDef>() 
{{
                                 add(new 
AtlasStructDef.AtlasConstraintDef(AtlasConstraintDef.CONSTRAINT_TYPE_OWNED_REF));
                             }}));
@@ -234,11 +234,11 @@ public final class TestUtilsV2 {
                 AtlasTypeUtil.createOptionalAttrDef("empCode", "string"),
                 new AtlasAttributeDef("department", "Department", false,
                         AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                        false, false,
+                        false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()),
                 new AtlasAttributeDef("manager", "Manager", true,
                         AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                        false, false,
+                        false, false, false,
                     new ArrayList<AtlasConstraintDef>() {{
                         add(new AtlasConstraintDef(
                             AtlasConstraintDef.CONSTRAINT_TYPE_INVERSE_REF, 
new HashMap<String, Object>() {{
@@ -247,7 +247,7 @@ public final class TestUtilsV2 {
                     }}),
                 new AtlasAttributeDef("mentor", EMPLOYEE_TYPE, true,
                         AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                        false, false,
+                        false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()),
                 AtlasTypeUtil.createOptionalAttrDef("shares", "long"),
                 AtlasTypeUtil.createOptionalAttrDef("salary", "double")
@@ -257,7 +257,7 @@ public final class TestUtilsV2 {
         AtlasEntityDef managerTypeDef = 
AtlasTypeUtil.createClassTypeDef("Manager", "Manager"+_description,
                 Collections.singleton("Employee"),
                 new AtlasAttributeDef("subordinates", 
String.format("array<%s>", "Employee"), false, 
AtlasAttributeDef.Cardinality.SET,
-                        1, 10, false, false,
+                        1, 10, false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()));
 
         AtlasClassificationDef securityClearanceTypeDef =
@@ -296,7 +296,7 @@ public final class TestUtilsV2 {
                         AtlasTypeUtil.createRequiredAttrDef("name", "string"),
                         AtlasTypeUtil.createRequiredAttrDef("dep-code", 
"string"),
                         new AtlasAttributeDef("employees", 
String.format("array<%s>", "Person"), true,
-                                AtlasAttributeDef.Cardinality.SINGLE, 0, 1, 
false, false,
+                                AtlasAttributeDef.Cardinality.SINGLE, 0, 1, 
false, false, false,
                             new ArrayList<AtlasStructDef.AtlasConstraintDef>() 
{{
                                 add(new 
AtlasStructDef.AtlasConstraintDef(AtlasConstraintDef.CONSTRAINT_TYPE_OWNED_REF));
                             }}));
@@ -308,11 +308,11 @@ public final class TestUtilsV2 {
                 AtlasTypeUtil.createOptionalAttrDef("address", "Address"),
                 new AtlasAttributeDef("department", "Department", false,
                         AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                        false, false,
+                        false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()),
                 new AtlasAttributeDef("manager", "Manager", true,
                         AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                        false, false,
+                        false, false, false,
                     new ArrayList<AtlasConstraintDef>() {{
                         add(new AtlasConstraintDef(
                             AtlasConstraintDef.CONSTRAINT_TYPE_INVERSE_REF, 
new HashMap<String, Object>() {{
@@ -321,7 +321,7 @@ public final class TestUtilsV2 {
                     }}),
                 new AtlasAttributeDef("mentor", "Person", true,
                         AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                        false, false,
+                        false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()),
                 AtlasTypeUtil.createOptionalAttrDef("birthday", "date"),
                 AtlasTypeUtil.createOptionalAttrDef("hasPets", "boolean"),
@@ -645,7 +645,7 @@ public final class TestUtilsV2 {
                         new AtlasAttributeDef("table", TABLE_TYPE,
                         true,
                         AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                        false, false,
+                        false, false, false,
                         new ArrayList<AtlasStructDef.AtlasConstraintDef>() {{
                             add(new AtlasStructDef.AtlasConstraintDef(
                                 
AtlasConstraintDef.CONSTRAINT_TYPE_INVERSE_REF, new HashMap<String, Object>() {{
@@ -660,23 +660,23 @@ public final class TestUtilsV2 {
         AtlasAttributeDef[] attributeDefinitions = new AtlasAttributeDef[]{
                 new AtlasAttributeDef("location", "string", true,
                         AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                        false, false,
+                        false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()),
                 new AtlasAttributeDef("inputFormat", "string", true,
                         AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                        false, false,
+                        false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()),
                 new AtlasAttributeDef("outputFormat", "string", true,
                         AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                        false, false,
+                        false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()),
                 new AtlasAttributeDef("compressed", "boolean", false,
                         AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                        false, false,
+                        false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()),
                 new AtlasAttributeDef("numBuckets", "int", true,
                         AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                        false, false,
+                        false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()),
         };
 
@@ -688,32 +688,32 @@ public final class TestUtilsV2 {
                 new AtlasAttributeDef("values", "array<string>",
                         true,
                         AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                        false, false,
+                        false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()),
                 new AtlasAttributeDef("table", TABLE_TYPE, true,
                         AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                        false, false,
+                        false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()),
                 new AtlasAttributeDef("createTime", "long", true,
                         AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                        false, false,
+                        false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()),
                 new AtlasAttributeDef("lastAccessTime", "long", true,
                         AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                        false, false,
+                        false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()),
                 new AtlasAttributeDef("sd", STORAGE_DESC_TYPE, false,
                         AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                        false, false,
+                        false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()),
                 new AtlasAttributeDef("columns", String.format("array<%s>", 
COLUMN_TYPE),
                         true,
                         AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                        false, false,
+                        false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()),
                 new AtlasAttributeDef("parameters", 
String.format("map<%s,%s>", "string", "string"), true,
                         AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                        false, false,
+                        false, false, false,
                         Collections.<AtlasConstraintDef>emptyList())};
 
         AtlasEntityDef partClsDef =
@@ -724,7 +724,7 @@ public final class TestUtilsV2 {
                 new AtlasEntityDef(PROCESS_TYPE, PROCESS_TYPE + _description, 
"1.0",
                         Arrays.asList(new AtlasAttributeDef("outputs", 
"array<" + TABLE_TYPE + ">", true,
                                 AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList())),
                         Collections.<String>emptySet());
 
@@ -737,19 +737,19 @@ public final class TestUtilsV2 {
                         // enum
                         new AtlasAttributeDef("tableType", "tableType", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         // array of strings
                         new AtlasAttributeDef("columnNames",
                                 String.format("array<%s>", "string"), true,
                                 AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         // array of classes
                         new AtlasAttributeDef("columns", 
String.format("array<%s>", COLUMN_TYPE),
                                 true,
                                 AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                                false, false,
+                                false, false, false,
                                 new 
ArrayList<AtlasStructDef.AtlasConstraintDef>() {{
                                     add(new 
AtlasStructDef.AtlasConstraintDef(AtlasConstraintDef.CONSTRAINT_TYPE_OWNED_REF));
                                 }}),
@@ -757,20 +757,20 @@ public final class TestUtilsV2 {
                         new AtlasAttributeDef("partitions", 
String.format("array<%s>", "partition_struct_type"),
                                 true,
                                 AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         // map of primitives
                         new AtlasAttributeDef("parametersMap", 
String.format("map<%s,%s>", "string", "string"),
                                 true,
                                 AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         //map of classes -
                         new AtlasAttributeDef(COLUMNS_MAP,
                                 String.format("map<%s,%s>", "string", 
COLUMN_TYPE),
                                 true,
                                 AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                                false, false,
+                                false, false, false,
                                  new 
ArrayList<AtlasStructDef.AtlasConstraintDef>() {{
                                      add(new AtlasStructDef.AtlasConstraintDef(
                                              
AtlasConstraintDef.CONSTRAINT_TYPE_OWNED_REF));
@@ -781,26 +781,26 @@ public final class TestUtilsV2 {
                                 String.format("map<%s,%s>", "string", 
"partition_struct_type"),
                                 true,
                                 AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         // struct reference
                         new AtlasAttributeDef("serde1", "serdeType", true,
                                 AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         new AtlasAttributeDef("serde2", "serdeType", true,
                                 AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         // class reference
                         new AtlasAttributeDef("database", DATABASE_TYPE, false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         //class reference as composite
                         new AtlasAttributeDef("databaseComposite", 
DATABASE_TYPE, true,
                                 AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                                false, false,
+                                false, false, false,
                                 new 
ArrayList<AtlasStructDef.AtlasConstraintDef>() {{
                                     add(new AtlasStructDef.AtlasConstraintDef(
                                             
AtlasConstraintDef.CONSTRAINT_TYPE_OWNED_REF));
@@ -840,86 +840,86 @@ public final class TestUtilsV2 {
 
                         new AtlasAttributeDef("mapOfArrayOfStrings", 
"map<string,array<string>>", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         new AtlasAttributeDef("mapOfArrayOfBooleans", 
"map<string,array<boolean>>", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         new AtlasAttributeDef("mapOfArrayOfInts", 
"map<string,array<int>>", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         new AtlasAttributeDef("mapOfArrayOfFloats", 
"map<string,array<float>>", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         new AtlasAttributeDef("mapOfArrayOfDates", 
"map<string,array<date>>", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
 
                         new AtlasAttributeDef("mapOfMapOfStrings", 
"map<string,map<string,string>>", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         new AtlasAttributeDef("mapOfMapOfBooleans", 
"map<string,map<string,boolean>>", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         new AtlasAttributeDef("mapOfMapOfInts", 
"map<string,map<string,int>>", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         new AtlasAttributeDef("mapOfMapOfFloats", 
"map<string,map<string,float>>", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         new AtlasAttributeDef("mapOfMapOfDates", 
"map<string,map<string,date>>", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
 
                         new AtlasAttributeDef("arrayOfArrayOfStrings", 
"array<array<string>>", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         new AtlasAttributeDef("arrayOfArrayOfBooleans", 
"array<array<boolean>>", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         new AtlasAttributeDef("arrayOfArrayOfInts", 
"array<array<int>>", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         new AtlasAttributeDef("arrayOfArrayOfFloats", 
"array<array<float>>", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         new AtlasAttributeDef("arrayOfArrayOfDates", 
"array<array<date>>", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
 
                         new AtlasAttributeDef("arrayOfMapOfStrings", 
"array<map<string,string>>", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         new AtlasAttributeDef("arrayOfMapOfBooleans", 
"array<map<string,boolean>>", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         new AtlasAttributeDef("arrayOfMapOfInts", 
"array<map<string,int>>", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         new AtlasAttributeDef("arrayOfMapOfFloats", 
"array<map<string,float>>", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList()),
                         new AtlasAttributeDef("arrayOfMapOfDates", 
"array<map<string,date>>", false,
                                 AtlasAttributeDef.Cardinality.SINGLE, 1, 1,
-                                false, false,
+                                false, false, false,
                                 Collections.<AtlasConstraintDef>emptyList())
                 );
 
@@ -1179,7 +1179,7 @@ public final class TestUtilsV2 {
     public static List<AtlasEntityDef> getEntityWithValidSuperType() {
         AtlasEntityDef developerTypeDef = 
AtlasTypeUtil.createClassTypeDef("Developer", "Developer_description", 
Collections.singleton("Employee"),
                 new AtlasAttributeDef("language", String.format("array<%s>", 
"string"), false, AtlasAttributeDef.Cardinality.SET,
-                        1, 10, false, false,
+                        1, 10, false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()));
 
         List<AtlasEntityDef> ret = Arrays.asList(developerTypeDef);
@@ -1192,7 +1192,7 @@ public final class TestUtilsV2 {
     public static List<AtlasEntityDef> getEntityWithName(String name) {
         AtlasEntityDef developerTypeDef = 
AtlasTypeUtil.createClassTypeDef(name, "Developer_description", 
Collections.<String>emptySet(),
                 new AtlasAttributeDef("language", String.format("array<%s>", 
"string"), false, AtlasAttributeDef.Cardinality.SET,
-                        1, 10, false, false,
+                        1, 10, false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()));
 
         List<AtlasEntityDef> ret = Arrays.asList(developerTypeDef);
@@ -1205,7 +1205,7 @@ public final class TestUtilsV2 {
     public static AtlasEntityDef getSingleEntityWithName(String name) {
         AtlasEntityDef developerTypeDef = 
AtlasTypeUtil.createClassTypeDef(name, "Developer_description", 
Collections.<String>emptySet(),
                 new AtlasAttributeDef("language", String.format("array<%s>", 
"string"), false, AtlasAttributeDef.Cardinality.SET,
-                        1, 10, false, false,
+                        1, 10, false, false, false,
                         Collections.<AtlasConstraintDef>emptyList()));
 
         return developerTypeDef;

http://git-wip-us.apache.org/repos/asf/atlas/blob/570f2423/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 eb58b5e..7eda7e2 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
@@ -56,13 +56,6 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
-import static org.apache.atlas.EntityAuditEvent.EntityAuditAction.TAG_ADD;
-import static org.apache.atlas.EntityAuditEvent.EntityAuditAction.TAG_DELETE;
-import static org.apache.atlas.EntityAuditEvent.EntityAuditAction.TAG_UPDATE;
-import static 
org.apache.atlas.model.audit.EntityAuditEventV2.EntityAuditAction.CLASSIFICATION_DELETE;
-import static 
org.apache.atlas.model.audit.EntityAuditEventV2.EntityAuditAction.CLASSIFICATION_UPDATE;
-import static 
org.apache.atlas.v1.model.notification.EntityNotificationV2.OperationType.CLASSIFICATION_ADD;
-
 @Singleton
 @Component
 public class AtlasInstanceConverter {

http://git-wip-us.apache.org/repos/asf/atlas/blob/570f2423/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasStructDefStoreV1.java
----------------------------------------------------------------------
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasStructDefStoreV1.java
 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasStructDefStoreV1.java
index 44fb95f..cf1d307 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasStructDefStoreV1.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasStructDefStoreV1.java
@@ -480,6 +480,7 @@ public class AtlasStructDefStoreV1 extends 
AtlasAbstractDefStoreV1<AtlasStructDe
         attribInfo.put("dataType", attributeDef.getTypeName());
         attribInfo.put("isUnique", attributeDef.getIsUnique());
         attribInfo.put("isIndexable", attributeDef.getIsIndexable());
+        attribInfo.put("includeInNotification", 
attributeDef.getIncludeInNotification());
         attribInfo.put("isComposite", attribute.isOwnedRef());
         attribInfo.put("reverseAttributeName", 
attribute.getInverseRefAttributeName());
         attribInfo.put("defaultValue", attributeDef.getDefaultValue());
@@ -522,6 +523,7 @@ public class AtlasStructDefStoreV1 extends 
AtlasAbstractDefStoreV1<AtlasStructDe
         ret.setTypeName((String) attribInfo.get("dataType"));
         ret.setIsUnique((Boolean) attribInfo.get("isUnique"));
         ret.setIsIndexable((Boolean) attribInfo.get("isIndexable"));
+        ret.setIncludeInNotification((Boolean) 
attribInfo.get("includeInNotification"));
         ret.setDefaultValue((String) attribInfo.get("defaultValue"));
         ret.setDescription((String) attribInfo.get("description"));
 

http://git-wip-us.apache.org/repos/asf/atlas/blob/570f2423/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/EntityGraphRetriever.java
----------------------------------------------------------------------
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/EntityGraphRetriever.java
 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/EntityGraphRetriever.java
index c7a61a2..0d65471 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/EntityGraphRetriever.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v1/EntityGraphRetriever.java
@@ -118,12 +118,12 @@ public final class EntityGraphRetriever {
     private static final String TERM_RELATION_NAME = 
"AtlasGlossarySemanticAssignment";
     private static final String GLOSSARY_TERM_DISPLAY_NAME_ATTR = 
"AtlasGlossaryTerm.displayName";
 
-    private final String NAME           = "name";
-    private final String DISPLAY_NAME   = "displayName";
-    private final String DESCRIPTION    = "description";
-    private final String OWNER          = "owner";
-    private final String CREATE_TIME    = "createTime";
-    private final String QUALIFIED_NAME = "qualifiedName";
+    public static final String NAME           = "name";
+    public static final String DISPLAY_NAME   = "displayName";
+    public static final String DESCRIPTION    = "description";
+    public static final String OWNER          = "owner";
+    public static final String CREATE_TIME    = "createTime";
+    public static final String QUALIFIED_NAME = "qualifiedName";
 
     private static final TypeReference<List<TimeBoundary>> 
TIME_BOUNDARIES_LIST_TYPE = new TypeReference<List<TimeBoundary>>() {};
     private static final GraphHelper graphHelper = GraphHelper.getInstance();

http://git-wip-us.apache.org/repos/asf/atlas/blob/570f2423/repository/src/test/java/org/apache/atlas/repository/store/graph/AtlasTypeDefGraphStoreTest.java
----------------------------------------------------------------------
diff --git 
a/repository/src/test/java/org/apache/atlas/repository/store/graph/AtlasTypeDefGraphStoreTest.java
 
b/repository/src/test/java/org/apache/atlas/repository/store/graph/AtlasTypeDefGraphStoreTest.java
index 26f3165..9fcef6f 100644
--- 
a/repository/src/test/java/org/apache/atlas/repository/store/graph/AtlasTypeDefGraphStoreTest.java
+++ 
b/repository/src/test/java/org/apache/atlas/repository/store/graph/AtlasTypeDefGraphStoreTest.java
@@ -570,7 +570,7 @@ public class AtlasTypeDefGraphStoreTest {
         AtlasClassificationDef aTag = new AtlasClassificationDef("testTag");
         AtlasAttributeDef attributeDef = new 
AtlasAttributeDef("testAttribute", "string", true,
                 AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                false, true,
+                false, true, false,
                 Collections.<AtlasStructDef.AtlasConstraintDef>emptyList());
         aTag.addAttribute(attributeDef);
 
@@ -592,7 +592,7 @@ public class AtlasTypeDefGraphStoreTest {
         aTag = new AtlasClassificationDef("testTag");
         attributeDef = new AtlasAttributeDef("testAttribute", "int", true,
                 AtlasAttributeDef.Cardinality.SINGLE, 0, 1,
-                false, true,
+                false, true, false,
                 Collections.<AtlasStructDef.AtlasConstraintDef>emptyList());
         aTag.addAttribute(attributeDef);
         typesDef.setClassificationDefs(Arrays.asList(aTag));

http://git-wip-us.apache.org/repos/asf/atlas/blob/570f2423/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 b46a1b7..0913e6f 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
@@ -1007,7 +1007,7 @@ public class AtlasEntityStoreV1Test {
     private AtlasClassificationDef getTagWithName(AtlasTypesDef typesDef, 
String tagName, String attributeType) {
         AtlasClassificationDef aTag = new AtlasClassificationDef(tagName);
         AtlasAttributeDef attributeDef = new 
AtlasAttributeDef("testAttribute", attributeType, true,
-                AtlasAttributeDef.Cardinality.SINGLE, 0, 1, false, true,
+                AtlasAttributeDef.Cardinality.SINGLE, 0, 1, false, true, false,
                 Collections.emptyList());
 
         aTag.addAttribute(attributeDef);

http://git-wip-us.apache.org/repos/asf/atlas/blob/570f2423/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 ab17ae4..9de49d4 100644
--- 
a/webapp/src/main/java/org/apache/atlas/notification/EntityNotificationListenerV2.java
+++ 
b/webapp/src/main/java/org/apache/atlas/notification/EntityNotificationListenerV2.java
@@ -23,10 +23,13 @@ import org.apache.atlas.exception.AtlasBaseException;
 import org.apache.atlas.listener.EntityChangeListenerV2;
 import org.apache.atlas.model.instance.AtlasClassification;
 import org.apache.atlas.model.instance.AtlasEntity;
+import org.apache.atlas.model.instance.AtlasEntityHeader;
+import 
org.apache.atlas.model.notification.EntityNotification.EntityNotificationV2;
+import 
org.apache.atlas.model.notification.EntityNotification.EntityNotificationV2.OperationType;
 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.atlas.v1.model.notification.EntityNotificationV2;
-import 
org.apache.atlas.v1.model.notification.EntityNotificationV2.OperationType;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.configuration.Configuration;
@@ -34,26 +37,25 @@ import org.springframework.stereotype.Component;
 
 import javax.inject.Inject;
 import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import static 
org.apache.atlas.notification.NotificationEntityChangeListener.ATLAS_ENTITY_NOTIFICATION_PROPERTY;
 import static 
org.apache.atlas.notification.NotificationInterface.NotificationType.ENTITIES;
 import static org.apache.atlas.repository.graph.GraphHelper.isInternalType;
-import static 
org.apache.atlas.v1.model.notification.EntityNotificationV2.OperationType.*;
+import static 
org.apache.atlas.model.notification.EntityNotification.EntityNotificationV2.OperationType.*;
+import static 
org.apache.atlas.repository.store.graph.v1.EntityGraphRetriever.CREATE_TIME;
+import static 
org.apache.atlas.repository.store.graph.v1.EntityGraphRetriever.DESCRIPTION;
+import static 
org.apache.atlas.repository.store.graph.v1.EntityGraphRetriever.NAME;
+import static 
org.apache.atlas.repository.store.graph.v1.EntityGraphRetriever.OWNER;
+import static 
org.apache.atlas.repository.store.graph.v1.EntityGraphRetriever.QUALIFIED_NAME;
 
 @Component
 public class EntityNotificationListenerV2 implements EntityChangeListenerV2 {
-    private final AtlasTypeRegistry         typeRegistry;
-    private final NotificationInterface     notificationInterface;
-    private final Configuration             configuration;
-    private final Map<String, List<String>> notificationAttributesCache = new 
HashMap<>();
+    private final AtlasTypeRegistry     typeRegistry;
+    private final NotificationInterface notificationInterface;
 
     @Inject
     public EntityNotificationListenerV2(AtlasTypeRegistry typeRegistry,
@@ -61,7 +63,6 @@ public class EntityNotificationListenerV2 implements 
EntityChangeListenerV2 {
                                         Configuration configuration) {
         this.typeRegistry          = typeRegistry;
         this.notificationInterface = notificationInterface;
-        this.configuration = configuration;
     }
 
     @Override
@@ -109,9 +110,7 @@ public class EntityNotificationListenerV2 implements 
EntityChangeListenerV2 {
                 continue;
             }
 
-            filterNotificationAttributes(entity);
-
-            messages.add(new EntityNotificationV2(entity, operationType, 
getAllClassifications(entity)));
+            messages.add(new 
EntityNotificationV2(toNotificationHeader(entity), operationType));
         }
 
         if (!messages.isEmpty()) {
@@ -123,14 +122,60 @@ public class EntityNotificationListenerV2 implements 
EntityChangeListenerV2 {
         }
     }
 
-    private List<AtlasClassification> getAllClassifications(AtlasEntity 
entity) {
-        List<AtlasClassification> ret = 
getAllClassifications(entity.getClassifications(), typeRegistry);
+    private AtlasEntityHeader toNotificationHeader(AtlasEntity entity) {
+        AtlasEntityHeader ret         = new 
AtlasEntityHeader(entity.getTypeName(), entity.getGuid(), new HashMap<>());
+        Object            name        = entity.getAttribute(NAME);
+        Object            displayText = name != null ? name : 
entity.getAttribute(QUALIFIED_NAME);
+
+        ret.setGuid(entity.getGuid());
+        ret.setStatus(entity.getStatus());
+        setAttribute(ret, NAME, name);
+        setAttribute(ret, DESCRIPTION, entity.getAttribute(DESCRIPTION));
+        setAttribute(ret, OWNER, entity.getAttribute(OWNER));
+        setAttribute(ret, CREATE_TIME, entity.getAttribute(CREATE_TIME));
+
+        if (displayText != null) {
+            ret.setDisplayText(displayText.toString());
+        }
+
+        AtlasEntityType entityType = 
typeRegistry.getEntityTypeByName(entity.getTypeName());
+
+        if (entityType != null) {
+            for (AtlasAttribute attribute : 
entityType.getAllAttributes().values()) {
+                if (attribute.getAttributeDef().getIsUnique() || 
attribute.getAttributeDef().getIncludeInNotification()) {
+                    Object attrValue = 
entity.getAttribute(attribute.getName());
+
+                    if (attrValue != null) {
+                        ret.setAttribute(attribute.getName(), attrValue);
+                    }
+                }
+            }
+
+            if (CollectionUtils.isNotEmpty(entity.getClassifications())) {
+                List<AtlasClassification> classifications     = new 
ArrayList<>(entity.getClassifications().size());
+                List<String>              classificationNames = new 
ArrayList<>(entity.getClassifications().size());
+
+                for (AtlasClassification classification : 
getAllClassifications(entity.getClassifications())) {
+                    classifications.add(classification);
+                    classificationNames.add(classification.getTypeName());
+                }
+
+                ret.setClassifications(classifications);
+                ret.setClassificationNames(classificationNames);
+            }
+        }
 
         return ret;
     }
 
-    private static List<AtlasClassification> 
getAllClassifications(List<AtlasClassification> classifications, 
AtlasTypeRegistry typeRegistry) {
-        List<AtlasClassification> ret = new LinkedList<>();
+    private void setAttribute(AtlasEntityHeader entity, String attrName, 
Object attrValue) {
+        if (attrValue != null) {
+            entity.setAttribute(attrName, attrValue);
+        }
+    }
+
+    private List<AtlasClassification> 
getAllClassifications(List<AtlasClassification> classifications) {
+        List<AtlasClassification> ret = new ArrayList<>();
 
         if (CollectionUtils.isNotEmpty(classifications)) {
             for (AtlasClassification classification : classifications) {
@@ -172,36 +217,4 @@ public class EntityNotificationListenerV2 implements 
EntityChangeListenerV2 {
 
         return ret;
     }
-
-    private void filterNotificationAttributes(AtlasEntity entity) {
-        Map<String, Object> attributesMap     = entity.getAttributes();
-        List<String>        notificationAttrs = 
getNotificationAttributes(entity.getTypeName());
-
-        if (MapUtils.isNotEmpty(attributesMap) && 
CollectionUtils.isNotEmpty(notificationAttrs)) {
-            Collection<String> attributesToRemove = 
CollectionUtils.subtract(attributesMap.keySet(), notificationAttrs);
-
-            for (String attributeToRemove : attributesToRemove) {
-                attributesMap.remove(attributeToRemove);
-            }
-        }
-    }
-
-    private List<String> getNotificationAttributes(String entityType) {
-        List<String> ret = null;
-
-        if (notificationAttributesCache.containsKey(entityType)) {
-            ret = notificationAttributesCache.get(entityType);
-        } else if (configuration != null) {
-            String attributesToIncludeKey = ATLAS_ENTITY_NOTIFICATION_PROPERTY 
+ "." + entityType + "." + "attributes.include";
-            String[] notificationAttributes = 
configuration.getStringArray(attributesToIncludeKey);
-
-            if (notificationAttributes != null) {
-                ret = Arrays.asList(notificationAttributes);
-            }
-
-            notificationAttributesCache.put(entityType, ret);
-        }
-
-        return ret;
-    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/atlas/blob/570f2423/webapp/src/test/java/org/apache/atlas/web/integration/BaseResourceIT.java
----------------------------------------------------------------------
diff --git 
a/webapp/src/test/java/org/apache/atlas/web/integration/BaseResourceIT.java 
b/webapp/src/test/java/org/apache/atlas/web/integration/BaseResourceIT.java
index 6f6a7ee..efa5139 100755
--- a/webapp/src/test/java/org/apache/atlas/web/integration/BaseResourceIT.java
+++ b/webapp/src/test/java/org/apache/atlas/web/integration/BaseResourceIT.java
@@ -379,7 +379,7 @@ public abstract class BaseResourceIT {
                         AtlasBaseTypeDef.getArrayTypeName(HIVE_TABLE_TYPE_V2),
                         true,
                         Cardinality.SET,
-                        0, -1, false, true, 
Collections.singletonList(isCompositeSourceConstraint))
+                        0, -1, false, true, false, 
Collections.singletonList(isCompositeSourceConstraint))
         );
 
         AtlasEntityDef columnClsDef = AtlasTypeUtil
@@ -409,7 +409,7 @@ public abstract class BaseResourceIT {
                                 DATABASE_TYPE_V2,
                                 true,
                                 Cardinality.SINGLE,
-                                0, 1, false, true, 
Collections.singletonList(isCompositeTargetConstraint)),
+                                0, 1, false, true, false, 
Collections.singletonList(isCompositeTargetConstraint)),
 
                         //some tests don't set the columns field or set it to 
null...
                         AtlasTypeUtil.createOptionalAttrDef("columns", 
AtlasBaseTypeDef.getArrayTypeName(COLUMN_TYPE_V2)),

http://git-wip-us.apache.org/repos/asf/atlas/blob/570f2423/webapp/src/test/java/org/apache/atlas/web/integration/TypedefsJerseyResourceIT.java
----------------------------------------------------------------------
diff --git 
a/webapp/src/test/java/org/apache/atlas/web/integration/TypedefsJerseyResourceIT.java
 
b/webapp/src/test/java/org/apache/atlas/web/integration/TypedefsJerseyResourceIT.java
index 5ee8d30..219b4e3 100644
--- 
a/webapp/src/test/java/org/apache/atlas/web/integration/TypedefsJerseyResourceIT.java
+++ 
b/webapp/src/test/java/org/apache/atlas/web/integration/TypedefsJerseyResourceIT.java
@@ -314,7 +314,7 @@ public class TypedefsJerseyResourceIT extends 
BaseResourceIT {
                         new AtlasAttributeDef("database", "database",
                                 false,
                                 Cardinality.SINGLE, 1, 1,
-                                true, true,
+                                true, true, false,
                                 Collections.<AtlasConstraintDef>emptyList()));
         atlasTypesDef.getEntityDefs().add(tableTypeDefinition);
 

Reply via email to