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

Commit 28c33bc

Browse files
authored
Merge pull request #22 from Breeding-Insight/bug/BI-2051
BI-2051 - Out Of Memory Error
2 parents 57848e3 + f38b21e commit 28c33bc

File tree

2 files changed

+14
-13
lines changed

2 files changed

+14
-13
lines changed

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -272,16 +272,16 @@ public ObservationEntity getObservationEntity(String observationDbId, HttpStatus
272272
}
273273

274274
public List<Observation> saveObservations(@Valid List<ObservationNewRequest> requests) throws BrAPIServerException {
275-
List<Observation> savedObservations = new ArrayList<>();
276-
275+
List<ObservationEntity> toSave = new ArrayList<>();
277276
for (ObservationNewRequest request : requests) {
278277
ObservationEntity entity = new ObservationEntity();
279-
updateEntity(entity, request);
280-
ObservationEntity savedEntity = observationRepository.save(entity);
281-
savedObservations.add(convertFromEntity(savedEntity));
278+
updateEntity(entity, request); // TODO: does updateEntity need to hit the database?
279+
toSave.add(entity);
282280
}
283-
284-
return savedObservations;
281+
return observationRepository.saveAllAndFlush(toSave)
282+
.stream()
283+
.map(this::convertFromEntity)
284+
.collect(Collectors.toList());
285285
}
286286

287287
public List<Observation> updateObservations(@Valid Map<String, ObservationNewRequest> requests)

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

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -332,16 +332,17 @@ public ObservationUnitEntity getObservationUnitEntity(String observationUnitDbId
332332

333333
public List<ObservationUnit> saveObservationUnits(@Valid List<ObservationUnitNewRequest> requests)
334334
throws BrAPIServerException {
335-
List<ObservationUnit> savedObservationUnits = new ArrayList<>();
336-
335+
List<ObservationUnitEntity> toSave = new ArrayList<>();
337336
for (ObservationUnitNewRequest request : requests) {
338337
ObservationUnitEntity entity = new ObservationUnitEntity();
339-
updateEntity(entity, request);
340-
ObservationUnitEntity savedEntity = observationUnitRepository.save(entity);
341-
savedObservationUnits.add(convertFromEntity(savedEntity));
338+
updateEntity(entity, request); // TODO: does updateEntity need to hit the database?
339+
toSave.add(entity);
342340
}
343341

344-
return savedObservationUnits;
342+
return observationUnitRepository.saveAllAndFlush(toSave)
343+
.stream()
344+
.map(this::convertFromEntity)
345+
.collect(Collectors.toList());
345346
}
346347

347348
public List<ObservationUnit> updateObservationUnits(@Valid Map<String, ObservationUnitNewRequest> requests)

0 commit comments

Comments
 (0)