You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by si...@apache.org on 2021/05/18 16:13:27 UTC
[atlas] branch master updated: ATLAS-4288: Added code to create
PreferredToTerms relationships when it exists alone
This is an automated email from the ASF dual-hosted git repository.
sidmishra pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/atlas.git
The following commit(s) were added to refs/heads/master by this push:
new 64bea6a ATLAS-4288: Added code to create PreferredToTerms relationships when it exists alone
64bea6a is described below
commit 64bea6a5e98fbb87a76d53f9e7e2f5ca01671426
Author: sidmishra <si...@cloudera.com>
AuthorDate: Mon May 17 22:40:00 2021 -0700
ATLAS-4288: Added code to create PreferredToTerms relationships when it exists alone
Signed-off-by: Sidharth Mishra <si...@apache.org>
---
.../atlas/model/glossary/AtlasGlossaryTerm.java | 4 ++++
.../apache/atlas/glossary/GlossaryTermUtils.java | 26 +++++++++++++---------
2 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/intg/src/main/java/org/apache/atlas/model/glossary/AtlasGlossaryTerm.java b/intg/src/main/java/org/apache/atlas/model/glossary/AtlasGlossaryTerm.java
index ee306c6..f0f362b 100644
--- a/intg/src/main/java/org/apache/atlas/model/glossary/AtlasGlossaryTerm.java
+++ b/intg/src/main/java/org/apache/atlas/model/glossary/AtlasGlossaryTerm.java
@@ -224,6 +224,10 @@ public class AtlasGlossaryTerm extends AtlasGlossaryBaseObject {
public void setPreferredToTerms(final Set<AtlasRelatedTermHeader> preferredToTerms) {
this.preferredToTerms = preferredToTerms;
+
+ if (CollectionUtils.isNotEmpty(preferredToTerms)) {
+ hasTerms = true;
+ }
}
public Set<AtlasRelatedTermHeader> getReplacementTerms() {
diff --git a/repository/src/main/java/org/apache/atlas/glossary/GlossaryTermUtils.java b/repository/src/main/java/org/apache/atlas/glossary/GlossaryTermUtils.java
index fa02c8e..d92daee 100644
--- a/repository/src/main/java/org/apache/atlas/glossary/GlossaryTermUtils.java
+++ b/repository/src/main/java/org/apache/atlas/glossary/GlossaryTermUtils.java
@@ -725,21 +725,25 @@ public class GlossaryTermUtils extends GlossaryUtils {
String relatedTermQualifiedName = dataArray[1] + invalidNameChars[0] + dataArray[0];
String currTermQualifiedName = termName + invalidNameChars[0] + glossaryName;
- vertex = AtlasGraphUtilsV2.findByTypeAndUniquePropertyName(GlossaryUtils.ATLAS_GLOSSARY_TERM_TYPENAME,
- GlossaryUtils.ATLAS_GLOSSARY_TERM_TYPENAME + invalidNameChars[1] + QUALIFIED_NAME_ATTR, relatedTermQualifiedName);
+ if (relatedTermQualifiedName.equalsIgnoreCase(currTermQualifiedName)) {
+ failedTermMsgs.add("Invalid relationship specified for Term. Term cannot have a relationship with self");
+ } else {
+ vertex = AtlasGraphUtilsV2.findByTypeAndUniquePropertyName(GlossaryUtils.ATLAS_GLOSSARY_TERM_TYPENAME,
+ GlossaryUtils.ATLAS_GLOSSARY_TERM_TYPENAME + invalidNameChars[1] + QUALIFIED_NAME_ATTR, relatedTermQualifiedName);
- if (vertex != null) {
- String glossaryTermGuid = AtlasGraphUtilsV2.getIdFromVertex(vertex);
+ if (vertex != null) {
+ String glossaryTermGuid = AtlasGraphUtilsV2.getIdFromVertex(vertex);
- relatedTermHeader = new AtlasRelatedTermHeader();
- relatedTermHeader.setTermGuid(glossaryTermGuid);
+ relatedTermHeader = new AtlasRelatedTermHeader();
+ relatedTermHeader.setTermGuid(glossaryTermGuid);
- cacheRelatedTermQNameGuid(currTermQualifiedName, relatedTermQualifiedName, glossaryTermGuid);
+ cacheRelatedTermQNameGuid(currTermQualifiedName, relatedTermQualifiedName, glossaryTermGuid);
- ret.add(relatedTermHeader);
- } else {
- failedTermMsgs.add("The provided Reference " + dataArray[1] + "@" + dataArray[0] +
- " does not exist at Atlas referred at record with TermName : " + termName + " and GlossaryName : " + glossaryName);
+ ret.add(relatedTermHeader);
+ } else {
+ failedTermMsgs.add("The provided Reference " + dataArray[1] + "@" + dataArray[0] +
+ " does not exist at Atlas referred at record with TermName : " + termName + " and GlossaryName : " + glossaryName);
+ }
}
} else {
failedTermMsgs.add("Incorrect relation data specified for the term : " + termName + "@" + glossaryName);