This is an automated email from the ASF dual-hosted git repository. nixon pushed a commit to branch branch-0.8 in repository https://gitbox.apache.org/repos/asf/atlas.git
commit 4099b072c70f1480f7c4f1f494b2b400dea7df59 Author: nikhilbonte <[email protected]> AuthorDate: Mon Aug 5 12:20:17 2019 +0530 ATLAS-3358 NPE when Atlas is trying to read from graphDB Change-Id: Ie9037cafc3e72679d2700c620f0d0d63954d6ddd --- .../repository/typestore/GraphBackedTypeStore.java | 50 ++++++++++++---------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java b/repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java index ba71c1e..3eaa5d0 100644 --- a/repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java +++ b/repository/src/main/java/org/apache/atlas/repository/typestore/GraphBackedTypeStore.java @@ -255,34 +255,38 @@ public class GraphBackedTypeStore implements ITypeStore { String typeName = AtlasGraphUtilsV1.getEncodedProperty(vertex, Constants.TYPENAME_PROPERTY_KEY, String.class); String typeDescription = AtlasGraphUtilsV1.getEncodedProperty(vertex, Constants.TYPEDESCRIPTION_PROPERTY_KEY, String.class); LOG.info("Restoring type {}.{}.{}", typeCategory, typeName, typeDescription); - switch (typeCategory) { - case ENUM: - enums.add(getEnumType(vertex)); - break; - case STRUCT: - AttributeDefinition[] attributes = getAttributes(vertex, typeName); - structs.add(new StructTypeDefinition(typeName, typeDescription, attributes)); - break; + if(typeCategory != null && typeName != null ) { - case CLASS: - ImmutableSet<String> superTypes = getSuperTypes(vertex); - attributes = getAttributes(vertex, typeName); - classTypes.add(new HierarchicalTypeDefinition(ClassType.class, typeName, typeDescription, superTypes, attributes)); - break; + switch (typeCategory) { + case ENUM: + enums.add(getEnumType(vertex)); + break; - case TRAIT: - superTypes = getSuperTypes(vertex); - attributes = getAttributes(vertex, typeName); - traits.add(new HierarchicalTypeDefinition(TraitType.class, typeName, typeDescription, superTypes, attributes)); - break; + case STRUCT: + AttributeDefinition[] attributes = getAttributes(vertex, typeName); + structs.add(new StructTypeDefinition(typeName, typeDescription, attributes)); + break; - case RELATIONSHIP: - // v1 typesystem is not notified on new relation type - break; + case CLASS: + ImmutableSet<String> superTypes = getSuperTypes(vertex); + attributes = getAttributes(vertex, typeName); + classTypes.add(new HierarchicalTypeDefinition(ClassType.class, typeName, typeDescription, superTypes, attributes)); + break; - default: - throw new IllegalArgumentException("Unhandled type category " + typeCategory); + case TRAIT: + superTypes = getSuperTypes(vertex); + attributes = getAttributes(vertex, typeName); + traits.add(new HierarchicalTypeDefinition(TraitType.class, typeName, typeDescription, superTypes, attributes)); + break; + + case RELATIONSHIP: + // v1 typesystem is not notified on new relation type + break; + + default: + throw new IllegalArgumentException("Unhandled type category " + typeCategory); + } } } return TypesUtil.getTypesDef(enums.build(), structs.build(), traits.build(), classTypes.build());
