From 7b77dd506109715de0dc95648eeef2ffdf6d7f14 Mon Sep 17 00:00:00 2001 From: Christian Pich Date: Thu, 6 Mar 2025 16:53:59 +0100 Subject: [PATCH] SCRUM-3999 make gene-page phenotype table filterable by data provider --- .../org/alliancegenome/api/controller/GeneController.java | 4 ++++ .../alliancegenome/api/rest/interfaces/GeneRESTInterface.java | 2 ++ 2 files changed, 6 insertions(+) diff --git a/agr_api/src/main/java/org/alliancegenome/api/controller/GeneController.java b/agr_api/src/main/java/org/alliancegenome/api/controller/GeneController.java index c68467712..54c7d2232 100644 --- a/agr_api/src/main/java/org/alliancegenome/api/controller/GeneController.java +++ b/agr_api/src/main/java/org/alliancegenome/api/controller/GeneController.java @@ -463,11 +463,13 @@ public JsonResultResponse getPhenotypeAnnotatio String geneticEntityType, String phenotype, String reference, + String dataProvider, String asc) { long startTime = System.currentTimeMillis(); Pagination pagination = new Pagination(page, limit, sortBy, asc); pagination.addFilterOption("phenotypeStatement", phenotype); pagination.addFilterOption("pubmedPubModIDs", reference); + pagination.addFilterOption("primaryAnnotations.dataProvider.abbreviation", dataProvider); try { JsonResultResponse phenotypes = phenotypeESService.getGenePhenotypeAnnotations(id, pagination, false); phenotypes.setHttpServletRequest(null); @@ -489,6 +491,7 @@ public Response getPhenotypeAnnotationsDownloadFile( String geneticEntityType, String phenotype, String reference, + String dataProvider, String asc) { // retrieve all records JsonResultResponse response = @@ -497,6 +500,7 @@ public Response getPhenotypeAnnotationsDownloadFile( geneticEntityType, phenotype, reference, + dataProvider, asc); Response.ResponseBuilder responseBuilder = Response.ok(translator.getAllRows(response.getResults())); APIServiceHelper.setDownloadHeader(id, EntityType.GENE, EntityType.PHENOTYPE, responseBuilder); diff --git a/agr_api/src/main/java/org/alliancegenome/api/rest/interfaces/GeneRESTInterface.java b/agr_api/src/main/java/org/alliancegenome/api/rest/interfaces/GeneRESTInterface.java index 5669ff4f4..26d279f2c 100644 --- a/agr_api/src/main/java/org/alliancegenome/api/rest/interfaces/GeneRESTInterface.java +++ b/agr_api/src/main/java/org/alliancegenome/api/rest/interfaces/GeneRESTInterface.java @@ -274,6 +274,7 @@ JsonResultResponse getPhenotypeAnnotations( @QueryParam("filter.termName") String phenotype, @Parameter(in = ParameterIn.QUERY, name = "filter.reference", description = "Reference number: PUBMED or a Pub ID from the MOD", schema = @Schema(type = SchemaType.STRING)) @QueryParam("filter.reference") String reference, + @Parameter(in = ParameterIn.QUERY, name = "filter.dataProvider", description = "Source", schema = @Schema(type = SchemaType.STRING)) @QueryParam("filter.dataProvider") String filterSource, @Parameter(in = ParameterIn.QUERY, name = "asc", description = "order to sort by", schema = @Schema(type = SchemaType.STRING)) @DefaultValue("true") @QueryParam("asc") String asc); @@ -296,6 +297,7 @@ Response getPhenotypeAnnotationsDownloadFile( @QueryParam("filter.termName") String phenotype, @Parameter(in = ParameterIn.QUERY, name = "filter.reference", description = "Reference number: PUBMED or a Pub ID from the MOD", schema = @Schema(type = SchemaType.STRING)) @QueryParam("filter.reference") String reference, + @Parameter(in = ParameterIn.QUERY, name = "filter.dataProvider", description = "Source", schema = @Schema(type = SchemaType.STRING)) @QueryParam("filter.dataProvider") String filterSource, @Parameter(in = ParameterIn.QUERY, name = "asc", description = "order to sort by", schema = @Schema(type = SchemaType.STRING)) @DefaultValue("true") @QueryParam("asc") String asc);