Skip to content

Commit ace2171

Browse files
committed
handle null in ResourceDefinitionTargetClassesCache
to get rid of the nullpointerexceptions in tests, like: Cannot invoke "org.fairdatateam.fairdatapoint.entity.schema.MetadataSchema.getTargetClasses()" because the return value of "java.util.Map.get(Object)" is null at org.fairdatateam.fairdatapoint.service.resource.ResourceDefinitionTargetClassesCache.lambda$computeCache$2(ResourceDefinitionTargetClassesCache.java:84)
1 parent e303a0f commit ace2171

1 file changed

Lines changed: 10 additions & 8 deletions

File tree

src/main/java/org/fairdatateam/fairdatapoint/service/resource/ResourceDefinitionTargetClassesCache.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -75,17 +75,19 @@ public void computeCache() {
7575
final Queue<String> parentUuids =
7676
new LinkedList<>(metadataSchemaMap.get(schemaUuid).getExtendSchemas());
7777
final Set<String> visitedParents = new HashSet<>();
78-
String parentUuid = null;
7978
while (!parentUuids.isEmpty()) {
80-
parentUuid = parentUuids.poll();
79+
String parentUuid = parentUuids.poll();
8180
if (!visitedParents.contains(parentUuid)) {
8281
visitedParents.add(parentUuid);
83-
targetClassUris.addAll(
84-
metadataSchemaMap.get(parentUuid).getTargetClasses()
85-
);
86-
parentUuids.addAll(
87-
metadataSchemaMap.get(parentUuid).getExtendSchemas()
88-
);
82+
final MetadataSchema parentSchema = metadataSchemaMap.get(parentUuid);
83+
if (parentSchema != null) {
84+
targetClassUris.addAll(
85+
Optional.ofNullable(parentSchema.getTargetClasses()).orElse(Set.of())
86+
);
87+
parentUuids.addAll(
88+
Optional.ofNullable(parentSchema.getExtendSchemas()).orElse(List.of())
89+
);
90+
}
8991
}
9092
}
9193
}

0 commit comments

Comments
 (0)