From 8f6f047f1e1fef25dac0b561255284f835d3e0f5 Mon Sep 17 00:00:00 2001 From: nickpalladino Date: Thu, 19 Feb 2026 16:54:01 -0500 Subject: [PATCH] Fix status code check --- .../brapi/v2/services/BrAPITrialService.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/breedinginsight/brapi/v2/services/BrAPITrialService.java b/src/main/java/org/breedinginsight/brapi/v2/services/BrAPITrialService.java index f34b5542b..5d8788beb 100644 --- a/src/main/java/org/breedinginsight/brapi/v2/services/BrAPITrialService.java +++ b/src/main/java/org/breedinginsight/brapi/v2/services/BrAPITrialService.java @@ -465,9 +465,11 @@ public Dataset createSubEntityDataset(Program program, UUID experimentId, SubEnt String programDbId = program.getBrapiProgram() != null ? program.getBrapiProgram().getProgramDbId() : null; HttpResponse levelResponse = observationLevelDAO.createObservationLevelName(program, datasetName, DatasetLevel.SUB_OBS_UNIT, programDbId); - if (levelResponse.getStatus() == HttpStatus.CONFLICT) { - throw new AlreadyExistsException("Dataset name already exists in this experiment"); - } else if (levelResponse.getStatus().getCode() < 200 || levelResponse.getStatus().getCode() >= 300) { + + // 409 and 200 are expected response codes, anything else error out + // 409 means level already exists so we just use the name in OUs + // 200 means level was created successfully and can use the name in OUs + if (levelResponse.getStatus() != HttpStatus.CONFLICT && levelResponse.getStatus() != HttpStatus.OK) { throw new ApiException(levelResponse.getStatus().getCode(), "Unable to create observation level: " + levelResponse.getStatus().getReason()); }