Repository: atlas
Updated Branches:
  refs/heads/branch-1.0 6c7d8e268 -> 703457d8e


ATLAS-2746: Term/Category create shouldn't require UPDATE privilege for simple 
cases.

Change-Id: I914d81dab968c28b1684953d3b077bfa046c96bb
(cherry picked from commit 7a1d3dc5e315d5c82a58bdc67533e7deb324db07)


Project: http://git-wip-us.apache.org/repos/asf/atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/703457d8
Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/703457d8
Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/703457d8

Branch: refs/heads/branch-1.0
Commit: 703457d8ef056bc2ef34bf0c08966df4748e98ee
Parents: 6c7d8e2
Author: apoorvnaik <[email protected]>
Authored: Thu Jun 7 09:17:57 2018 -0700
Committer: apoorvnaik <[email protected]>
Committed: Fri Jun 8 09:10:12 2018 -0700

----------------------------------------------------------------------
 .../atlas/glossary/GlossaryCategoryUtils.java   |  8 ---
 .../apache/atlas/glossary/GlossaryService.java  | 56 ++++++++++----------
 .../atlas/glossary/GlossaryTermUtils.java       |  9 ----
 3 files changed, 29 insertions(+), 44 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/atlas/blob/703457d8/repository/src/main/java/org/apache/atlas/glossary/GlossaryCategoryUtils.java
----------------------------------------------------------------------
diff --git 
a/repository/src/main/java/org/apache/atlas/glossary/GlossaryCategoryUtils.java 
b/repository/src/main/java/org/apache/atlas/glossary/GlossaryCategoryUtils.java
index be2f16e..e218c29 100644
--- 
a/repository/src/main/java/org/apache/atlas/glossary/GlossaryCategoryUtils.java
+++ 
b/repository/src/main/java/org/apache/atlas/glossary/GlossaryCategoryUtils.java
@@ -89,15 +89,7 @@ public class GlossaryCategoryUtils extends GlossaryUtils {
                         LOG.debug("Creating new category anchor, category = 
{}, glossary = {}", storeObject.getGuid(), 
updatedCategory.getAnchor().getGlossaryGuid());
                     }
 
-                    // Derive the qualifiedName
                     String anchorGlossaryGuid = 
updatedCategory.getAnchor().getGlossaryGuid();
-                    AtlasGlossary glossary = 
dataAccess.load(getGlossarySkeleton(anchorGlossaryGuid));
-                    storeObject.setQualifiedName(storeObject.getName()+ "@" + 
glossary.getQualifiedName());
-
-                    if (LOG.isDebugEnabled()) {
-                        LOG.debug("Derived qualifiedName = {}", 
storeObject.getQualifiedName());
-                    }
-
                     
createRelationship(defineCategoryAnchorRelation(anchorGlossaryGuid, 
storeObject.getGuid()));
                 }
                 break;

http://git-wip-us.apache.org/repos/asf/atlas/blob/703457d8/repository/src/main/java/org/apache/atlas/glossary/GlossaryService.java
----------------------------------------------------------------------
diff --git 
a/repository/src/main/java/org/apache/atlas/glossary/GlossaryService.java 
b/repository/src/main/java/org/apache/atlas/glossary/GlossaryService.java
index ff5aa6e..fb26598 100644
--- a/repository/src/main/java/org/apache/atlas/glossary/GlossaryService.java
+++ b/repository/src/main/java/org/apache/atlas/glossary/GlossaryService.java
@@ -330,15 +330,20 @@ public class GlossaryService {
         if (Objects.isNull(glossaryTerm.getAnchor())) {
             throw new 
AtlasBaseException(AtlasErrorCode.MISSING_MANDATORY_ANCHOR);
         }
-        if (StringUtils.isEmpty(glossaryTerm.getQualifiedName())) {
-            if (StringUtils.isEmpty(glossaryTerm.getName())) {
-                throw new 
AtlasBaseException(AtlasErrorCode.GLOSSARY_TERM_QUALIFIED_NAME_CANT_BE_DERIVED);
-            }
+        if (StringUtils.isEmpty(glossaryTerm.getName())) {
+            throw new 
AtlasBaseException(AtlasErrorCode.GLOSSARY_TERM_QUALIFIED_NAME_CANT_BE_DERIVED);
+        }
 
-            if (isNameInvalid(glossaryTerm.getName())){
-                throw new 
AtlasBaseException(AtlasErrorCode.INVALID_DISPLAY_NAME);
-            } else {
-                glossaryTerm.setQualifiedName(glossaryTerm.getName());
+        if (isNameInvalid(glossaryTerm.getName())){
+            throw new AtlasBaseException(AtlasErrorCode.INVALID_DISPLAY_NAME);
+        } else {
+            // Derive the qualifiedName
+            String        anchorGlossaryGuid = 
glossaryTerm.getAnchor().getGlossaryGuid();
+            AtlasGlossary glossary           = 
dataAccess.load(getGlossarySkeleton(anchorGlossaryGuid));
+            glossaryTerm.setQualifiedName(glossaryTerm.getName() + "@" + 
glossary.getQualifiedName());
+
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Derived qualifiedName = {}", 
glossaryTerm.getQualifiedName());
             }
         }
 
@@ -351,17 +356,7 @@ public class GlossaryService {
         glossaryTermUtils.processTermRelations(storeObject, glossaryTerm, 
GlossaryUtils.RelationshipOperation.CREATE);
 
         // Re-load term after handling relations
-        if (StringUtils.equals(storeObject.getQualifiedName(), 
glossaryTerm.getQualifiedName())) {
-            storeObject = dataAccess.load(glossaryTerm);
-        } else {
-            glossaryTerm.setQualifiedName(storeObject.getQualifiedName());
-
-            if (termExists(glossaryTerm)) {
-                throw new 
AtlasBaseException(AtlasErrorCode.GLOSSARY_TERM_ALREADY_EXISTS, 
glossaryTerm.getQualifiedName());
-            }
-
-            storeObject = dataAccess.save(glossaryTerm);
-        }
+        storeObject = dataAccess.load(glossaryTerm);
         setInfoForRelations(storeObject);
 
         if (DEBUG_ENABLED) {
@@ -545,15 +540,22 @@ public class GlossaryService {
         if (Objects.isNull(glossaryCategory.getAnchor())) {
             throw new 
AtlasBaseException(AtlasErrorCode.MISSING_MANDATORY_ANCHOR);
         }
-        if (StringUtils.isEmpty(glossaryCategory.getQualifiedName())) {
-            if (StringUtils.isEmpty(glossaryCategory.getName())) {
-                throw new 
AtlasBaseException(AtlasErrorCode.GLOSSARY_CATEGORY_QUALIFIED_NAME_CANT_BE_DERIVED);
-            }
-            if (isNameInvalid(glossaryCategory.getName())){
-                throw new 
AtlasBaseException(AtlasErrorCode.INVALID_DISPLAY_NAME);
-            } else {
-                glossaryCategory.setQualifiedName(glossaryCategory.getName());
+        if (StringUtils.isEmpty(glossaryCategory.getName())) {
+            throw new 
AtlasBaseException(AtlasErrorCode.GLOSSARY_CATEGORY_QUALIFIED_NAME_CANT_BE_DERIVED);
+        }
+        if (isNameInvalid(glossaryCategory.getName())){
+            throw new AtlasBaseException(AtlasErrorCode.INVALID_DISPLAY_NAME);
+        } else {
+            // Derive the qualifiedName
+            String anchorGlossaryGuid = 
glossaryCategory.getAnchor().getGlossaryGuid();
+            AtlasGlossary glossary = 
dataAccess.load(getGlossarySkeleton(anchorGlossaryGuid));
+            glossaryCategory.setQualifiedName(glossaryCategory.getName()+ "@" 
+ glossary.getQualifiedName());
+
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Derived qualifiedName = {}", 
glossaryCategory.getQualifiedName());
             }
+
+
         }
 
         // This might fail for the case when the category's qualifiedName has 
been updated during a hierarchy change

http://git-wip-us.apache.org/repos/asf/atlas/blob/703457d8/repository/src/main/java/org/apache/atlas/glossary/GlossaryTermUtils.java
----------------------------------------------------------------------
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 4d65328..cdc3f07 100644
--- a/repository/src/main/java/org/apache/atlas/glossary/GlossaryTermUtils.java
+++ b/repository/src/main/java/org/apache/atlas/glossary/GlossaryTermUtils.java
@@ -152,15 +152,6 @@ public class GlossaryTermUtils extends GlossaryUtils {
                         LOG.debug("Creating new term anchor, category = {}, 
glossary = {}", storeObject.getGuid(), 
updatedTerm.getAnchor().getGlossaryGuid());
                     }
 
-                    // Derive the qualifiedName
-                    String        anchorGlossaryGuid = 
updatedTermAnchor.getGlossaryGuid();
-                    AtlasGlossary glossary           = 
dataAccess.load(getGlossarySkeleton(anchorGlossaryGuid));
-                    storeObject.setQualifiedName(storeObject.getName() + "@" + 
glossary.getQualifiedName());
-
-                    if (LOG.isDebugEnabled()) {
-                        LOG.debug("Derived qualifiedName = {}", 
storeObject.getQualifiedName());
-                    }
-
                     
createRelationship(defineTermAnchorRelation(updatedTermAnchor.getGlossaryGuid(),
 storeObject.getGuid()));
                 }
                 break;

Reply via email to