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 a5fedaf84..34030b795 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 @@ -525,7 +525,7 @@ private List verifyTraits(UUID programId, List> phenotypeCols, .map(TraitEntity::getObservationVariableName) .collect(Collectors.toSet()); List differences = varNames.stream() - .filter(var -> !returnedVarNames.contains(var)) + .filter(var -> !Utilities.containsCaseInsensitive(var, returnedVarNames)) .collect(Collectors.toList()); //TODO convert this to a ValidationError throw new HttpStatusException(HttpStatus.UNPROCESSABLE_ENTITY, diff --git a/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/services/ExperimentValidateService.java b/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/services/ExperimentValidateService.java index d12ff2509..af143863b 100644 --- a/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/services/ExperimentValidateService.java +++ b/src/main/java/org/breedinginsight/brapps/importer/services/processors/experiment/services/ExperimentValidateService.java @@ -27,6 +27,7 @@ import org.breedinginsight.model.Trait; import org.breedinginsight.services.OntologyService; import org.breedinginsight.services.exceptions.DoesNotExistException; +import org.breedinginsight.utilities.Utilities; import tech.tablesaw.columns.Column; import javax.inject.Inject; @@ -78,7 +79,7 @@ public List verifyTraits(UUID programId, DynamicColumnParseResult cols) { .map(TraitEntity::getObservationVariableName) .collect(Collectors.toSet()); List differences = varNames.stream() - .filter(var -> !returnedVarNames.contains(var)) + .filter(var -> !Utilities.containsCaseInsensitive(var, returnedVarNames)) .collect(Collectors.toList()); //TODO convert this to a ValidationError throw new HttpStatusException(HttpStatus.UNPROCESSABLE_ENTITY, diff --git a/src/main/java/org/breedinginsight/utilities/Utilities.java b/src/main/java/org/breedinginsight/utilities/Utilities.java index 92b46623e..20f3254d6 100644 --- a/src/main/java/org/breedinginsight/utilities/Utilities.java +++ b/src/main/java/org/breedinginsight/utilities/Utilities.java @@ -27,10 +27,7 @@ import java.lang.reflect.Field; import java.sql.ResultSet; import java.sql.Statement; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; -import java.util.UUID; +import java.util.*; import java.util.function.Function; import java.util.regex.Pattern; @@ -48,10 +45,10 @@ public static Optional findInList(List checkList, T objectToCheck, Fun * Case insensitive search for string in string list * * @param target - string to search for - * @param list - list of strings to search in + * @param list - collection of strings to search in * @return true if case insensitive match, false otherwise */ - public static boolean containsCaseInsensitive(String target, List list){ + public static boolean containsCaseInsensitive(String target, Collection list){ return list.stream().anyMatch(x -> x.equalsIgnoreCase(target)); }