From e8f5107137ffb82b5bd9870c7bb920b945bce897 Mon Sep 17 00:00:00 2001 From: Cyrus <24922493+cyrus-dev@users.noreply.github.com> Date: Mon, 9 Nov 2020 13:59:19 -0500 Subject: [PATCH] Updating code to use a different format for identifying failed components. --- .../SupplyChainValidationServiceImpl.java | 24 +++++++++++++++++++ .../SupplyChainCredentialValidator.java | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/service/SupplyChainValidationServiceImpl.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/service/SupplyChainValidationServiceImpl.java index be430c30..13612706 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/service/SupplyChainValidationServiceImpl.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/service/SupplyChainValidationServiceImpl.java @@ -84,6 +84,7 @@ public class SupplyChainValidationServiceImpl implements SupplyChainValidationSe private static final Logger LOGGER = LogManager.getLogger(SupplyChainValidationServiceImpl.class); + private static final int VALUE_INDEX = 1; /** * Constructor. @@ -270,6 +271,29 @@ public class SupplyChainValidationServiceImpl implements SupplyChainValidationSe return summary; } + private String updateUnmatchedComponents(final String unmatchedString) { + StringBuilder updatedFailures = new StringBuilder(); + String manufacturer = ""; + String model = ""; + for (String rows : unmatchedString.split(";")) { + for (String str : rows.split(",")) { + String[] manufacturerSplit; + String[] modelSplit; + if (str.contains("Manufacturer")) { + manufacturerSplit = str.split("="); + manufacturer = manufacturerSplit[VALUE_INDEX]; + } + if (str.contains("Model")) { + modelSplit = str.split("="); + model = modelSplit[VALUE_INDEX]; + } + } + updatedFailures.append(String.format("%s%s;", manufacturer, model)); + } + + return updatedFailures.toString(); + } + /** * This method is a sub set of the validate supply chain method and focuses * on the specific multibase validation check for a delta chain. This method diff --git a/HIRS_Utils/src/main/java/hirs/validation/SupplyChainCredentialValidator.java b/HIRS_Utils/src/main/java/hirs/validation/SupplyChainCredentialValidator.java index 08cc3134..b449e2de 100644 --- a/HIRS_Utils/src/main/java/hirs/validation/SupplyChainCredentialValidator.java +++ b/HIRS_Utils/src/main/java/hirs/validation/SupplyChainCredentialValidator.java @@ -856,7 +856,7 @@ public final class SupplyChainCredentialValidator implements CredentialValidator for (ComponentIdentifier unmatchedComponent : pcUnmatchedComponents) { LOGGER.error("Unmatched component " + unmatchedComponentCounter++ + ": " + unmatchedComponent); - sb.append(String.format("Manufacturer=%s, Model=%s, Serial=%s, Revision=%s%n", + sb.append(String.format("Manufacturer=%s, Model=%s, Serial=%s, Revision=%s;%n", unmatchedComponent.getComponentManufacturer(), unmatchedComponent.getComponentModel(), unmatchedComponent.getComponentSerial(),