Repository: atlas
Updated Branches:
  refs/heads/master efe0935eb -> b6bbe7d8a


ATLAS-2633: Tag Propagation , V2 notifications : When propagate value is 
switched from False to True , 'CLASSIFICATION_UPDATE' notification is sent 
instead of 'CLASSIFICATION_ADD'


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

Branch: refs/heads/master
Commit: b6bbe7d8a57ded52e9116730d10bb2c1453d413e
Parents: efe0935
Author: Sarath Subramanian <[email protected]>
Authored: Tue May 1 12:30:47 2018 -0700
Committer: Sarath Subramanian <[email protected]>
Committed: Tue May 1 12:30:47 2018 -0700

----------------------------------------------------------------------
 .../atlas/notification/EntityNotificationListenerV2.java  | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/atlas/blob/b6bbe7d8/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 1fb032a..ab17ae4 100644
--- 
a/webapp/src/main/java/org/apache/atlas/notification/EntityNotificationListenerV2.java
+++ 
b/webapp/src/main/java/org/apache/atlas/notification/EntityNotificationListenerV2.java
@@ -18,6 +18,7 @@
 package org.apache.atlas.notification;
 
 import org.apache.atlas.AtlasErrorCode;
+import org.apache.atlas.RequestContextV1;
 import org.apache.atlas.exception.AtlasBaseException;
 import org.apache.atlas.listener.EntityChangeListenerV2;
 import org.apache.atlas.model.instance.AtlasClassification;
@@ -85,7 +86,14 @@ public class EntityNotificationListenerV2 implements 
EntityChangeListenerV2 {
 
     @Override
     public void onClassificationsUpdated(AtlasEntity entity, 
List<AtlasClassification> classifications) throws AtlasBaseException {
-        notifyEntityEvents(Collections.singletonList(entity), 
CLASSIFICATION_UPDATE);
+        Map<String, List<AtlasClassification>> addedPropagations   = 
RequestContextV1.get().getAddedPropagations();
+        Map<String, List<AtlasClassification>> removedPropagations = 
RequestContextV1.get().getRemovedPropagations();
+
+        if (addedPropagations.containsKey(entity.getGuid())) {
+            notifyEntityEvents(Collections.singletonList(entity), 
CLASSIFICATION_ADD);
+        } else if (!removedPropagations.containsKey(entity.getGuid())) {
+            notifyEntityEvents(Collections.singletonList(entity), 
CLASSIFICATION_UPDATE);
+        }
     }
 
     @Override

Reply via email to