From 025ab04dbbb1b8e01ab0b7005987fd15d87209cf Mon Sep 17 00:00:00 2001 From: mlm483 <128052931+mlm483@users.noreply.github.com> Date: Thu, 1 Feb 2024 16:35:00 -0500 Subject: [PATCH] [BI-2043] - moved expensive call outside nested loops --- .../importer/services/processors/ExperimentProcessor.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/breedinginsight/brapps/importer/services/processors/ExperimentProcessor.java b/src/main/java/org/breedinginsight/brapps/importer/services/processors/ExperimentProcessor.java index 4d93ad4f9..525a5e5b5 100644 --- a/src/main/java/org/breedinginsight/brapps/importer/services/processors/ExperimentProcessor.java +++ b/src/main/java/org/breedinginsight/brapps/importer/services/processors/ExperimentProcessor.java @@ -509,7 +509,7 @@ private void initNewBrapiData(List importRows, List> phen throw new HttpStatusException(HttpStatus.UNPROCESSABLE_ENTITY, "Program is not properly configured for environment import"); } Supplier envNextVal = () -> dsl.nextval(envSequenceName.toLowerCase()); - + existingObsByObsHash = fetchExistingObservations(referencedTraits, program); for (int rowNum = 0; rowNum < importRows.size(); rowNum++) { ExperimentObservation importRow = (ExperimentObservation) importRows.get(rowNum); @@ -1010,7 +1010,7 @@ private void fetchOrCreateObservationPIO(Program program, String variableName = column.name(); String value = column.getString(rowNum); String key = getImportObservationHash(importRow, variableName); - existingObsByObsHash = fetchExistingObservations(referencedTraits, program); + if (existingObsByObsHash.containsKey(key)) { if (StringUtils.isNotBlank(value) && !isObservationMatched(key, value, column, rowNum)){