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 070b2214a..7f8d32069 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 @@ -383,10 +383,19 @@ public void postBrapiData(Map mappedBrAPIImport, Program mutatedObservationByDbId.forEach((id, observation) -> { try { + if (observation == null) { + throw new Exception("Null observation"); + } BrAPIObservation updatedObs = brAPIObservationDAO.updateBrAPIObservation(id, observation, program.getId()); - if (!observation.getValue().equals(updatedObs.getValue()) || !observation.getObservationTimeStamp().isEqual(updatedObs.getObservationTimeStamp())) { + + if (updatedObs == null) { + throw new Exception("Null updated observation"); + } + + if (!Objects.equals(observation.getValue(), updatedObs.getValue()) + || !Objects.equals(observation.getObservationTimeStamp(), updatedObs.getObservationTimeStamp())) { String message; - if(!observation.getValue().equals(updatedObs.getValue())) { + if(!Objects.equals(observation.getValue(), updatedObs.getValue())) { message = String.format("Updated observation, %s, from BrAPI service does not match requested update %s.", updatedObs.getValue(), observation.getValue()); } else { message = String.format("Updated observation timestamp, %s, from BrAPI service does not match requested update timestamp %s.", updatedObs.getObservationTimeStamp(), observation.getObservationTimeStamp()); @@ -401,9 +410,7 @@ public void postBrapiData(Map mappedBrAPIImport, Program throw new InternalServerException(e.getMessage(), e); } }); - log.debug("experiment import complete"); - } private void prepareDataForValidation(List importRows, List> phenotypeCols, Map mappedBrAPIImport) { @@ -1091,7 +1098,12 @@ private void fetchOrCreateDatasetPIO(ExperimentObservation importRow, Program pr addObsVarsToDatasetDetails(pio, referencedTraits, program); } - private PendingImportObject fetchOrCreateStudyPIO(Program program, boolean commit, String expSequenceValue, ExperimentObservation importRow, Supplier envNextVal) { + private PendingImportObject fetchOrCreateStudyPIO( + Program program, + boolean commit, + String expSequenceValue, + ExperimentObservation importRow, + Supplier envNextVal) { PendingImportObject pio; if (studyByNameNoScope.containsKey(importRow.getEnv())) { pio = studyByNameNoScope.get(importRow.getEnv()); @@ -1133,8 +1145,7 @@ private void addYearToStudyAdditionalInfo(Program program, BrAPIStudy study) { //if it is already there, don't add it. if(additionalInfo==null || additionalInfo.get(BrAPIAdditionalInfoFields.ENV_YEAR)==null) { - String seasonDbId = study.getSeasons().get(0); - String year = seasonDbIdToYear(seasonDbId, program.getId()); + String year = study.getSeasons().get(0); addYearToStudyAdditionalInfo(program, study, year); } }