ATLAS-1979: Update storm model relationship category and fix for UT and Coverity scan issues
Signed-off-by: Madhan Neethiraj <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/atlas/repo Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/13ba156f Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/13ba156f Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/13ba156f Branch: refs/heads/feature-odf Commit: 13ba156f1d76caaa969e2f6fd93e2387307ae7c7 Parents: e0fb7dc Author: Sarath Subramanian <[email protected]> Authored: Thu Jul 20 14:12:54 2017 -0700 Committer: Madhan Neethiraj <[email protected]> Committed: Thu Jul 20 19:03:40 2017 -0700 ---------------------------------------------------------------------- addons/models/0080-storm_model.json | 2 +- .../repository/store/graph/v1/EntityGraphMapper.java | 9 +++++++-- .../graph/ReverseReferenceUpdateSoftDeleteTest.java | 1 + .../store/graph/v1/AtlasRelationshipStoreV1Test.java | 10 +++++++--- 4 files changed, 16 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/atlas/blob/13ba156f/addons/models/0080-storm_model.json ---------------------------------------------------------------------- diff --git a/addons/models/0080-storm_model.json b/addons/models/0080-storm_model.json index b008c7a..ab3d603 100644 --- a/addons/models/0080-storm_model.json +++ b/addons/models/0080-storm_model.json @@ -147,7 +147,7 @@ { "name": "storm_topology_nodes", "typeVersion": "1.0", - "relationshipCategory": "ASSOCIATION", + "relationshipCategory": "AGGREGATION", "endDef1": { "type": "storm_topology", "name": "nodes", http://git-wip-us.apache.org/repos/asf/atlas/blob/13ba156f/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 1282be5..b8fd70e 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 @@ -1075,7 +1075,7 @@ public class EntityGraphMapper { String newEntityId = getIdFromVertex(newEntityVertex); AtlasEdge ret = currentEdge; - if (!currentEntityId.equals(newEntityId) && newEntityVertex != null) { + if (!currentEntityId.equals(newEntityId)) { // create a new relationship edge to the new attribute vertex from the instance String relationshipName = AtlasGraphUtilsV1.getTypeName(currentEdge); @@ -1230,6 +1230,11 @@ public class EntityGraphMapper { // get the classification vertex from entity String relationshipLabel = GraphHelper.getTraitLabel(entityTypeName, classification.getTypeName()); AtlasEdge classificationEdge = graphHelper.getEdgeForLabel(instanceVertex, relationshipLabel); + + if (classificationEdge == null) { + throw new AtlasBaseException(AtlasErrorCode.INVALID_VALUE, "classificationEdge is null for label: " + relationshipLabel); + } + AtlasVertex classificationVertex = classificationEdge.getInVertex(); if (LOG.isDebugEnabled()) { @@ -1363,7 +1368,7 @@ public class EntityGraphMapper { private boolean objectIdsContain(Collection<AtlasObjectId> objectIds, AtlasObjectId objectId) { boolean ret = false; - if (objectIds != null && objectIds.isEmpty()) { + if (CollectionUtils.isEmpty(objectIds)) { ret = false; } else { http://git-wip-us.apache.org/repos/asf/atlas/blob/13ba156f/repository/src/test/java/org/apache/atlas/repository/graph/ReverseReferenceUpdateSoftDeleteTest.java ---------------------------------------------------------------------- diff --git a/repository/src/test/java/org/apache/atlas/repository/graph/ReverseReferenceUpdateSoftDeleteTest.java b/repository/src/test/java/org/apache/atlas/repository/graph/ReverseReferenceUpdateSoftDeleteTest.java index c5eda37..ce43bdc 100644 --- a/repository/src/test/java/org/apache/atlas/repository/graph/ReverseReferenceUpdateSoftDeleteTest.java +++ b/repository/src/test/java/org/apache/atlas/repository/graph/ReverseReferenceUpdateSoftDeleteTest.java @@ -48,6 +48,7 @@ public class ReverseReferenceUpdateSoftDeleteTest extends ReverseReferenceUpdate AtlasVertex vertexForGUID = GraphHelper.getInstance().getVertexForGUID(referencingInstance.getId()._getId()); String edgeLabel = GraphHelper.getEdgeLabel(typeB, typeB.fieldMapping.fields.get("a")); AtlasEdge edgeForLabel = GraphHelper.getInstance().getEdgeForLabel(vertexForGUID, edgeLabel); + Assert.assertNotNull(edgeForLabel); String edgeState = edgeForLabel.getProperty(Constants.STATE_PROPERTY_KEY, String.class); Assert.assertEquals(edgeState, Id.EntityState.DELETED.name()); } http://git-wip-us.apache.org/repos/asf/atlas/blob/13ba156f/repository/src/test/java/org/apache/atlas/repository/store/graph/v1/AtlasRelationshipStoreV1Test.java ---------------------------------------------------------------------- diff --git a/repository/src/test/java/org/apache/atlas/repository/store/graph/v1/AtlasRelationshipStoreV1Test.java b/repository/src/test/java/org/apache/atlas/repository/store/graph/v1/AtlasRelationshipStoreV1Test.java index 31efe86..3ebda0d 100644 --- a/repository/src/test/java/org/apache/atlas/repository/store/graph/v1/AtlasRelationshipStoreV1Test.java +++ b/repository/src/test/java/org/apache/atlas/repository/store/graph/v1/AtlasRelationshipStoreV1Test.java @@ -169,7 +169,7 @@ public abstract class AtlasRelationshipStoreV1Test { assertObjectIdEquals(johnMentorId, maxId); List<AtlasObjectId> johnMenteesId = toAtlasObjectIds(john.getRelationshipAttribute("mentees")); - assertNull(johnMenteesId); + assertEmpty(johnMenteesId); // Jane Manager validation AtlasObjectId janeDepartmentId = toAtlasObjectId(jane.getRelationshipAttribute("department")); @@ -183,7 +183,7 @@ public abstract class AtlasRelationshipStoreV1Test { assertNull(janeMentorId); List<AtlasObjectId> janeMenteesId = toAtlasObjectIds(jane.getRelationshipAttribute("mentees")); - assertNull(janeMenteesId); + assertEmpty(janeMenteesId); List<AtlasObjectId> janeSubordinateIds = toAtlasObjectIds(jane.getRelationshipAttribute("subordinates")); assertNotNull(janeSubordinateIds); @@ -208,7 +208,7 @@ public abstract class AtlasRelationshipStoreV1Test { assertObjectIdsContains(juliusMenteesId, maxId); List<AtlasObjectId> juliusSubordinateIds = toAtlasObjectIds(julius.getRelationshipAttribute("subordinates")); - assertNull(juliusSubordinateIds); + assertEmpty(juliusSubordinateIds); } @Test @@ -444,6 +444,10 @@ public abstract class AtlasRelationshipStoreV1Test { assertTrue(objId1.equals(objId2)); } + private static void assertEmpty(List collection) { + assertTrue(collection != null && collection.isEmpty()); + } + private static List<AtlasObjectId> toAtlasObjectIds(Object objectIds) { if (objectIds instanceof List) { return (List<AtlasObjectId>) objectIds;
