Skip to content
This repository was archived by the owner on Aug 1, 2025. It is now read-only.

Commit ed22fdd

Browse files
authored
Merge pull request #21 from Breeding-Insight/bug/BI-2040
Bug/bi 2040
2 parents 28c33bc + 22b5fdd commit ed22fdd

File tree

1 file changed

+1
-81
lines changed

1 file changed

+1
-81
lines changed

src/main/java/org/brapi/test/BrAPITestServer/service/pheno/ObservationVariableService.java

Lines changed: 1 addition & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
package org.brapi.test.BrAPITestServer.service.pheno;
22

33
import java.util.*;
4-
import java.util.stream.Collectors;
54

65
import jakarta.validation.Valid;
76

87
import org.brapi.test.BrAPITestServer.exceptions.BrAPIServerDbIdNotFoundException;
98
import org.brapi.test.BrAPITestServer.exceptions.BrAPIServerException;
10-
import org.brapi.test.BrAPITestServer.model.entity.BrAPIBaseEntity;
11-
import org.brapi.test.BrAPITestServer.model.entity.ExternalReferenceEntity;
129
import org.brapi.test.BrAPITestServer.model.entity.core.CropEntity;
1310
import org.brapi.test.BrAPITestServer.model.entity.pheno.*;
1411
import org.brapi.test.BrAPITestServer.repository.core.TraitRepository;
@@ -24,7 +21,6 @@
2421
import org.slf4j.LoggerFactory;
2522
import org.springframework.beans.factory.annotation.Autowired;
2623
import org.springframework.data.domain.Page;
27-
import org.springframework.data.domain.PageRequest;
2824
import org.springframework.data.domain.Pageable;
2925
import org.springframework.http.HttpStatus;
3026
import org.springframework.stereotype.Service;
@@ -143,14 +139,7 @@ public List<ObservationVariable> findObservationVariables(ObservationVariableSea
143139
log.debug("Starting variable search");
144140
Page<ObservationVariableEntity> page = observationVariableRepository.findAllBySearch(searchQuery, pageReq);
145141
log.debug("Variable search complete");
146-
if(!page.isEmpty()) {
147-
observationVariableRepository.fetchXrefs(page, ObservationVariableEntity.class);
148-
fetchSynonyms(page);
149-
fetchMethodXrefs(page);
150-
fetchScaleXrefs(page);
151-
fetchScaleValidValueCategories(page);
152-
fetchTraitXrefs(page);
153-
}
142+
154143

155144
log.debug("converting "+page.getSize()+" entities");
156145
List<ObservationVariable> observationVariables = page.map(this::convertFromEntity).getContent();
@@ -159,75 +148,6 @@ public List<ObservationVariable> findObservationVariables(ObservationVariableSea
159148
return observationVariables;
160149
}
161150

162-
public void fetchSynonyms(Page<ObservationVariableEntity> page) {
163-
SearchQueryBuilder<ObservationVariableEntity> searchQuery = new SearchQueryBuilder<>(ObservationVariableEntity.class);
164-
searchQuery.leftJoinFetch("synonyms", "synonyms")
165-
.appendList(page.stream().map(BrAPIBaseEntity::getId).collect(Collectors.toList()), "id");
166-
167-
Page<ObservationVariableEntity> synonyms = observationVariableRepository.findAllBySearch(searchQuery, PageRequest.of(0, page.getSize()));
168-
169-
Map<String, List<String>> synonymsByVar = new HashMap<>();
170-
synonyms.forEach(entity -> synonymsByVar.put(entity.getId(), entity.getSynonyms()));
171-
172-
page.forEach(entity -> entity.setSynonyms(synonymsByVar.get(entity.getMethod().getId())));
173-
}
174-
175-
public void fetchMethodXrefs(Page<ObservationVariableEntity> page) {
176-
SearchQueryBuilder<MethodEntity> searchQuery = new SearchQueryBuilder<>(MethodEntity.class);
177-
searchQuery.leftJoinFetch("externalReferences", "externalReferences")
178-
.join("variables", "variables")
179-
.appendList(page.stream().map(BrAPIBaseEntity::getId).collect(Collectors.toList()), "*variables.id");
180-
181-
Page<MethodEntity> xrefs = methodRepository.findAllBySearch(searchQuery, PageRequest.of(0, page.getSize()));
182-
183-
Map<String, List<ExternalReferenceEntity>> xrefByEntity = new HashMap<>();
184-
xrefs.forEach(entity -> xrefByEntity.put(entity.getId(), entity.getExternalReferences()));
185-
186-
page.forEach(entity -> entity.getMethod().setExternalReferences(xrefByEntity.get(entity.getMethod().getId())));
187-
}
188-
189-
public void fetchScaleXrefs(Page<ObservationVariableEntity> page) {
190-
SearchQueryBuilder<ScaleEntity> searchQuery = new SearchQueryBuilder<>(ScaleEntity.class);
191-
searchQuery.leftJoinFetch("externalReferences", "externalReferences")
192-
.join("variables", "variables")
193-
.appendList(page.stream().map(BrAPIBaseEntity::getId).collect(Collectors.toList()), "*variables.id");
194-
195-
Page<ScaleEntity> xrefs = scaleRepository.findAllBySearch(searchQuery, PageRequest.of(0, page.getSize()));
196-
197-
Map<String, List<ExternalReferenceEntity>> xrefByEntity = new HashMap<>();
198-
xrefs.forEach(entity -> xrefByEntity.put(entity.getId(), entity.getExternalReferences()));
199-
200-
page.forEach(entity -> entity.getScale().setExternalReferences(xrefByEntity.get(entity.getMethod().getId())));
201-
}
202-
203-
public void fetchScaleValidValueCategories(Page<ObservationVariableEntity> page) {
204-
SearchQueryBuilder<ScaleEntity> searchQuery = new SearchQueryBuilder<>(ScaleEntity.class);
205-
searchQuery.leftJoinFetch("validValueCategories", "validValueCategories")
206-
.join("variables", "variables")
207-
.appendList(page.stream().map(BrAPIBaseEntity::getId).collect(Collectors.toList()), "*variables.id");
208-
209-
Page<ScaleEntity> validValueCategories = scaleRepository.findAllBySearch(searchQuery, PageRequest.of(0, page.getSize()));
210-
211-
Map<String, List<ScaleValidValueCategoryEntity>> infoByEntity = new HashMap<>();
212-
validValueCategories.forEach(entity -> infoByEntity.put(entity.getId(), entity.getValidValueCategories()));
213-
214-
page.forEach(entity -> entity.getScale().setValidValueCategories(infoByEntity.get(entity.getId())));
215-
}
216-
217-
public void fetchTraitXrefs(Page<ObservationVariableEntity> page) {
218-
SearchQueryBuilder<TraitEntity> searchQuery = new SearchQueryBuilder<>(TraitEntity.class);
219-
searchQuery.leftJoinFetch("externalReferences", "externalReferences")
220-
.join("variables", "variables")
221-
.appendList(page.stream().map(BrAPIBaseEntity::getId).collect(Collectors.toList()), "*variables.id");
222-
223-
Page<TraitEntity> xrefs = traitRepository.findAllBySearch(searchQuery, PageRequest.of(0, page.getSize()));
224-
225-
Map<String, List<ExternalReferenceEntity>> xrefByEntity = new HashMap<>();
226-
xrefs.forEach(entity -> xrefByEntity.put(entity.getId(), entity.getExternalReferences()));
227-
228-
page.forEach(entity -> entity.getTrait().setExternalReferences(xrefByEntity.get(entity.getMethod().getId())));
229-
}
230-
231151
public List<ObservationVariable> saveObservationVariables(@Valid List<ObservationVariableNewRequest> body)
232152
throws BrAPIServerException {
233153
List<ObservationVariable> savedObservationVariables = new ArrayList<>();

0 commit comments

Comments
 (0)