This is an automated email from the ASF dual-hosted git repository. madhan pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/atlas.git
commit af67bff30594f54efe5784a99024ee900ad8680c Author: Madhan Neethiraj <[email protected]> AuthorDate: Mon Mar 30 18:47:18 2020 -0700 ATLAS-3708: fix to persist displayName field in AtlasAttributeDef (cherry picked from commit 521118c82585d959cd22262d0012eb8c6b17c05a) --- .../repository/store/graph/v2/AtlasStructDefStoreV2.java | 4 ++++ .../graph/v2/AtlasBusinessMetadataDefStoreV2Test.java | 15 ++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) 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 57c30f4..9a45f00 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 @@ -546,6 +546,8 @@ public class AtlasStructDefStoreV2 extends AtlasAbstractDefStoreV2<AtlasStructDe attribInfo.put("options", AtlasType.toJson(attributeDef.getOptions())); } + attribInfo.put("displayName", attributeDef.getDisplayName()); + final int lower; final int upper; @@ -591,6 +593,8 @@ public class AtlasStructDefStoreV2 extends AtlasAbstractDefStoreV2<AtlasStructDe ret.setOptions(AtlasType.fromJson((String) attribInfo.get("options"), Map.class)); } + ret.setDisplayName((String) attribInfo.get("displayName")); + if ((Boolean)attribInfo.get("isComposite")) { ret.addConstraint(new AtlasConstraintDef(AtlasConstraintDef.CONSTRAINT_TYPE_OWNED_REF)); } diff --git a/repository/src/test/java/org/apache/atlas/repository/store/graph/v2/AtlasBusinessMetadataDefStoreV2Test.java b/repository/src/test/java/org/apache/atlas/repository/store/graph/v2/AtlasBusinessMetadataDefStoreV2Test.java index dd1a566..eaffac1 100644 --- a/repository/src/test/java/org/apache/atlas/repository/store/graph/v2/AtlasBusinessMetadataDefStoreV2Test.java +++ b/repository/src/test/java/org/apache/atlas/repository/store/graph/v2/AtlasBusinessMetadataDefStoreV2Test.java @@ -19,7 +19,9 @@ package org.apache.atlas.repository.store.graph.v2; import com.google.inject.Inject; import org.apache.atlas.AtlasErrorCode; +import org.apache.atlas.RequestContext; import org.apache.atlas.TestModules; +import org.apache.atlas.TestUtilsV2; import org.apache.atlas.exception.AtlasBaseException; import org.apache.atlas.model.typedef.AtlasBaseTypeDef; import org.apache.atlas.model.typedef.AtlasBusinessMetadataDef; @@ -69,6 +71,9 @@ public class AtlasBusinessMetadataDefStoreV2Test { private String businessMetadataName; @BeforeClass public void setup() throws IOException, AtlasBaseException { + RequestContext.clear(); + RequestContext.get().setUser(TestUtilsV2.TEST_USER, null); + loadBaseModel(typeDefStore, typeRegistry); loadFsModel(typeDefStore, typeRegistry); loadHiveModel(typeDefStore, typeRegistry); @@ -402,6 +407,9 @@ public class AtlasBusinessMetadataDefStoreV2Test { AtlasStructDef.AtlasAttributeDef.Cardinality.SINGLE); addBusinessAttribute(businessMetadataDef1, "test_businessMetadata_attribute2", Collections.singleton("hive_table"), "int", AtlasStructDef.AtlasAttributeDef.Cardinality.SINGLE); + + TestUtilsV2.populateSystemAttributes(businessMetadataDef1); + return businessMetadataDef1; } @@ -418,7 +426,9 @@ public class AtlasBusinessMetadataDefStoreV2Test { List<AtlasBusinessMetadataDef> businessMetadataDefs = new ArrayList(typesDefs.getBusinessMetadataDefs()); businessMetadataDefs.add(createBusinessMetadataDef(businessMetadataName)); typesDefs.setBusinessMetadataDefs(businessMetadataDefs); - typeDefStore.createTypesDef(typesDefs); + AtlasTypesDef createdTypesDef = typeDefStore.createTypesDef(typesDefs); + + Assert.assertEquals(createdTypesDef.getBusinessMetadataDefs(), businessMetadataDefs, "Data integrity issue while persisting"); } private void addBusinessAttribute(AtlasBusinessMetadataDef businessMetadataDef, String name, Set<String> applicableEntityTypes, @@ -431,7 +441,10 @@ public class AtlasBusinessMetadataDefStoreV2Test { attributeDef.setOption(ATTR_MAX_STRING_LENGTH, "20"); } attributeDef.setIsOptional(true); + attributeDef.setValuesMinCount(0); + attributeDef.setValuesMaxCount(1); attributeDef.setIsUnique(false); + attributeDef.setDisplayName(name); businessMetadataDef.addAttribute(attributeDef); }
