From 3bbed9e72afa7cd9b3efb30a76c36b3cbd2891b4 Mon Sep 17 00:00:00 2001 From: dmeidlin <14339308+dmeidlin@users.noreply.github.com> Date: Thu, 15 Aug 2024 16:53:08 -0400 Subject: [PATCH] fix error types caught in importTableProcess --- .../services/processors/experiment/ExperimentUtilities.java | 1 + .../appendoverwrite/middleware/process/ImportTableProcess.java | 2 +- .../processors/experiment/service/ObservationUnitService.java | 2 +- .../experiment/service/ObservationVariableService.java | 3 ++- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/ExperimentUtilities.java b/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/ExperimentUtilities.java index f8a291372..d3e4dc1e2 100644 --- a/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/ExperimentUtilities.java +++ b/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/ExperimentUtilities.java @@ -69,6 +69,7 @@ public class ExperimentUtilities { public static final String MULTIPLE_EXP_TITLES = "File contains more than one Experiment Title"; public static final String PREEXISTING_EXPERIMENT_TITLE = "Experiment Title already exists"; public static final String MISSING_OBS_UNIT_ID_ERROR = "Experimental entities are missing ObsUnitIDs"; + public static final String UNMATCHED_COLUMN = "Ontology term(s) not found: "; diff --git a/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/appendoverwrite/middleware/process/ImportTableProcess.java b/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/appendoverwrite/middleware/process/ImportTableProcess.java index b8f91fae4..0013f0458 100644 --- a/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/appendoverwrite/middleware/process/ImportTableProcess.java +++ b/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/appendoverwrite/middleware/process/ImportTableProcess.java @@ -375,7 +375,7 @@ public AppendOverwriteMiddlewareContext process(AppendOverwriteMiddlewareContext context.getAppendOverwriteWorkflowContext().setPendingObservationByHash(pendingObservationByHash); return processNext(context); - } catch (DoesNotExistException | ApiException | UnprocessableEntityException | ValidatorException e) { + } catch (DoesNotExistException | ApiException | UnprocessableEntityException | ValidatorException | IllegalStateException e) { context.getAppendOverwriteWorkflowContext().setProcessError(new MiddlewareException(e)); return this.compensate(context); } diff --git a/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/service/ObservationUnitService.java b/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/service/ObservationUnitService.java index ff5da2813..e363f9d46 100644 --- a/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/service/ObservationUnitService.java +++ b/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/service/ObservationUnitService.java @@ -75,7 +75,7 @@ public List getObservationUnitsByDbId(Set expUnitI missingIds.removeAll(brapiUnits.stream().map(BrAPIObservationUnit::getObservationUnitDbId).collect(Collectors.toSet())); // Throw exception with missing IDs information - throw new IllegalStateException("Observation unit not found for unit dbid(s): " + String.join(COMMA_DELIMITER, missingIds)); + throw new IllegalStateException(ExperimentUtilities.UNMATCHED_COLUMN + String.join(COMMA_DELIMITER, missingIds)); } return brapiUnits; diff --git a/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/service/ObservationVariableService.java b/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/service/ObservationVariableService.java index ce43db2b4..313c33670 100644 --- a/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/service/ObservationVariableService.java +++ b/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/service/ObservationVariableService.java @@ -20,6 +20,7 @@ import io.micronaut.http.HttpStatus; import org.apache.commons.lang3.StringUtils; import org.breedinginsight.api.model.v1.response.ValidationError; +import org.breedinginsight.brapps.importer.services.processors.experiment.ExperimentUtilities; import org.breedinginsight.brapps.importer.services.processors.experiment.model.ExpImportProcessConstants; import org.breedinginsight.model.Program; import org.breedinginsight.model.Trait; @@ -69,7 +70,7 @@ public List fetchTraitsByName(Set varNames, Program program) thro if (varNames.size() != traits.size()) { Set missingVarNames = new HashSet<>(varNames); missingVarNames.removeAll(traits.stream().map(TraitEntity::getObservationVariableName).collect(Collectors.toSet())); - throw new IllegalStateException("Observation variables not found for name(s): " + String.join(ExpImportProcessConstants.COMMA_DELIMITER, missingVarNames)); + throw new DoesNotExistException(ExperimentUtilities.UNMATCHED_COLUMN + String.join(ExpImportProcessConstants.COMMA_DELIMITER, missingVarNames)); } return traits;