Skip to content
Open
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 @@ -288,7 +288,7 @@ public List<BrAPIObservationUnit> getObservationUnits(Program program,
BrAPIObservationUnitSearchRequest observationUnitSearchRequest = new BrAPIObservationUnitSearchRequest();
observationUnitSearchRequest.programDbIds(List.of(program.getBrapiProgram()
.getProgramDbId()));
//TODO add pagination support
//TODO add pagination support: This should be easy to implement with BrAPIDAOUtil.simpleSearch()
// .page(page)
// .pageSize(pageSize);

Expand All @@ -303,16 +303,15 @@ public List<BrAPIObservationUnit> getObservationUnits(Program program,
observationUnitName.ifPresent(name -> observationUnitSearchRequest.setObservationUnitNames(List.of(Utilities.appendProgramKey(name, program.getKey()))));
locationDbId.ifPresent(dbid -> observationUnitSearchRequest.setLocationDbIds(List.of(dbid)));
seasonDbId.ifPresent(dbid -> observationUnitSearchRequest.setSeasonDbIds(List.of(dbid)));
experimentId.ifPresent(dbId -> observationUnitSearchRequest.setTrialDbIds(List.of(dbId)));
includeObservations.ifPresent(observationUnitSearchRequest::includeObservations);
addLevelFilter(observationUnitLevelName, observationUnitLevelOrder, observationUnitLevelCode, level, levelFilter);
addLevelFilter(observationUnitLevelRelationshipName, observationUnitLevelRelationshipOrder, observationUnitLevelRelationshipCode, relationship, relationshipFilter);
experimentId.ifPresent(expId -> addXRefFilter(expId, ExternalReferenceSource.TRIALS, xrefIds, xrefSources));
environmentId.ifPresent(envId -> addXRefFilter(envId, ExternalReferenceSource.STUDIES, xrefIds, xrefSources));
// germplasmId.ifPresent(germId -> {
// xrefIds.add(germId);
// xrefSources.add(Utilities.generateReferenceSource(referenceSource, ExternalReferenceSource.));
// });

if(!xrefIds.isEmpty()) {
observationUnitSearchRequest.externalReferenceIDs(xrefIds);
}
Expand All @@ -326,10 +325,6 @@ public List<BrAPIObservationUnit> getObservationUnits(Program program,
.get()
.getReferenceId()))
.orElse(true);
matches = matches && experimentId.map(id -> id.equals(Utilities.getExternalReference(ou.getExternalReferences(), Utilities.generateReferenceSource(referenceSource, ExternalReferenceSource.TRIALS))
.get()
.getReferenceId()))
.orElse(true);
matches = matches && environmentId.map(id -> id.equals(Utilities.getExternalReference(ou.getExternalReferences(), Utilities.generateReferenceSource(referenceSource, ExternalReferenceSource.STUDIES))
.get()
.getReferenceId()))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,9 @@ public List<Trait> getBrAPIObservationVariablesForExperiment(
expId = UUID.fromString(experimentId.get());
} else {
UUID envId = UUID.fromString(environmentId.orElseThrow(() -> new IllegalStateException("no environment id found")));
// TODO: Double check this (and other studyDbId bi-brapi) lookup still works with cache removal on studies [BI-2962]
BrAPIStudy environment = trialService.getEnvironment(program.get(), envId);
expId = UUID.fromString(Utilities.getExternalReference(environment.getExternalReferences(),
Utilities.generateReferenceSource(referenceSource, ExternalReferenceSource.TRIALS))
.orElseThrow(() -> new IllegalStateException("no external reference found")).getReferenceId());
expId = UUID.fromString(environment.getTrialDbId());
}

BrAPITrial experiment = trialService.getExperiment(program.get(), expId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import io.reactivex.Flowable;
import lombok.SneakyThrows;
import org.brapi.v2.model.BrAPIExternalReference;
import org.brapi.v2.model.core.BrAPITrial;
import org.brapi.v2.model.germ.BrAPIGermplasm;
import org.brapi.v2.model.pheno.BrAPIObservationUnit;
import org.brapi.v2.model.pheno.response.BrAPIObservationUnitSingleResponse;
Expand All @@ -41,8 +42,10 @@
import org.breedinginsight.api.model.v1.request.SpeciesRequest;
import org.breedinginsight.api.v1.controller.TestTokenValidator;
import org.breedinginsight.brapi.v2.dao.BrAPIGermplasmDAO;
import org.breedinginsight.brapi.v2.dao.BrAPITrialDAO;
import org.breedinginsight.brapps.importer.ImportTestUtils;
import org.breedinginsight.brapps.importer.model.imports.experimentObservation.ExperimentObservation;
import org.breedinginsight.brapps.importer.services.processors.experiment.service.TrialService;
import org.breedinginsight.dao.db.enums.DataType;
import org.breedinginsight.dao.db.tables.pojos.SpeciesEntity;
import org.breedinginsight.daos.SpeciesDAO;
Expand Down Expand Up @@ -91,6 +94,8 @@ public class BrAPIObservationUnitControllerIntegrationTest extends BrAPITest {
private OntologyService ontologyService;
@Inject
private BrAPIGermplasmDAO germplasmDAO;
@Inject
private BrAPITrialDAO brapiTrialDAO;

@Inject
@Client("/${micronaut.bi.api.version}")
Expand Down Expand Up @@ -195,12 +200,8 @@ void setup() throws Exception {
program,
mappingId,
newExperimentWorkflowId);
experimentId = importResult
.get("preview").getAsJsonObject()
.get("rows").getAsJsonArray()
.get(0).getAsJsonObject()
.get("trial").getAsJsonObject()
.get("id").getAsString();
List<BrAPITrial> trials = brapiTrialDAO.getTrials(program.getId());
experimentId = trials.get(0).getTrialDbId();
// Add environmentIds.
envIds.add(getEnvId(importResult, 0));
envIds.add(getEnvId(importResult, 1));
Expand Down
Loading