From f6033fd90fceb04c2698af3f2b45633d4bfece36 Mon Sep 17 00:00:00 2001 From: humsika Date: Tue, 22 Sep 2026 10:56:04 -0500 Subject: [PATCH] BI-2922: Added the filter parms. --- .../java/io/swagger/model/core/StudySearchRequest.java | 7 ++++++- .../test/BrAPITestServer/service/core/StudyService.java | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/swagger/model/core/StudySearchRequest.java b/src/main/java/io/swagger/model/core/StudySearchRequest.java index 94e760ff..ce9b0376 100644 --- a/src/main/java/io/swagger/model/core/StudySearchRequest.java +++ b/src/main/java/io/swagger/model/core/StudySearchRequest.java @@ -18,16 +18,21 @@ public class StudySearchRequest extends SearchRequest { // Value = entity field name and type that represents the submitted field. Used later on in query building. private static final Map ALLOWED_SORT_AND_FILTER_FIELDS = Map.ofEntries( + Map.entry("commonCropName", new EntityColumnNameAndType("crop.cropName", EntityType.TEXT)), + Map.entry("externalReferenceId", new EntityColumnNameAndType("*externalReferences.externalReferenceId", EntityType.TEXT)), + Map.entry("externalReferenceSource", new EntityColumnNameAndType("*externalReferences.externalReferenceSource", EntityType.TEXT)), Map.entry("germplasmDbId", new EntityColumnNameAndType("*obsunit.germplasm.id", EntityType.UUID)), Map.entry("locationDbId", new EntityColumnNameAndType("location.id", EntityType.UUID)), Map.entry("observationVariableDbId", new EntityColumnNameAndType("*observation.observationVariable.id", EntityType.UUID)), Map.entry("programDbId", new EntityColumnNameAndType("trial.program.id", EntityType.UUID)), Map.entry("programName", new EntityColumnNameAndType("trial.program.name", EntityType.TEXT)), Map.entry("seasonDbId", new EntityColumnNameAndType("*season.id", EntityType.UUID)), + Map.entry("studyCode", new EntityColumnNameAndType("studyCode", EntityType.TEXT)), Map.entry("studyDbId", new EntityColumnNameAndType("id", EntityType.UUID)), Map.entry("studyLocation", new EntityColumnNameAndType("location.id", EntityType.UUID)), + Map.entry("studyPUI", new EntityColumnNameAndType("studyPUI", EntityType.TEXT)), Map.entry("trialDbId", new EntityColumnNameAndType("trial.id", EntityType.UUID)), - Map.entry("studyType", new EntityColumnNameAndType("studyName", EntityType.TEXT)), + Map.entry("studyType", new EntityColumnNameAndType("studyType", EntityType.TEXT)), Map.entry("studyName", new EntityColumnNameAndType("studyName", EntityType.TEXT)) ); diff --git a/src/main/java/org/brapi/test/BrAPITestServer/service/core/StudyService.java b/src/main/java/org/brapi/test/BrAPITestServer/service/core/StudyService.java index ae6a297b..096e9cf7 100644 --- a/src/main/java/org/brapi/test/BrAPITestServer/service/core/StudyService.java +++ b/src/main/java/org/brapi/test/BrAPITestServer/service/core/StudyService.java @@ -159,7 +159,8 @@ public List findStudies(StudySearchRequest request, Metadata metaData) .appendList(request.getStudyDbIds(), "id").appendList(request.getStudyNames(), "studyName") .appendList(request.getStudyPUIs(), "studyPUI").appendList(request.getStudyTypes(), "studyType") .appendList(request.getTrialDbIds(), "trial.id").appendList(request.getTrialNames(), "trial.trialName") - .sortBy(request.getSortByElements(), request.getEntityColAndTypeBySubmittedNameMap()); + .sortBy(request.getSortByElements(), request.getEntityColAndTypeBySubmittedNameMap()) + .filterBy(request.getFilterBy(), request.getEntityColAndTypeBySubmittedNameMap()); Page studiesPage = studyRepository.findAllBySearchAndPaginate(searchQuery, pageReq); PagingUtility.calculateMetaData(metaData, studiesPage);