diff --git a/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/page/controllers/ReferenceManifestPageController.java b/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/page/controllers/ReferenceManifestPageController.java index f584bdafe..3728d38a6 100644 --- a/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/page/controllers/ReferenceManifestPageController.java +++ b/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/page/controllers/ReferenceManifestPageController.java @@ -160,14 +160,14 @@ protected RedirectView upload( Pattern baseRimPattern = Pattern.compile(BASE_RIM_FILE_PATTERN); Pattern supportRimPattern = Pattern.compile(SUPPORT_RIM_FILE_PATTERN); Matcher matcher; - boolean isBaseRim = false; - boolean isSupportRim = false; List baseRims = new ArrayList<>(); List supportRims = new ArrayList<>(); log.info(String.format("Processing %s uploaded files", files.length)); // loop through the files for (MultipartFile file : files) { + boolean isBaseRim; + boolean isSupportRim = false; fileName = file.getOriginalFilename(); matcher = baseRimPattern.matcher(fileName); isBaseRim = matcher.matches(); @@ -175,16 +175,15 @@ protected RedirectView upload( matcher = supportRimPattern.matcher(fileName); isSupportRim = matcher.matches(); } - if (!isBaseRim && !isSupportRim) { + if (isBaseRim || isSupportRim) { + parseRIM(file, isSupportRim, messages, baseRims, supportRims); + } else { String errorString = "The file extension of " + fileName + " was not recognized." + " Base RIMs support the extension \".swidtag\", and support RIMs support " + "\".rimpcr\", \".rimel\", \".bin\", and \".log\". " + "Please verify your upload and retry."; log.error("File extension in " + fileName + " not recognized as base or support RIM."); messages.addError(errorString); - } else { - //Parse reference manifests - parseRIM(file, isSupportRim, messages, baseRims, supportRims); } } baseRims.stream().forEach((rim) -> { @@ -412,13 +411,14 @@ private void parseRIM( if (referenceManifestRepository.findByHexDecHashAndRimType( supportRim.getHexDecHash(), supportRim.getRimType()) == null) { supportRims.add(supportRim); - messages.addInfo("Saved Reference Manifest " + fileName); + messages.addInfo("Saved support RIM " + fileName); } } else { baseRim = new BaseReferenceManifest(fileName, fileBytes); if (referenceManifestRepository.findByHexDecHashAndRimType( baseRim.getHexDecHash(), baseRim.getRimType()) == null) { baseRims.add(baseRim); + messages.addInfo("Saved base RIM " + fileName); } } } catch (IOException | NullPointerException ioEx) { @@ -431,6 +431,10 @@ private void parseRIM( = String.format("Failed to parse base RIM file (%s): ", fileName); log.error(failMessage, e); messages.addError(failMessage + e.getMessage()); + } catch (Exception e) { + final String failMessage + = String.format("Failed to parse (%s): ", fileName); + log.error(failMessage, e); } }