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

Commit 2de845c

Browse files
committed
Update comment, move default sort String to constructor
1 parent b59ec3e commit 2de845c

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

src/main/java/org/brapi/test/BrAPITestServer/service/SearchQueryBuilder.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public class SearchQueryBuilder<T> {
1414
private String selectClause;
1515
private String selectOnlyIds;
1616
private String whereClause;
17+
private String defaultSort;
1718
private String sortClause;
1819
private Map<String, Object> params;
1920
private Class<T> clazz;
@@ -22,6 +23,7 @@ public SearchQueryBuilder(Class<T> clazz) {
2223
this.selectClause = "SELECT distinct entity FROM " + clazz.getSimpleName() + " entity ";
2324
this.selectOnlyIds = "SELECT entity.id FROM " + clazz.getSimpleName() + " entity ";
2425
this.whereClause = "WHERE 1=1 ";
26+
this.defaultSort = " ORDER BY entity.id ASC ";
2527
this.sortClause = "";
2628
this.params = new HashMap<>();
2729
this.clazz = clazz;
@@ -30,7 +32,7 @@ public SearchQueryBuilder(Class<T> clazz) {
3032
public String getQuery() {
3133
if (sortClause.isEmpty()) {
3234
// By default, sort on entity id to have query result remain idempotent
33-
sortClause = " ORDER BY entity.id ASC ";
35+
sortClause = defaultSort;
3436
}
3537

3638
return selectClause + whereClause + sortClause;
@@ -39,7 +41,7 @@ public String getQuery() {
3941
public String getIdQuery() {
4042
if (sortClause.isEmpty()) {
4143
// By default, sort on entity id to have query result remain idempotent
42-
sortClause = " ORDER BY entity.id ASC ";
44+
sortClause = defaultSort;
4345
}
4446

4547
return selectOnlyIds + whereClause + sortClause;

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,8 @@ public Page<GermplasmEntity> findGermplasmEntities(@Valid GermplasmSearchRequest
120120

121121
SearchQueryBuilder<GermplasmEntity> searchQuery = buildGermplasmSearchQuery(request);
122122

123-
// First run the query without the fetching all the entities, grabbing the IDs only and paginating and sorting them.
123+
// Since the built searchQuery contains a lazily loaded collection retrieved with a LEFT JOIN FETCH,
124+
// use findAllBySearchPaginatingWithFetches()
124125
Page<GermplasmEntity> germs = germplasmRepository.findAllBySearchPaginatingWithFetches(searchQuery, pageReq);
125126

126127
// Hopefully this retains insertion order in the page?
@@ -336,7 +337,6 @@ private void fetchRemainingGermCollectionsUsingQuery(SearchQueryBuilder<Germplas
336337
searchQuery.leftJoinFetch("externalReferences",
337338
"externalReferences");
338339

339-
// TODO: This method doesn't need to utilize a method that returns a page.
340340
List<GermplasmEntity> xrefs = germplasmRepository.findAllBySearch(searchQuery);
341341

342342
Map<String, List<ExternalReferenceEntity>> xrefByEntity = new HashMap<>();

0 commit comments

Comments
 (0)