This is an automated email from the ASF dual-hosted git repository.
nixon 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 12e35d2 ATLAS-3976 : On creating a type with a type_name that already
exists as a read-only user 409 is thrown instead on 403
12e35d2 is described below
commit 12e35d2f15578619b6375c37dc2087cc3e1e6cce
Author: chaitali borole <[email protected]>
AuthorDate: Tue Mar 2 18:30:46 2021 +0530
ATLAS-3976 : On creating a type with a type_name that already exists as a
read-only user 409 is thrown instead on 403
---
.../atlas/repository/store/graph/v2/AtlasEntityDefStoreV2.java | 6 ++----
.../apache/atlas/repository/store/graph/v2/AtlasEnumDefStoreV2.java | 3 ++-
.../repository/store/graph/v2/AtlasRelationshipDefStoreV2.java | 3 ++-
.../atlas/repository/store/graph/v2/AtlasStructDefStoreV2.java | 3 ++-
4 files changed, 8 insertions(+), 7 deletions(-)
diff --git
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityDefStoreV2.java
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityDefStoreV2.java
index b86cd91..6676b8c 100644
---
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityDefStoreV2.java
+++
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEntityDefStoreV2.java
@@ -63,7 +63,9 @@ public class AtlasEntityDefStoreV2 extends
AtlasAbstractDefStoreV2<AtlasEntityDe
throw new AtlasBaseException(AtlasErrorCode.TYPE_MATCH_FAILED,
entityDef.getName(), TypeCategory.CLASS.name());
}
+ verifyAttributeTypeReadAccess(entityDef.getAttributeDefs());
+ AtlasAuthorizationUtils.verifyAccess(new
AtlasTypeAccessRequest(AtlasPrivilege.TYPE_CREATE, entityDef), "create
entity-def ", entityDef.getName());
AtlasVertex ret =
typeDefStore.findTypeVertexByName(entityDef.getName());
@@ -88,10 +90,6 @@ public class AtlasEntityDefStoreV2 extends
AtlasAbstractDefStoreV2<AtlasEntityDe
LOG.debug("==> AtlasEntityDefStoreV1.create({}, {})", entityDef,
preCreateResult);
}
- verifyAttributeTypeReadAccess(entityDef.getAttributeDefs());
-
- AtlasAuthorizationUtils.verifyAccess(new
AtlasTypeAccessRequest(AtlasPrivilege.TYPE_CREATE, entityDef), "create
entity-def ", entityDef.getName());
-
AtlasVertex vertex = (preCreateResult == null) ? preCreate(entityDef)
: preCreateResult;
updateVertexAddReferences(entityDef, vertex);
diff --git
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEnumDefStoreV2.java
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEnumDefStoreV2.java
index 2abfcf8..5c02105 100644
---
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEnumDefStoreV2.java
+++
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEnumDefStoreV2.java
@@ -54,6 +54,8 @@ class AtlasEnumDefStoreV2 extends
AtlasAbstractDefStoreV2<AtlasEnumDef> {
validateType(enumDef);
+ AtlasAuthorizationUtils.verifyAccess(new
AtlasTypeAccessRequest(AtlasPrivilege.TYPE_CREATE, enumDef), "create enum-def
", enumDef.getName());
+
AtlasVertex vertex =
typeDefStore.findTypeVertexByName(enumDef.getName());
if (vertex != null) {
@@ -77,7 +79,6 @@ class AtlasEnumDefStoreV2 extends
AtlasAbstractDefStoreV2<AtlasEnumDef> {
LOG.debug("==> AtlasEnumDefStoreV2.create({}, {})", enumDef,
preCreateResult);
}
- AtlasAuthorizationUtils.verifyAccess(new
AtlasTypeAccessRequest(AtlasPrivilege.TYPE_CREATE, enumDef), "create enum-def
", enumDef.getName());
AtlasVertex vertex = (preCreateResult == null) ? preCreate(enumDef) :
preCreateResult;
diff --git
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasRelationshipDefStoreV2.java
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasRelationshipDefStoreV2.java
index cf316ea..b1f8efd 100644
---
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasRelationshipDefStoreV2.java
+++
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasRelationshipDefStoreV2.java
@@ -71,6 +71,8 @@ public class AtlasRelationshipDefStoreV2 extends
AtlasAbstractDefStoreV2<AtlasRe
throw new AtlasBaseException(AtlasErrorCode.TYPE_MATCH_FAILED,
relationshipDef.getName(), TypeCategory.RELATIONSHIP.name());
}
+ AtlasAuthorizationUtils.verifyAccess(new
AtlasTypeAccessRequest(AtlasPrivilege.TYPE_CREATE, relationshipDef), "create
relationship-def ", relationshipDef.getName());
+
AtlasVertex relationshipDefVertex =
typeDefStore.findTypeVertexByName(relationshipDef.getName());
if (relationshipDefVertex != null) {
@@ -136,7 +138,6 @@ public class AtlasRelationshipDefStoreV2 extends
AtlasAbstractDefStoreV2<AtlasRe
verifyTypeReadAccess(relationshipDef.getEndDef1().getType());
verifyTypeReadAccess(relationshipDef.getEndDef2().getType());
- AtlasAuthorizationUtils.verifyAccess(new
AtlasTypeAccessRequest(AtlasPrivilege.TYPE_CREATE, relationshipDef), "create
relationship-def ", relationshipDef.getName());
AtlasVertex vertex = (preCreateResult == null) ?
preCreate(relationshipDef) : preCreateResult;
diff --git
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasStructDefStoreV2.java
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasStructDefStoreV2.java
index 27dae16..21e3757 100644
---
a/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasStructDefStoreV2.java
+++
b/repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasStructDefStoreV2.java
@@ -75,6 +75,8 @@ public class AtlasStructDefStoreV2 extends
AtlasAbstractDefStoreV2<AtlasStructDe
throw new AtlasBaseException(AtlasErrorCode.TYPE_MATCH_FAILED,
structDef.getName(), TypeCategory.STRUCT.name());
}
+ AtlasAuthorizationUtils.verifyAccess(new
AtlasTypeAccessRequest(AtlasPrivilege.TYPE_CREATE, structDef), "create
struct-def ", structDef.getName());
+
AtlasVertex ret =
typeDefStore.findTypeVertexByName(structDef.getName());
if (ret != null) {
@@ -100,7 +102,6 @@ public class AtlasStructDefStoreV2 extends
AtlasAbstractDefStoreV2<AtlasStructDe
verifyAttributeTypeReadAccess(structDef.getAttributeDefs());
- AtlasAuthorizationUtils.verifyAccess(new
AtlasTypeAccessRequest(AtlasPrivilege.TYPE_CREATE, structDef), "create
struct-def ", structDef.getName());
if (CollectionUtils.isEmpty(structDef.getAttributeDefs())) {
throw new AtlasBaseException(AtlasErrorCode.BAD_REQUEST, "Missing
attributes for structdef");