Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,6 @@ public List<BrAPIObservationUnit> createBrAPIObservationUnits(List<BrAPIObservat
try {
if (!brAPIObservationUnitList.isEmpty()) {
Callable<Map<String, BrAPIObservationUnit>> postFunction = () -> {
preprocessObservationUnits(brAPIObservationUnitList);
List<BrAPIObservationUnit> ous = brAPIDAOUtil.post(brAPIObservationUnitList, upload, api::observationunitsPost, importDAO::update);
return processObservationUnitsForCache(ous, program, false);
};
Expand All @@ -198,7 +197,6 @@ public List<BrAPIObservationUnit> createBrAPIObservationUnits(List<BrAPIObservat
try {
if (!brAPIObservationUnitList.isEmpty()) {
Callable<Map<String, BrAPIObservationUnit>> postFunction = () -> {
preprocessObservationUnits(brAPIObservationUnitList);
List<BrAPIObservationUnit> ous = brAPIDAOUtil.post(brAPIObservationUnitList, api::observationunitsPost);
return processObservationUnitsForCache(ous, program, false);
};
Expand Down Expand Up @@ -387,15 +385,9 @@ private void processObservationUnits(Program program, List<BrAPIObservationUnit>
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<BrAPIObservationTreatment> treatments = gson.fromJson(treatmentsElement, treatmentlistType);
ou.setTreatments(treatments);
}
if( withGID ){
BrAPIGermplasm germplasm = germplasmByDbId.get(ou.getGermplasmDbId());
ou.putAdditionalInfoItem(BrAPIAdditionalInfoFields.GID, germplasm.getAccessionNumber());
Expand Down Expand Up @@ -432,14 +424,4 @@ private void processObservationUnits(Program program, List<BrAPIObservationUnit>
}
}
}

private void preprocessObservationUnits(List<BrAPIObservationUnit> brapiObservationUnits) {
// add treatments to additional info
for (BrAPIObservationUnit obsUnit : brapiObservationUnits) {
List<BrAPIObservationTreatment> treatments = obsUnit.getTreatments();
if (treatments != null) {
obsUnit.putAdditionalInfoItem(BrAPIAdditionalInfoFields.TREATMENTS, treatments);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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));
Expand Down Expand Up @@ -153,6 +156,9 @@ private void singleTreatmentAsserts(List<BrAPIObservationUnit> 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");
}

}