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

Commit a6ba63f

Browse files
committed
Bug fixes for importer after UUID migration
1 parent 4b874fd commit a6ba63f

File tree

3 files changed

+19
-5
lines changed

3 files changed

+19
-5
lines changed

src/main/java/org/brapi/test/BrAPITestServer/service/germ/CrossingProjectService.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,12 @@ public List<CrossingProject> findCrossingProjects(String crossingProjectDbId, St
6868
}
6969

7070
public List<CrossingProjectEntity> findCrossingProjectsByIds(List<String> crossingProjectIds) {
71+
var result = new ArrayList<CrossingProjectEntity>();
72+
73+
if (crossingProjectIds.isEmpty()) {
74+
return result;
75+
}
76+
7177
return crossingProjectRepository.findByIdIn(crossingProjectIds.stream().map(UUID::fromString).toList());
7278
}
7379

src/main/java/org/brapi/test/BrAPITestServer/service/germ/GermplasmService.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -777,13 +777,21 @@ public List<GermplasmEntity> findByNames(List<String> germplasmNames) {
777777

778778
public List<GermplasmEntity> findByIds(List<String> germplasmDbIds)
779779
throws BrAPIServerException {
780-
List<GermplasmEntity> germsFoundInDb = germplasmRepository.findByIdIn(germplasmDbIds.stream().map(UUID::fromString).toList());
780+
781+
var result = new ArrayList<GermplasmEntity>();
782+
783+
if (germplasmDbIds.isEmpty()) {
784+
return result;
785+
}
786+
787+
List<UUID> germIdsAsUUIDs = germplasmDbIds.stream().map(UUID::fromString).toList();
788+
List<GermplasmEntity> germsFoundInDb = germplasmRepository.findByIdIn(germIdsAsUUIDs);
781789

782790
Set<UUID> germIdsFoundInDB = germsFoundInDb.stream()
783791
.map(BrAPIBaseEntity::getId)
784792
.collect(Collectors.toSet());
785793

786-
if (!germIdsFoundInDB.containsAll(germplasmDbIds)) {
794+
if (!germIdsFoundInDB.containsAll(germIdsAsUUIDs)) {
787795
throw new BrAPIServerDbIdNotFoundException("Germplasm Ids passed to findByIds were not found in the DB", HttpStatus.BAD_REQUEST);
788796
}
789797

src/main/java/org/brapi/test/BrAPITestServer/service/germ/PedigreeService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -565,12 +565,12 @@ static public String getPedigreeString(PedigreeNodeEntity entity) {
565565
private List<PedigreeNodeEntity> createEntitiesInBatch(List<PedigreeNode> nodes)
566566
throws BrAPIServerException {
567567
List<String> germIds = nodes.stream()
568-
.filter(Objects::nonNull)
569568
.map(PedigreeNode::getGermplasmDbId)
569+
.filter(Objects::nonNull)
570570
.toList();
571571
List<String> crossingProjIds = nodes.stream()
572-
.filter(Objects::nonNull)
573572
.map(PedigreeNode::getCrossingProjectDbId)
573+
.filter(Objects::nonNull)
574574
.toList();
575575

576576
Map<UUID, GermplasmEntity> foundGermsById = germplasmService.findByIds(germIds)
@@ -613,8 +613,8 @@ private void updateEntitiesWithEdgesInBatch(Map<String, Pair<PedigreeNodeEntity,
613613
List<String> germIds = new ArrayList<>(entityDtoPairsByGermId.keySet());
614614
List<String> crossingProjIds = entityDtoPairsByGermId.values()
615615
.stream()
616-
.filter(Objects::nonNull)
617616
.map(nodePair -> nodePair.getRight().getCrossingProjectDbId())
617+
.filter(Objects::nonNull)
618618
.toList();
619619

620620
List<String> germIdsWithParentNodes = entityDtoPairsByGermId.entrySet()

0 commit comments

Comments
 (0)