public static AtlasStructDef createStructTypeDef(String name, String description, AtlasAttributeDef... attrDefs) { return new AtlasStructDef(name, description, "1.0", Arrays.asList(attrDefs)); }
public static AtlasStructDef createStructTypeDef(String name, String description, AtlasAttributeDef... attrDefs) { return new AtlasStructDef(name, description, "1.0", Arrays.asList(attrDefs)); }
private AtlasStructDef toStructDef(AtlasVertex vertex) throws AtlasBaseException { AtlasStructDef ret = null; if (vertex != null && typeDefStore.isTypeVertex(vertex, TypeCategory.STRUCT)) { ret = toStructDef(vertex, new AtlasStructDef(), typeDefStore); } return ret; }
private AtlasStructDef toStructDef(AtlasVertex vertex) throws AtlasBaseException { AtlasStructDef ret = null; if (vertex != null && typeDefStore.isTypeVertex(vertex, TypeCategory.STRUCT)) { ret = toStructDef(vertex, new AtlasStructDef(), typeDefStore); } return ret; }
private static List<AtlasStructDef> toAtlasStructDefs(List<StructTypeDefinition> structTypeDefinitions) throws AtlasBaseException { List<AtlasStructDef> ret = new ArrayList<AtlasStructDef>(); for (StructTypeDefinition structType : structTypeDefinitions) { AtlasStructDef structDef = new AtlasStructDef(); List<AtlasAttributeDef> attrDefs = new ArrayList<AtlasAttributeDef>(); structDef.setName(structType.typeName); structDef.setDescription(structType.typeDescription); structDef.setTypeVersion(structType.typeVersion); AttributeDefinition[] attrDefinitions = structType.attributeDefinitions; for (AttributeDefinition attrDefinition : attrDefinitions) { attrDefs.add(toAtlasAttributeDef(attrDefinition)); } structDef.setAttributeDefs(attrDefs); ret.add(structDef); } return ret; }
private static List<AtlasStructDef> toAtlasStructDefs(List<StructTypeDefinition> structTypeDefinitions) { List<AtlasStructDef> ret = new ArrayList<>(); for (StructTypeDefinition structType : structTypeDefinitions) { List<AtlasAttributeDef> attrDefs = new ArrayList<AtlasAttributeDef>(); if (CollectionUtils.isNotEmpty(structType.getAttributeDefinitions())) { for (AttributeDefinition attrDefinition : structType.getAttributeDefinitions()) { attrDefs.add(toAtlasAttributeDef(attrDefinition)); } } AtlasStructDef structDef = new AtlasStructDef(structType.getTypeName(), structType.getTypeDescription(), structType.getTypeVersion(), attrDefs); ret.add(structDef); } return ret; }
@Test public void testStructDefSerDeEmpty() { AtlasStructDef structDef = new AtlasStructDef("emptyStructDef"); String jsonString = AtlasType.toJson(structDef); AtlasStructDef structDef2 = AtlasType.fromJson(jsonString, AtlasStructDef.class); assertEquals(structDef2, structDef, "Incorrect serialization/deserialization of AtlasStructDef"); }
@Test public void testStructDefSerDeEmpty() { AtlasStructDef structDef = new AtlasStructDef("emptyStructDef"); String jsonString = AtlasType.toJson(structDef); AtlasStructDef structDef2 = AtlasType.fromJson(jsonString, AtlasStructDef.class); assertEquals(structDef2, structDef, "Incorrect serialization/deserialization of AtlasStructDef"); }
public static AtlasStructDef toStructDef(AtlasVertex vertex, AtlasStructDef structDef, AtlasTypeDefGraphStoreV2 typeDefStore) throws AtlasBaseException { AtlasStructDef ret = (structDef != null) ? structDef : new AtlasStructDef(); typeDefStore.vertexToTypeDef(vertex, ret); List<AtlasAttributeDef> attributeDefs = new ArrayList<>(); String typePropertyKey = AtlasGraphUtilsV2.getTypeDefPropertyKey(ret); String encodedTypePropertyKey = AtlasGraphUtilsV2.encodePropertyKey(typePropertyKey); List<String> attrNames = vertex.getProperty(encodedTypePropertyKey, List.class); if (CollectionUtils.isNotEmpty(attrNames)) { for (String attrName : attrNames) { String attrPropertyKey = AtlasGraphUtilsV2.getTypeDefPropertyKey(ret, attrName); String encodedAttrPropertyKey = AtlasGraphUtilsV2.encodePropertyKey(attrPropertyKey); String attrJson = vertex.getProperty(encodedAttrPropertyKey, String.class); attributeDefs.add(toAttributeDefFromJson(structDef, AtlasType.fromJson(attrJson, Map.class), typeDefStore)); } } ret.setAttributeDefs(attributeDefs); return ret; }
private AtlasStructDef getStructDefFromClassificationDef(AtlasClassificationDef classificationDef) { String legacyTypeName = getLegacyTypeNameForStructDef(classificationDef.getName()); return new AtlasStructDef(legacyTypeName, classificationDef.getDescription(), classificationDef.getTypeVersion(), getDefaultAttributeDefsIfNecessary(classificationDef.getAttributeDefs())); }
public static AtlasStructDef toStructDef(AtlasVertex vertex, AtlasStructDef structDef, AtlasTypeDefGraphStoreV2 typeDefStore) throws AtlasBaseException { AtlasStructDef ret = (structDef != null) ? structDef : new AtlasStructDef(); typeDefStore.vertexToTypeDef(vertex, ret); List<AtlasAttributeDef> attributeDefs = new ArrayList<>(); String typePropertyKey = AtlasGraphUtilsV2.getTypeDefPropertyKey(ret); String encodedTypePropertyKey = AtlasGraphUtilsV2.encodePropertyKey(typePropertyKey); List<String> attrNames = vertex.getProperty(encodedTypePropertyKey, List.class); if (CollectionUtils.isNotEmpty(attrNames)) { for (String attrName : attrNames) { String attrPropertyKey = AtlasGraphUtilsV2.getTypeDefPropertyKey(ret, attrName); String encodedAttrPropertyKey = AtlasGraphUtilsV2.encodePropertyKey(attrPropertyKey); String attrJson = vertex.getProperty(encodedAttrPropertyKey, String.class); attributeDefs.add(toAttributeDefFromJson(structDef, AtlasType.fromJson(attrJson, Map.class), typeDefStore)); } } ret.setAttributeDefs(attributeDefs); return ret; }
public static AtlasTypesDef defineTypeWithComplexCollectionAttributes() { AtlasStructDef structType = new AtlasStructDef(STRUCT_TYPE, "struct_type_description", "1.0", Arrays.asList(createRequiredAttrDef(NAME, "string"))); AtlasEntityDef entityType = createClassTypeDef(ENTITY_TYPE, "entity_type_description", Collections.emptySet(), createUniqueRequiredAttrDef(NAME, "string"), createOptionalAttrDef("isReplicated", "boolean")); AtlasEntityDef complexCollectionEntityType = createClassTypeDef(ENTITY_TYPE_WITH_COMPLEX_COLLECTION_ATTR, ENTITY_TYPE_WITH_COMPLEX_COLLECTION_ATTR + "_description", null, createUniqueRequiredAttrDef("name", "string"), new AtlasAttributeDef("listOfStructs", String.format("array<%s>", STRUCT_TYPE), true, LIST, 1, 1, false, false, false, Collections.emptyList()), new AtlasAttributeDef("listOfEntities", String.format("array<%s>", ENTITY_TYPE), true, LIST, 1, 1, false, false, false, new ArrayList<AtlasConstraintDef>() {{ add(new AtlasConstraintDef(CONSTRAINT_TYPE_OWNED_REF)); }}), new AtlasAttributeDef("mapOfStructs", String.format("map<%s,%s>", "string", STRUCT_TYPE), true, SINGLE, 1, 1, false, false, false, Collections.emptyList()), new AtlasAttributeDef("mapOfEntities", String.format("map<%s,%s>", "string", ENTITY_TYPE), true, SINGLE, 1, 1, false, false, false, new ArrayList<AtlasConstraintDef>() {{ add(new AtlasConstraintDef(CONSTRAINT_TYPE_OWNED_REF)); }}) ); AtlasTypesDef ret = AtlasTypeUtil.getTypesDef(Collections.emptyList(), Arrays.asList(structType), Collections.emptyList(), Arrays.asList(entityType, complexCollectionEntityType)); populateSystemAttributes(ret); return ret; }
public static AtlasTypesDef simpleType(){ AtlasEntityDef superTypeDefinition = createClassTypeDef("h_type", Collections.<String>emptySet(), createOptionalAttrDef("attr", "string")); AtlasStructDef structTypeDefinition = new AtlasStructDef("s_type", "structType", "1.0", Arrays.asList(createRequiredAttrDef("name", "string"))); AtlasClassificationDef traitTypeDefinition = AtlasTypeUtil.createTraitTypeDef("t_type", "traitType", Collections.<String>emptySet()); AtlasEnumDef enumTypeDefinition = new AtlasEnumDef("e_type", "enumType", "1.0", Arrays.asList(new AtlasEnumElementDef("ONE", "Element Description", 1))); AtlasTypesDef ret = AtlasTypeUtil.getTypesDef(Collections.singletonList(enumTypeDefinition), Collections.singletonList(structTypeDefinition), Collections.singletonList(traitTypeDefinition), Collections.singletonList(superTypeDefinition)); populateSystemAttributes(ret); return ret; }
AtlasStructDef updatedDef = new AtlasStructDef((AtlasStructDef)typeDef);
public static AtlasTypesDef simpleTypeUpdated(){ AtlasEntityDef superTypeDefinition = createClassTypeDef("h_type", Collections.<String>emptySet(), createOptionalAttrDef("attr", "string")); AtlasEntityDef newSuperTypeDefinition = createClassTypeDef("new_h_type", Collections.<String>emptySet(), createOptionalAttrDef("attr", "string")); AtlasStructDef structTypeDefinition = new AtlasStructDef("s_type", "structType", "1.0", Arrays.asList(createRequiredAttrDef("name", "string"))); AtlasClassificationDef traitTypeDefinition = AtlasTypeUtil.createTraitTypeDef("t_type", "traitType", Collections.<String>emptySet()); AtlasEnumDef enumTypeDefinition = new AtlasEnumDef("e_type", "enumType", Arrays.asList(new AtlasEnumElementDef("ONE", "Element Description", 1))); AtlasTypesDef ret = AtlasTypeUtil.getTypesDef(Collections.singletonList(enumTypeDefinition), Collections.singletonList(structTypeDefinition), Collections.singletonList(traitTypeDefinition), Arrays.asList(superTypeDefinition, newSuperTypeDefinition)); populateSystemAttributes(ret); return ret; }
@Override public Object call() throws Exception { for (int i = 0; i < numOfTypesPerKind; i++) { addType(typeRegistry, new AtlasEnumDef(enumTypePrefix + i)); } for (int i = 0; i < numOfTypesPerKind; i++) { addType(typeRegistry, new AtlasStructDef(structTypePrefix + i)); } for (int i = 0; i < numOfTypesPerKind; i++) { addType(typeRegistry, new AtlasClassificationDef(classificationPrefix + i)); } for (int i = 0; i < numOfTypesPerKind; i++) { addType(typeRegistry, new AtlasEntityDef(entityTypePrefix + i)); } return null; } });
@Override public Object call() throws Exception { for (int i = 0; i < numOfTypesPerKind; i++) { addType(typeRegistry, new AtlasEnumDef(enumTypePrefix + i)); } for (int i = 0; i < numOfTypesPerKind; i++) { addType(typeRegistry, new AtlasStructDef(structTypePrefix + i)); } for (int i = 0; i < numOfTypesPerKind; i++) { addType(typeRegistry, new AtlasClassificationDef(classificationPrefix + i)); } for (int i = 0; i < numOfTypesPerKind; i++) { addType(typeRegistry, new AtlasEntityDef(entityTypePrefix + i)); } return null; } });
AtlasStructDef updatedDef = new AtlasStructDef((AtlasStructDef)typeDef);
public static AtlasStructDef newStructDef(AtlasTypeRegistry typesRegistry) { int structDefIdx = IDX_STRUCT_DEF.getAndIncrement(); AtlasStructDef ret = new AtlasStructDef(); ret.setName(PREFIX_STRUCT_DEF + structDefIdx); ret.setDescription(ret.getName()); ret.setAttributeDefs(newAttributeDefsWithAllBuiltInTypes(PREFIX_ATTRIBUTE_NAME)); AtlasTransientTypeRegistry ttr = null; boolean commit = false; try { ttr = typesRegistry.lockTypeRegistryForUpdate(); ttr.addType(ret); commit = true; } catch (AtlasBaseException excp) { LOG.error("failed to create struct-def", excp); ret = null; } finally { typesRegistry.releaseTypeRegistryForUpdate(ttr, commit); } return ret; }
public static AtlasStructDef newStructDef(AtlasTypeRegistry typesRegistry) { int structDefIdx = IDX_STRUCT_DEF.getAndIncrement(); AtlasStructDef ret = new AtlasStructDef(); ret.setName(PREFIX_STRUCT_DEF + structDefIdx); ret.setDescription(ret.getName()); ret.setAttributeDefs(newAttributeDefsWithAllBuiltInTypes(PREFIX_ATTRIBUTE_NAME)); AtlasTransientTypeRegistry ttr = null; boolean commit = false; try { ttr = typesRegistry.lockTypeRegistryForUpdate(); ttr.addType(ret); commit = true; } catch (AtlasBaseException excp) { LOG.error("failed to create struct-def", excp); ret = null; } finally { typesRegistry.releaseTypeRegistryForUpdate(ttr, commit); } return ret; }