Commit 521118c8 by Madhan Neethiraj

ATLAS-3708: fix to persist displayName field in AtlasAttributeDef

parent 37d64be5
...@@ -546,6 +546,8 @@ public class AtlasStructDefStoreV2 extends AtlasAbstractDefStoreV2<AtlasStructDe ...@@ -546,6 +546,8 @@ public class AtlasStructDefStoreV2 extends AtlasAbstractDefStoreV2<AtlasStructDe
attribInfo.put("options", AtlasType.toJson(attributeDef.getOptions())); attribInfo.put("options", AtlasType.toJson(attributeDef.getOptions()));
} }
attribInfo.put("displayName", attributeDef.getDisplayName());
final int lower; final int lower;
final int upper; final int upper;
...@@ -591,6 +593,8 @@ public class AtlasStructDefStoreV2 extends AtlasAbstractDefStoreV2<AtlasStructDe ...@@ -591,6 +593,8 @@ public class AtlasStructDefStoreV2 extends AtlasAbstractDefStoreV2<AtlasStructDe
ret.setOptions(AtlasType.fromJson((String) attribInfo.get("options"), Map.class)); ret.setOptions(AtlasType.fromJson((String) attribInfo.get("options"), Map.class));
} }
ret.setDisplayName((String) attribInfo.get("displayName"));
if ((Boolean)attribInfo.get("isComposite")) { if ((Boolean)attribInfo.get("isComposite")) {
ret.addConstraint(new AtlasConstraintDef(AtlasConstraintDef.CONSTRAINT_TYPE_OWNED_REF)); ret.addConstraint(new AtlasConstraintDef(AtlasConstraintDef.CONSTRAINT_TYPE_OWNED_REF));
} }
......
...@@ -19,7 +19,9 @@ package org.apache.atlas.repository.store.graph.v2; ...@@ -19,7 +19,9 @@ package org.apache.atlas.repository.store.graph.v2;
import com.google.inject.Inject; import com.google.inject.Inject;
import org.apache.atlas.AtlasErrorCode; import org.apache.atlas.AtlasErrorCode;
import org.apache.atlas.RequestContext;
import org.apache.atlas.TestModules; import org.apache.atlas.TestModules;
import org.apache.atlas.TestUtilsV2;
import org.apache.atlas.exception.AtlasBaseException; import org.apache.atlas.exception.AtlasBaseException;
import org.apache.atlas.model.typedef.AtlasBaseTypeDef; import org.apache.atlas.model.typedef.AtlasBaseTypeDef;
import org.apache.atlas.model.typedef.AtlasBusinessMetadataDef; import org.apache.atlas.model.typedef.AtlasBusinessMetadataDef;
...@@ -69,6 +71,9 @@ public class AtlasBusinessMetadataDefStoreV2Test { ...@@ -69,6 +71,9 @@ public class AtlasBusinessMetadataDefStoreV2Test {
private String businessMetadataName; private String businessMetadataName;
@BeforeClass @BeforeClass
public void setup() throws IOException, AtlasBaseException { public void setup() throws IOException, AtlasBaseException {
RequestContext.clear();
RequestContext.get().setUser(TestUtilsV2.TEST_USER, null);
loadBaseModel(typeDefStore, typeRegistry); loadBaseModel(typeDefStore, typeRegistry);
loadFsModel(typeDefStore, typeRegistry); loadFsModel(typeDefStore, typeRegistry);
loadHiveModel(typeDefStore, typeRegistry); loadHiveModel(typeDefStore, typeRegistry);
...@@ -402,6 +407,9 @@ public class AtlasBusinessMetadataDefStoreV2Test { ...@@ -402,6 +407,9 @@ public class AtlasBusinessMetadataDefStoreV2Test {
AtlasStructDef.AtlasAttributeDef.Cardinality.SINGLE); AtlasStructDef.AtlasAttributeDef.Cardinality.SINGLE);
addBusinessAttribute(businessMetadataDef1, "test_businessMetadata_attribute2", Collections.singleton("hive_table"), "int", addBusinessAttribute(businessMetadataDef1, "test_businessMetadata_attribute2", Collections.singleton("hive_table"), "int",
AtlasStructDef.AtlasAttributeDef.Cardinality.SINGLE); AtlasStructDef.AtlasAttributeDef.Cardinality.SINGLE);
TestUtilsV2.populateSystemAttributes(businessMetadataDef1);
return businessMetadataDef1; return businessMetadataDef1;
} }
...@@ -418,7 +426,9 @@ public class AtlasBusinessMetadataDefStoreV2Test { ...@@ -418,7 +426,9 @@ public class AtlasBusinessMetadataDefStoreV2Test {
List<AtlasBusinessMetadataDef> businessMetadataDefs = new ArrayList(typesDefs.getBusinessMetadataDefs()); List<AtlasBusinessMetadataDef> businessMetadataDefs = new ArrayList(typesDefs.getBusinessMetadataDefs());
businessMetadataDefs.add(createBusinessMetadataDef(businessMetadataName)); businessMetadataDefs.add(createBusinessMetadataDef(businessMetadataName));
typesDefs.setBusinessMetadataDefs(businessMetadataDefs); 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, private void addBusinessAttribute(AtlasBusinessMetadataDef businessMetadataDef, String name, Set<String> applicableEntityTypes,
...@@ -431,7 +441,10 @@ public class AtlasBusinessMetadataDefStoreV2Test { ...@@ -431,7 +441,10 @@ public class AtlasBusinessMetadataDefStoreV2Test {
attributeDef.setOption(ATTR_MAX_STRING_LENGTH, "20"); attributeDef.setOption(ATTR_MAX_STRING_LENGTH, "20");
} }
attributeDef.setIsOptional(true); attributeDef.setIsOptional(true);
attributeDef.setValuesMinCount(0);
attributeDef.setValuesMaxCount(1);
attributeDef.setIsUnique(false); attributeDef.setIsUnique(false);
attributeDef.setDisplayName(name);
businessMetadataDef.addAttribute(attributeDef); businessMetadataDef.addAttribute(attributeDef);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment