Avoid recursion in computeIfAbsent

This commit is contained in:
Stephane Nicoll
2018-02-28 20:14:26 +01:00
parent e6489e774a
commit eb811a557e
@@ -244,13 +244,13 @@ public class ProjectRequest extends BasicProjectRequest {
private void resolveBom(InitializrMetadata metadata, String bomId, private void resolveBom(InitializrMetadata metadata, String bomId,
Version requestedVersion) { Version requestedVersion) {
boms.computeIfAbsent(bomId, key -> { if (!boms.containsKey(bomId)) {
BillOfMaterials bom = metadata.getConfiguration().getEnv().getBoms().get(key) BillOfMaterials bom = metadata.getConfiguration().getEnv().getBoms().get(bomId)
.resolve(requestedVersion); .resolve(requestedVersion);
bom.getAdditionalBoms() bom.getAdditionalBoms()
.forEach(id -> resolveBom(metadata, id, requestedVersion)); .forEach(id -> resolveBom(metadata, id, requestedVersion));
return bom; boms.put(bomId, bom);
}); }
} }
/** /**