Skip to content

Commit

Permalink
Merge branch 'master' into beta
Browse files Browse the repository at this point in the history
  • Loading branch information
sumandas0 committed May 14, 2024
2 parents 8f64346 + 71d5d95 commit cb1ccb2
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -154,19 +154,6 @@ public Updater(AtlasTypeRegistry typeRegistry, AtlasEntityStore entitiesStore,
this(AtlasGraphProvider.getGraphInstance(), typeRegistry, entitiesStore, entityGraphMapper, entityChangeNotifier, instanceConverter);
}

public void repairClassificationsMappings(List<String> guids) throws AtlasBaseException {

for (String guid : guids) {
// Fetch attached classifications
AtlasVertex vertex = AtlasGraphUtilsV2.findByGuid(this.graph, guid);
List<AtlasClassification> classifications = entityRetriever.getAllClassifications(vertex);
for (AtlasClassification classification : classifications) {
// Fetch the entity header

}
}
}

public void setClassifications(Map<String, AtlasEntityHeader> map) throws AtlasBaseException {
RequestContext.get().setDelayTagNotifications(true);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2991,7 +2991,7 @@ public void repairClassificationMappings(AtlasEntityHeader entityHeader, AtlasVe
for (AtlasClassification classification : classifications) {
String typeName = classification.getTypeName();
classificationText = fullTextMapperV2.getClassificationTextForEntity(new AtlasEntity(entityHeader));
if(classification.isPropagate()) {
if(classification.isPropagate() && !classification.getEntityGuid().equals(entityHeader.getGuid())) {
//Add to propagatedClassificationNamesList
propagatedClassificationNamesList.add(typeName);
//Create delimiter separated string for propagatedClassificationNames
Expand All @@ -3011,15 +3011,25 @@ public void repairClassificationMappings(AtlasEntityHeader entityHeader, AtlasVe
}
}
}
//Delete array/set properties first
entityVertex.removeProperty(TRAIT_NAMES_PROPERTY_KEY);
entityVertex.removeProperty(PROPAGATED_TRAIT_NAMES_PROPERTY_KEY);

//Update classificationNames and propagatedClassificationNames in entityVertex
AtlasGraphUtilsV2.setEncodedProperty(entityVertex, CLASSIFICATION_NAMES_KEY, classificationNames);
AtlasGraphUtilsV2.setEncodedProperty(entityVertex, CLASSIFICATION_TEXT_KEY, classificationText);
AtlasGraphUtilsV2.setEncodedProperty(entityVertex, PROPAGATED_CLASSIFICATION_NAMES_KEY, propagatedClassificationName);

//Update classificationNames and propagatedClassificationNames in entityVertex
AtlasGraphUtilsV2.setProperty(entityVertex, CLASSIFICATION_NAMES_KEY, classificationNames);
AtlasGraphUtilsV2.setProperty(entityVertex, CLASSIFICATION_TEXT_KEY, classificationText);
AtlasGraphUtilsV2.setProperty(entityVertex, PROPAGATED_CLASSIFICATION_NAMES_KEY, propagatedClassificationName);
// Make classificationNames unique list as it is of type SET
classificationNamesList = classificationNamesList.stream().distinct().collect(Collectors.toList());
//Update classificationNames and propagatedClassificationNames in entityHeader
AtlasGraphUtilsV2.setEncodedProperty(entityVertex, TRAIT_NAMES_PROPERTY_KEY, classificationNamesList);
AtlasGraphUtilsV2.setEncodedProperty(entityVertex, PROPAGATED_TRAIT_NAMES_PROPERTY_KEY, propagatedClassificationNamesList);
for(String classificationName : classificationNamesList) {
AtlasGraphUtilsV2.addEncodedProperty(entityVertex, TRAIT_NAMES_PROPERTY_KEY, classificationName);
}
for (String classificationName : propagatedClassificationNamesList) {
//AtlasGraphUtilsV2.addProperty(entityVertex, PROPAGATED_TRAIT_NAMES_PROPERTY_KEY, classificationName);
entityVertex.addListProperty(PROPAGATED_TRAIT_NAMES_PROPERTY_KEY, classificationName);
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1275,20 +1275,19 @@ public void setClassifications(AtlasEntityHeaders entityHeaders) throws AtlasBas
}

@POST
@Path("bulk/repairClassificationsMappings")
@Path("repairClassificationsMappings/{guid}")
@Produces(Servlets.JSON_MEDIA_TYPE)
@Consumes(Servlets.JSON_MEDIA_TYPE)
@Timed
public void repairClassifications(List<String> guids) throws AtlasBaseException {
public void repairClassifications(@PathParam("guid") String guid) throws AtlasBaseException {
AtlasPerfTracer perf = null;

try {
if (AtlasPerfTracer.isPerfTraceEnabled(PERF_LOG)) {
perf = AtlasPerfTracer.getPerfTracer(PERF_LOG, "EntityREST.repairClassifications()");
}

ClassificationAssociator.Updater associator = new ClassificationAssociator.Updater(typeRegistry, entitiesStore, entityGraphMapper, entityChangeNotifier, instanceConverter);
associator.repairClassificationsMappings(guids);
entitiesStore.repairClassificationMappings(guid);
} finally {
AtlasPerfTracer.log(perf);
}
Expand Down

0 comments on commit cb1ccb2

Please sign in to comment.