This is an automated email from the ASF dual-hosted git repository.
sidmishra pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/atlas.git
The following commit(s) were added to refs/heads/branch-2.0 by this push:
new d5ae35f ATLAS-4288: Added code to create PreferredToTerms
relationships when it exists alone
d5ae35f is described below
commit d5ae35f1a9304ef8011be71258e6e1d7fb4dd60b
Author: sidmishra <[email protected]>
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 <[email protected]>
(cherry picked from commit 64bea6a5e98fbb87a76d53f9e7e2f5ca01671426)
---
.../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);