Skip to content

Commit 50e9f82

Browse files
committed
improvements from code review
1 parent 066a2e2 commit 50e9f82

31 files changed

+1558
-736
lines changed

apps/model-ad/api-next/.openapi-generator/FILES

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,16 @@ README.md
22
src/main/java/org/sagebionetworks/model/ad/api/next/RFC3339DateFormat.java
33
src/main/java/org/sagebionetworks/model/ad/api/next/api/ApiUtil.java
44
src/main/java/org/sagebionetworks/model/ad/api/next/api/ComparisonToolConfigApi.java
5-
src/main/java/org/sagebionetworks/model/ad/api/next/api/ComparisonToolConfigApiController.java
65
src/main/java/org/sagebionetworks/model/ad/api/next/api/ComparisonToolConfigApiDelegate.java
76
src/main/java/org/sagebionetworks/model/ad/api/next/api/DataVersionApi.java
8-
src/main/java/org/sagebionetworks/model/ad/api/next/api/DataVersionApiController.java
97
src/main/java/org/sagebionetworks/model/ad/api/next/api/DataVersionApiDelegate.java
108
src/main/java/org/sagebionetworks/model/ad/api/next/api/DiseaseCorrelationApi.java
11-
src/main/java/org/sagebionetworks/model/ad/api/next/api/DiseaseCorrelationApiController.java
129
src/main/java/org/sagebionetworks/model/ad/api/next/api/DiseaseCorrelationApiDelegate.java
1310
src/main/java/org/sagebionetworks/model/ad/api/next/api/GeneExpressionApi.java
14-
src/main/java/org/sagebionetworks/model/ad/api/next/api/GeneExpressionApiController.java
1511
src/main/java/org/sagebionetworks/model/ad/api/next/api/GeneExpressionApiDelegate.java
1612
src/main/java/org/sagebionetworks/model/ad/api/next/api/ModelApi.java
17-
src/main/java/org/sagebionetworks/model/ad/api/next/api/ModelApiController.java
1813
src/main/java/org/sagebionetworks/model/ad/api/next/api/ModelApiDelegate.java
1914
src/main/java/org/sagebionetworks/model/ad/api/next/api/ModelOverviewApi.java
20-
src/main/java/org/sagebionetworks/model/ad/api/next/api/ModelOverviewApiController.java
2115
src/main/java/org/sagebionetworks/model/ad/api/next/api/ModelOverviewApiDelegate.java
2216
src/main/java/org/sagebionetworks/model/ad/api/next/configuration/EnumConverterConfiguration.java
2317
src/main/java/org/sagebionetworks/model/ad/api/next/configuration/HomeController.java
@@ -30,6 +24,7 @@ src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/ComparisonToolPage
3024
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/CorrelationResultDto.java
3125
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/DataVersionDto.java
3226
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/DiseaseCorrelationDto.java
27+
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/DiseaseCorrelationSearchQueryDto.java
3328
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/DiseaseCorrelationsPageDto.java
3429
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/FoldChangeResultDto.java
3530
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/GeneExpressionDto.java
@@ -40,6 +35,7 @@ src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/ModelDataDto.java
4035
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/ModelDto.java
4136
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/ModelOverviewDto.java
4237
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/ModelOverviewLinkDto.java
38+
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/ModelOverviewSearchQueryDto.java
4339
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/ModelOverviewsPageDto.java
4440
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/PageMetadataDto.java
4541
src/main/java/org/sagebionetworks/model/ad/api/next/model/dto/SearchResultDto.java

apps/model-ad/api-next/src/main/java/org/sagebionetworks/model/ad/api/next/api/DiseaseCorrelationApi.java

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
package org.sagebionetworks.model.ad.api.next.api;
77

88
import org.sagebionetworks.model.ad.api.next.model.dto.BasicErrorDto;
9+
import org.sagebionetworks.model.ad.api.next.model.dto.DiseaseCorrelationSearchQueryDto;
910
import org.sagebionetworks.model.ad.api.next.model.dto.DiseaseCorrelationsPageDto;
10-
import org.sagebionetworks.model.ad.api.next.model.dto.ItemFilterTypeQueryDto;
1111
import io.swagger.v3.oas.annotations.ExternalDocumentation;
1212
import io.swagger.v3.oas.annotations.Operation;
1313
import io.swagger.v3.oas.annotations.Parameter;
@@ -45,11 +45,7 @@ default DiseaseCorrelationApiDelegate getDelegate() {
4545
* GET /comparison-tools/disease-correlation : Get disease correlation comparison data
4646
* Returns a paginated list of disease correlation objects for use in comparison tools.
4747
*
48-
* @param category An ordered list of categories used to filter the data, where the first value is the category and the second is the subcategory. Pass each value by repeating the 'category' query parameter, e.g. ?category=category1&category=subcategoryA. (required)
49-
* @param item A list of items to filter the data by. (optional)
50-
* @param itemFilterType The type of filter to apply to the items. Possible values are 'include' or 'exclude'. (optional, default to include)
51-
* @param pageNumber The page number. (optional, default to 0)
52-
* @param pageSize The number of items in a single page. (optional, default to 10)
48+
* @param diseaseCorrelationSearchQuery The search query used to find and filter disease correlations. (optional)
5349
* @return A paginated response containing disease correlation objects (status code 200)
5450
* or Invalid request (status code 400)
5551
* or The specified resource was not found (status code 404)
@@ -86,13 +82,9 @@ default DiseaseCorrelationApiDelegate getDelegate() {
8682
)
8783

8884
default ResponseEntity<DiseaseCorrelationsPageDto> getDiseaseCorrelations(
89-
@NotNull @Parameter(name = "category", description = "An ordered list of categories used to filter the data, where the first value is the category and the second is the subcategory. Pass each value by repeating the 'category' query parameter, e.g. ?category=category1&category=subcategoryA.", required = true, in = ParameterIn.QUERY) @Valid @RequestParam(value = "category", required = true) List<String> category,
90-
@Parameter(name = "item", description = "A list of items to filter the data by.", in = ParameterIn.QUERY) @Valid @RequestParam(value = "item", required = false) @Nullable List<String> item,
91-
@Parameter(name = "itemFilterType", description = "The type of filter to apply to the items. Possible values are 'include' or 'exclude'.", in = ParameterIn.QUERY) @Valid @RequestParam(value = "itemFilterType", required = false, defaultValue = "include") ItemFilterTypeQueryDto itemFilterType,
92-
@Min(0) @Parameter(name = "pageNumber", description = "The page number.", in = ParameterIn.QUERY) @Valid @RequestParam(value = "pageNumber", required = false, defaultValue = "0") Integer pageNumber,
93-
@Min(1) @Max(1000) @Parameter(name = "pageSize", description = "The number of items in a single page.", in = ParameterIn.QUERY) @Valid @RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize
85+
@Parameter(name = "diseaseCorrelationSearchQuery", description = "The search query used to find and filter disease correlations.", in = ParameterIn.QUERY) @Valid @Nullable DiseaseCorrelationSearchQueryDto diseaseCorrelationSearchQuery
9486
) {
95-
return getDelegate().getDiseaseCorrelations(category, item, itemFilterType, pageNumber, pageSize);
87+
return getDelegate().getDiseaseCorrelations(diseaseCorrelationSearchQuery);
9688
}
9789

9890
}

apps/model-ad/api-next/src/main/java/org/sagebionetworks/model/ad/api/next/api/DiseaseCorrelationApiDelegate.java

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package org.sagebionetworks.model.ad.api.next.api;
22

33
import org.sagebionetworks.model.ad.api.next.model.dto.BasicErrorDto;
4+
import org.sagebionetworks.model.ad.api.next.model.dto.DiseaseCorrelationSearchQueryDto;
45
import org.sagebionetworks.model.ad.api.next.model.dto.DiseaseCorrelationsPageDto;
5-
import org.sagebionetworks.model.ad.api.next.model.dto.ItemFilterTypeQueryDto;
66
import org.springframework.http.HttpStatus;
77
import org.springframework.http.MediaType;
88
import org.springframework.http.ResponseEntity;
@@ -32,22 +32,14 @@ default Optional<NativeWebRequest> getRequest() {
3232
* GET /comparison-tools/disease-correlation : Get disease correlation comparison data
3333
* Returns a paginated list of disease correlation objects for use in comparison tools.
3434
*
35-
* @param category An ordered list of categories used to filter the data, where the first value is the category and the second is the subcategory. Pass each value by repeating the &#39;category&#39; query parameter, e.g. ?category&#x3D;category1&amp;category&#x3D;subcategoryA. (required)
36-
* @param item A list of items to filter the data by. (optional)
37-
* @param itemFilterType The type of filter to apply to the items. Possible values are &#39;include&#39; or &#39;exclude&#39;. (optional, default to include)
38-
* @param pageNumber The page number. (optional, default to 0)
39-
* @param pageSize The number of items in a single page. (optional, default to 10)
35+
* @param diseaseCorrelationSearchQuery The search query used to find and filter disease correlations. (optional)
4036
* @return A paginated response containing disease correlation objects (status code 200)
4137
* or Invalid request (status code 400)
4238
* or The specified resource was not found (status code 404)
4339
* or The request cannot be fulfilled due to an unexpected server error (status code 500)
4440
* @see DiseaseCorrelationApi#getDiseaseCorrelations
4541
*/
46-
default ResponseEntity<DiseaseCorrelationsPageDto> getDiseaseCorrelations(List<String> category,
47-
List<String> item,
48-
ItemFilterTypeQueryDto itemFilterType,
49-
Integer pageNumber,
50-
Integer pageSize) {
42+
default ResponseEntity<DiseaseCorrelationsPageDto> getDiseaseCorrelations(DiseaseCorrelationSearchQueryDto diseaseCorrelationSearchQuery) {
5143
getRequest().ifPresent(request -> {
5244
for (MediaType mediaType: MediaType.parseMediaTypes(request.getHeader("Accept"))) {
5345
if (mediaType.isCompatibleWith(MediaType.valueOf("application/json"))) {

apps/model-ad/api-next/src/main/java/org/sagebionetworks/model/ad/api/next/api/DiseaseCorrelationApiDelegateImpl.java

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
package org.sagebionetworks.model.ad.api.next.api;
22

33
import java.util.List;
4-
import java.util.Objects;
54
import lombok.RequiredArgsConstructor;
65
import org.sagebionetworks.model.ad.api.next.exception.ErrorConstants;
76
import org.sagebionetworks.model.ad.api.next.exception.InvalidCategoryException;
7+
import org.sagebionetworks.model.ad.api.next.model.dto.DiseaseCorrelationSearchQueryDto;
88
import org.sagebionetworks.model.ad.api.next.model.dto.DiseaseCorrelationsPageDto;
9-
import org.sagebionetworks.model.ad.api.next.model.dto.ItemFilterTypeQueryDto;
109
import org.sagebionetworks.model.ad.api.next.service.DiseaseCorrelationService;
1110
import org.sagebionetworks.model.ad.api.next.util.ApiHelper;
1211
import org.springframework.http.MediaType;
1312
import org.springframework.http.ResponseEntity;
14-
import org.springframework.lang.Nullable;
1513
import org.springframework.stereotype.Component;
1614
import org.springframework.util.StringUtils;
1715

@@ -23,25 +21,13 @@ public class DiseaseCorrelationApiDelegateImpl implements DiseaseCorrelationApiD
2321

2422
@Override
2523
public ResponseEntity<DiseaseCorrelationsPageDto> getDiseaseCorrelations(
26-
List<String> category,
27-
@Nullable List<String> item,
28-
ItemFilterTypeQueryDto itemFilterType,
29-
Integer pageNumber,
30-
Integer pageSize
24+
DiseaseCorrelationSearchQueryDto query
3125
) {
32-
String cluster = extractCluster(category);
33-
List<String> items = ApiHelper.sanitizeItems(item);
34-
ItemFilterTypeQueryDto effectiveFilter = Objects.requireNonNullElse(
35-
itemFilterType,
36-
ItemFilterTypeQueryDto.INCLUDE
37-
);
26+
String cluster = extractCluster(query.getCategory());
3827

3928
DiseaseCorrelationsPageDto results = diseaseCorrelationService.loadDiseaseCorrelations(
40-
pageNumber,
41-
pageSize,
42-
cluster,
43-
items,
44-
effectiveFilter
29+
query,
30+
cluster
4531
);
4632

4733
return ResponseEntity.ok()

0 commit comments

Comments
 (0)