diff --git a/src/main/java/org/breedinginsight/brapi/v2/constants/BrAPIAdditionalInfoFields.java b/src/main/java/org/breedinginsight/brapi/v2/constants/BrAPIAdditionalInfoFields.java index d14663cd2..a69a7b983 100644 --- a/src/main/java/org/breedinginsight/brapi/v2/constants/BrAPIAdditionalInfoFields.java +++ b/src/main/java/org/breedinginsight/brapi/v2/constants/BrAPIAdditionalInfoFields.java @@ -47,7 +47,6 @@ public final class BrAPIAdditionalInfoFields { public static final String DATASETS = "datasets"; public static final String FEMALE_PARENT_UNKNOWN = "femaleParentUnknown"; public static final String MALE_PARENT_UNKNOWN = "maleParentUnknown"; - public static final String TREATMENTS = "treatments"; public static final String GID = "gid"; public static final String CHANGELOG = "changeLog"; public static final String ENV_YEAR = "envYear"; diff --git a/src/main/java/org/breedinginsight/brapi/v2/dao/BrAPIObservationUnitDAO.java b/src/main/java/org/breedinginsight/brapi/v2/dao/BrAPIObservationUnitDAO.java index 9749bf093..76acb8076 100644 --- a/src/main/java/org/breedinginsight/brapi/v2/dao/BrAPIObservationUnitDAO.java +++ b/src/main/java/org/breedinginsight/brapi/v2/dao/BrAPIObservationUnitDAO.java @@ -176,7 +176,6 @@ public List createBrAPIObservationUnits(List> postFunction = () -> { - preprocessObservationUnits(brAPIObservationUnitList); List ous = brAPIDAOUtil.post(brAPIObservationUnitList, upload, api::observationunitsPost, importDAO::update); return processObservationUnitsForCache(ous, program, false); }; @@ -198,7 +197,6 @@ public List createBrAPIObservationUnits(List> postFunction = () -> { - preprocessObservationUnits(brAPIObservationUnitList); List ous = brAPIDAOUtil.post(brAPIObservationUnitList, api::observationunitsPost); return processObservationUnitsForCache(ous, program, false); }; @@ -387,15 +385,9 @@ private void processObservationUnits(Program program, List this.germplasmService.getGermplasm(program.getId()).forEach((germplasm -> germplasmByDbId.put(germplasm.getGermplasmDbId(), germplasm))); } - // if has treatments in additionalInfo, copy to treatments property for (BrAPIObservationUnit ou : brapiObservationUnits) { JsonObject additionalInfo = ou.getAdditionalInfo(); if (additionalInfo != null) { - JsonElement treatmentsElement = additionalInfo.get(BrAPIAdditionalInfoFields.TREATMENTS); - if (treatmentsElement != null) { - List treatments = gson.fromJson(treatmentsElement, treatmentlistType); - ou.setTreatments(treatments); - } if( withGID ){ BrAPIGermplasm germplasm = germplasmByDbId.get(ou.getGermplasmDbId()); ou.putAdditionalInfoItem(BrAPIAdditionalInfoFields.GID, germplasm.getAccessionNumber()); @@ -432,14 +424,4 @@ private void processObservationUnits(Program program, List } } } - - private void preprocessObservationUnits(List brapiObservationUnits) { - // add treatments to additional info - for (BrAPIObservationUnit obsUnit : brapiObservationUnits) { - List treatments = obsUnit.getTreatments(); - if (treatments != null) { - obsUnit.putAdditionalInfoItem(BrAPIAdditionalInfoFields.TREATMENTS, treatments); - } - } - } } diff --git a/src/test/java/org/breedinginsight/brapps/importer/daos/BrAPIObservationUnitDAOTest.java b/src/test/java/org/breedinginsight/brapps/importer/daos/BrAPIObservationUnitDAOTest.java index f4375e590..bd2048b61 100644 --- a/src/test/java/org/breedinginsight/brapps/importer/daos/BrAPIObservationUnitDAOTest.java +++ b/src/test/java/org/breedinginsight/brapps/importer/daos/BrAPIObservationUnitDAOTest.java @@ -36,6 +36,7 @@ import static org.breedinginsight.TestUtils.insertAndFetchTestProgram; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; @MicronautTest @TestInstance(TestInstance.Lifecycle.PER_CLASS) @@ -119,12 +120,14 @@ public void setup() { @SneakyThrows @Order(1) public void testCreateObservationUnitAdditionalInfoSingleTreatmentFactor() { - // create observation unit with treatments only in additional info to simulate breedbase not populating // treatments field BrAPIObservationUnit ou1 = new BrAPIObservationUnit(); ou1.setObservationUnitName("test1"); - ou1.putAdditionalInfoItem(BrAPIAdditionalInfoFields.TREATMENTS, List.of(testTreatment)); ou1.setProgramDbId(validProgram.getBrapiProgram().getProgramDbId()); + + var treatment = new BrAPIObservationTreatment(); + treatment.setFactor("ou1 treatment"); + ou1.setTreatments(List.of(treatment)); // Set xref. BrAPIExternalReference xref = new BrAPIExternalReference(); xref.setReferenceSource(Utilities.generateReferenceSource(referenceSource, ExternalReferenceSource.OBSERVATION_UNITS)); @@ -153,6 +156,9 @@ private void singleTreatmentAsserts(List obsUnits, BrAPIOb BrAPIObservationTreatment treatment = treatments.get(0); assertEquals(expectedTreatment, treatment, "Expected treatments to be same"); + + // Storing treatments in additionalInfo is no longer necessary since BrAPI server stores treatments in observation_unit_treatment + assertNull(ou.getAdditionalInfo(), "Expected OU additionalInfo to be null"); } }