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
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));
}
......
......@@ -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);
}
......
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