You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by sa...@apache.org on 2018/04/20 22:14:48 UTC
atlas git commit: ATLAS-2590: Tag Propagation : Editing tag
attributes without specifying propagate flag value
Repository: atlas
Updated Branches:
refs/heads/master b03c24840 -> fa9899199
ATLAS-2590: Tag Propagation : Editing tag attributes without specifying propagate flag value
Project: http://git-wip-us.apache.org/repos/asf/atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/fa989919
Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/fa989919
Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/fa989919
Branch: refs/heads/master
Commit: fa98991998efa9e18628c76a58ed37f6abbf2e99
Parents: b03c248
Author: Sarath Subramanian <ss...@hortonworks.com>
Authored: Fri Apr 20 15:14:30 2018 -0700
Committer: Sarath Subramanian <ss...@hortonworks.com>
Committed: Fri Apr 20 15:14:30 2018 -0700
----------------------------------------------------------------------
.../atlas/model/instance/AtlasClassification.java | 8 ++++----
.../store/graph/v1/EntityGraphMapper.java | 16 +++++++++++-----
.../web/integration/EntityV2JerseyResourceIT.java | 1 +
3 files changed, 16 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/atlas/blob/fa989919/intg/src/main/java/org/apache/atlas/model/instance/AtlasClassification.java
----------------------------------------------------------------------
diff --git a/intg/src/main/java/org/apache/atlas/model/instance/AtlasClassification.java b/intg/src/main/java/org/apache/atlas/model/instance/AtlasClassification.java
index bf4f469..f73f36e 100644
--- a/intg/src/main/java/org/apache/atlas/model/instance/AtlasClassification.java
+++ b/intg/src/main/java/org/apache/atlas/model/instance/AtlasClassification.java
@@ -54,7 +54,7 @@ public class AtlasClassification extends AtlasStruct implements Serializable {
private static final long serialVersionUID = 1L;
private String entityGuid = null;
- private boolean propagate = true;
+ private Boolean propagate = null;
private List<TimeBoundary> validityPeriods = null;
public enum PropagationState { ACTIVE, DELETED }
@@ -94,11 +94,11 @@ public class AtlasClassification extends AtlasStruct implements Serializable {
this.entityGuid = entityGuid;
}
- public boolean isPropagate() {
+ public Boolean isPropagate() {
return propagate;
}
- public void setPropagate(boolean propagate) {
+ public void setPropagate(Boolean propagate) {
this.propagate = propagate;
}
@@ -129,7 +129,7 @@ public class AtlasClassification extends AtlasStruct implements Serializable {
if (o == null || getClass() != o.getClass()) { return false; }
if (!super.equals(o)) { return false; }
AtlasClassification that = (AtlasClassification) o;
- return propagate == that.propagate &&
+ return Objects.equals(propagate, that.propagate) &&
Objects.equals(entityGuid, that.entityGuid) &&
Objects.equals(validityPeriods, that.validityPeriods);
}
http://git-wip-us.apache.org/repos/asf/atlas/blob/fa989919/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 33b5896..4225a80 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
@@ -1328,7 +1328,11 @@ public class EntityGraphMapper {
for (AtlasClassification classification : classifications) {
String classificationName = classification.getTypeName();
- boolean propagateTags = classification.isPropagate();
+ Boolean propagateTags = classification.isPropagate();
+
+ if (propagateTags == null) {
+ propagateTags = true;
+ }
// set associated entity id to classification
classification.setEntityGuid(guid);
@@ -1554,11 +1558,11 @@ public class EntityGraphMapper {
mapClassification(EntityOperation.UPDATE, context, classification, entityType, entityVertex, classificationVertex);
// handle update of 'propagate' flag
- boolean currentTagPropagation = currentClassification.isPropagate();
- boolean updatedTagPropagation = classification.isPropagate();
+ Boolean currentTagPropagation = currentClassification.isPropagate();
+ Boolean updatedTagPropagation = classification.isPropagate();
// compute propagatedEntityVertices once and use it for subsequent iterations and notifications
- if (currentTagPropagation != updatedTagPropagation) {
+ if (updatedTagPropagation != null && currentTagPropagation != updatedTagPropagation) {
if (updatedTagPropagation) {
if (CollectionUtils.isEmpty(entitiesToPropagateTo)) {
entitiesToPropagateTo = graphHelper.getImpactedVertices(guid);
@@ -1687,7 +1691,9 @@ public class EntityGraphMapper {
// if 'null', don't update existing value in the classification
}
- AtlasGraphUtilsV1.setProperty(traitInstanceVertex, Constants.CLASSIFICATION_VERTEX_PROPAGATE_KEY, classification.isPropagate());
+ if (classification.isPropagate() != null) {
+ AtlasGraphUtilsV1.setProperty(traitInstanceVertex, Constants.CLASSIFICATION_VERTEX_PROPAGATE_KEY, classification.isPropagate());
+ }
// map all the attributes to this newly created AtlasVertex
mapAttributes(classification, traitInstanceVertex, operation, context);
http://git-wip-us.apache.org/repos/asf/atlas/blob/fa989919/webapp/src/test/java/org/apache/atlas/web/integration/EntityV2JerseyResourceIT.java
----------------------------------------------------------------------
diff --git a/webapp/src/test/java/org/apache/atlas/web/integration/EntityV2JerseyResourceIT.java b/webapp/src/test/java/org/apache/atlas/web/integration/EntityV2JerseyResourceIT.java
index 483e4e2..d50db06 100755
--- a/webapp/src/test/java/org/apache/atlas/web/integration/EntityV2JerseyResourceIT.java
+++ b/webapp/src/test/java/org/apache/atlas/web/integration/EntityV2JerseyResourceIT.java
@@ -464,6 +464,7 @@ public class EntityV2JerseyResourceIT extends BaseResourceIT {
classification.setEntityGuid(tableGuid);
classification.addValityPeriod(validityPeriod);
+ classification.setPropagate(true);
atlasClientV2.addClassifications(tableGuid, Collections.singletonList(classification));