From 219792b167da64993bbcdfc249983cec75d86242 Mon Sep 17 00:00:00 2001 From: "sameed.ahmad" Date: Tue, 23 Apr 2024 15:49:48 +0530 Subject: [PATCH] fix(importCDX): Resolve incorrect package/release count in import summary Signed-off-by: sameed.ahmad --- .../sw360/cyclonedx/CycloneDxBOMImporter.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/backend/src-common/src/main/java/org/eclipse/sw360/cyclonedx/CycloneDxBOMImporter.java b/backend/src-common/src/main/java/org/eclipse/sw360/cyclonedx/CycloneDxBOMImporter.java index f3e6ac018a..08402379e8 100644 --- a/backend/src-common/src/main/java/org/eclipse/sw360/cyclonedx/CycloneDxBOMImporter.java +++ b/backend/src-common/src/main/java/org/eclipse/sw360/cyclonedx/CycloneDxBOMImporter.java @@ -254,16 +254,17 @@ public RequestSummary importFromBOM(InputStream inputStream, AttachmentContent a componentsWithoutVcs.add(fullName); if (CommonUtils.isNotNullEmptyOrWhitespace(pkgAddSummary.getId())) { - project.addToPackageIds(pkgAddSummary.getId()); pkg.setId(pkgAddSummary.getId()); if (AddDocumentRequestStatus.DUPLICATE.equals(pkgAddSummary.getRequestStatus())) { - pkgReuseCount++; + if(!CommonUtils.nullToEmptySet(project.getPackageIds()).contains(pkgAddSummary.getId())){ + pkgReuseCount++; + } Package dupPkg = packageDatabaseHandler.getPackageById(pkgAddSummary.getId()); if (CommonUtils.isNotNullEmptyOrWhitespace(dupPkg.getReleaseId())) { if (!CommonUtils.nullToEmptyMap(project.getReleaseIdToUsage()).containsKey(dupPkg.getReleaseId())) { project.putToReleaseIdToUsage(dupPkg.getReleaseId(), getDefaultRelation()); + relReuseCount++; } - relReuseCount++; } } else { pkgCreationCount++; @@ -274,11 +275,11 @@ public RequestSummary importFromBOM(InputStream inputStream, AttachmentContent a duplicatePackages.add(fullName); continue; } + project.addToPackageIds(pkgAddSummary.getId()); } catch (SW360Exception e) { log.error("An error occured while creating/adding package from SBOM: " + e.getMessage()); continue; } - } } RequestStatus updateStatus = projectDatabaseHandler.updateProject(project, user); @@ -651,7 +652,9 @@ private Map importAllComponentsAsPackages(Map