3
3
import lombok .extern .apachecommons .CommonsLog ;
4
4
import org .springframework .beans .factory .annotation .Autowired ;
5
5
import org .springframework .context .MessageSource ;
6
+ import org .springframework .data .domain .Page ;
6
7
import org .springframework .data .domain .Pageable ;
7
8
import org .springframework .http .HttpHeaders ;
8
9
import org .springframework .http .HttpStatus ;
@@ -108,10 +109,10 @@ public Object getStats() {
108
109
* Results that cannot be displayed are anonymized.
109
110
*/
110
111
@ GetMapping (value = "/api/users" , produces = MediaType .APPLICATION_JSON_VALUE )
111
- public Object getUsers ( @ RequestHeader (value = HttpHeaders .AUTHORIZATION , required = false ) String authorizationHeader ,
112
- @ Deprecated @ RequestParam (required = false ) String auth ,
113
- Pageable pageable ,
114
- Locale locale ) {
112
+ public Page < User > getUsers ( @ RequestHeader (value = HttpHeaders .AUTHORIZATION , required = false ) String authorizationHeader ,
113
+ @ Deprecated @ RequestParam (required = false ) String auth ,
114
+ Pageable pageable ,
115
+ Locale locale ) {
115
116
checkAuth ( authorizationHeader , auth );
116
117
if ( applicationSettings .getPrivacy ().isEnableAnonymizedSearchResults () ) {
117
118
final Authentication auth2 = SecurityContextHolder .getContext ().getAuthentication ();
@@ -130,10 +131,10 @@ public Object getUsers( @RequestHeader(value = HttpHeaders.AUTHORIZATION, requir
130
131
* Results that cannot be displayed are anonymized.
131
132
*/
132
133
@ GetMapping (value = "/api/genes" , produces = MediaType .APPLICATION_JSON_VALUE )
133
- public Object getGenes ( @ RequestHeader (value = HttpHeaders .AUTHORIZATION , required = false ) String authorizationHeader ,
134
- @ Deprecated @ RequestParam (required = false ) String auth ,
135
- Pageable pageable ,
136
- Locale locale ) {
134
+ public Page < UserGene > getGenes ( @ RequestHeader (value = HttpHeaders .AUTHORIZATION , required = false ) String authorizationHeader ,
135
+ @ Deprecated @ RequestParam (required = false ) String auth ,
136
+ Pageable pageable ,
137
+ Locale locale ) {
137
138
checkAuth ( authorizationHeader , auth );
138
139
if ( applicationSettings .getPrivacy ().isEnableAnonymizedSearchResults () ) {
139
140
final Authentication auth2 = SecurityContextHolder .getContext ().getAuthentication ();
@@ -146,14 +147,14 @@ public Object getGenes( @RequestHeader(value = HttpHeaders.AUTHORIZATION, requir
146
147
}
147
148
148
149
@ GetMapping (value = "/api/users/search" , params = { "nameLike" }, produces = MediaType .APPLICATION_JSON_VALUE )
149
- public Object searchUsersByName ( @ RequestParam String nameLike ,
150
- @ RequestParam Boolean prefix ,
151
- @ RequestParam (required = false ) Set <ResearcherPosition > researcherPositions ,
152
- @ RequestParam (required = false ) Set <ResearcherCategory > researcherCategories ,
153
- @ RequestParam (required = false ) Set <String > organUberonIds ,
154
- @ RequestHeader (value = HttpHeaders .AUTHORIZATION , required = false ) String authorizationHeader ,
155
- @ Deprecated @ RequestParam (required = false ) String auth ,
156
- Locale locale ) {
150
+ public List < User > searchUsersByName ( @ RequestParam String nameLike ,
151
+ @ RequestParam Boolean prefix ,
152
+ @ RequestParam (required = false ) Set <ResearcherPosition > researcherPositions ,
153
+ @ RequestParam (required = false ) Set <ResearcherCategory > researcherCategories ,
154
+ @ RequestParam (required = false ) Set <String > organUberonIds ,
155
+ @ RequestHeader (value = HttpHeaders .AUTHORIZATION , required = false ) String authorizationHeader ,
156
+ @ Deprecated @ RequestParam (required = false ) String auth ,
157
+ Locale locale ) {
157
158
checkEnabled ();
158
159
checkAuth ( authorizationHeader , auth );
159
160
if ( prefix ) {
@@ -164,13 +165,13 @@ public Object searchUsersByName( @RequestParam String nameLike,
164
165
}
165
166
166
167
@ GetMapping (value = "/api/users/search" , params = { "descriptionLike" }, produces = MediaType .APPLICATION_JSON_VALUE )
167
- public Object searchUsersByDescription ( @ RequestParam String descriptionLike ,
168
- @ RequestParam (required = false ) Set <ResearcherPosition > researcherPositions ,
169
- @ RequestParam (required = false ) Set <ResearcherCategory > researcherCategories ,
170
- @ RequestParam (required = false ) Set <String > organUberonIds ,
171
- @ RequestHeader (value = HttpHeaders .AUTHORIZATION , required = false ) String authorizationHeader ,
172
- @ Deprecated @ RequestParam (required = false ) String auth ,
173
- Locale locale ) {
168
+ public List < User > searchUsersByDescription ( @ RequestParam String descriptionLike ,
169
+ @ RequestParam (required = false ) Set <ResearcherPosition > researcherPositions ,
170
+ @ RequestParam (required = false ) Set <ResearcherCategory > researcherCategories ,
171
+ @ RequestParam (required = false ) Set <String > organUberonIds ,
172
+ @ RequestHeader (value = HttpHeaders .AUTHORIZATION , required = false ) String authorizationHeader ,
173
+ @ Deprecated @ RequestParam (required = false ) String auth ,
174
+ Locale locale ) {
174
175
checkEnabled ();
175
176
checkAuth ( authorizationHeader , auth );
176
177
return initUsers ( userService .findByDescription ( descriptionLike , researcherPositions , researcherCategories , organsFromUberonIds ( organUberonIds ) ), locale );
@@ -180,16 +181,16 @@ public Object searchUsersByDescription( @RequestParam String descriptionLike,
180
181
* Search for genes by symbol, taxon, tier, orthologs and organ systems.
181
182
*/
182
183
@ GetMapping (value = "/api/genes/search" , params = { "symbol" , "taxonId" }, produces = MediaType .APPLICATION_JSON_VALUE )
183
- public Object searchUsersByGeneSymbol ( @ RequestParam String symbol ,
184
- @ RequestParam Integer taxonId ,
185
- @ RequestParam (required = false ) Set <TierType > tiers ,
186
- @ RequestParam (required = false ) Integer orthologTaxonId ,
187
- @ RequestParam (required = false ) Set <ResearcherPosition > researcherPositions ,
188
- @ RequestParam (required = false ) Set <ResearcherCategory > researcherCategories ,
189
- @ RequestParam (required = false ) Set <String > organUberonIds ,
190
- @ RequestHeader (value = HttpHeaders .AUTHORIZATION , required = false ) String authorizationHeader ,
191
- @ Deprecated @ RequestParam (required = false ) String auth ,
192
- Locale locale ) {
184
+ public List < UserGene > searchUsersByGeneSymbol ( @ RequestParam String symbol ,
185
+ @ RequestParam Integer taxonId ,
186
+ @ RequestParam (required = false ) Set <TierType > tiers ,
187
+ @ RequestParam (required = false ) Integer orthologTaxonId ,
188
+ @ RequestParam (required = false ) Set <ResearcherPosition > researcherPositions ,
189
+ @ RequestParam (required = false ) Set <ResearcherCategory > researcherCategories ,
190
+ @ RequestParam (required = false ) Set <String > organUberonIds ,
191
+ @ RequestHeader (value = HttpHeaders .AUTHORIZATION , required = false ) String authorizationHeader ,
192
+ @ Deprecated @ RequestParam (required = false ) String auth ,
193
+ Locale locale ) {
193
194
checkEnabled ();
194
195
checkAuth ( authorizationHeader , auth );
195
196
@@ -230,16 +231,16 @@ public Object searchUsersByGeneSymbol( @RequestParam String symbol,
230
231
*/
231
232
@ Deprecated
232
233
@ GetMapping (value = "/api/genes/search" , params = { "symbol" , "taxonId" , "tier" }, produces = MediaType .APPLICATION_JSON_VALUE )
233
- public Object searchUsersByGeneSymbol ( @ RequestParam String symbol ,
234
- @ RequestParam Integer taxonId ,
235
- @ RequestParam String tier ,
236
- @ RequestParam (required = false ) Integer orthologTaxonId ,
237
- @ RequestParam (required = false ) Set <ResearcherPosition > researcherPositions ,
238
- @ RequestParam (required = false ) Set <ResearcherCategory > researcherCategories ,
239
- @ RequestParam (required = false ) Set <String > organUberonIds ,
240
- @ RequestHeader (value = HttpHeaders .AUTHORIZATION , required = false ) String authorizationHeader ,
241
- @ Deprecated @ RequestParam (required = false ) String auth ,
242
- Locale locale ) {
234
+ public List < UserGene > searchUsersByGeneSymbol ( @ RequestParam String symbol ,
235
+ @ RequestParam Integer taxonId ,
236
+ @ RequestParam String tier ,
237
+ @ RequestParam (required = false ) Integer orthologTaxonId ,
238
+ @ RequestParam (required = false ) Set <ResearcherPosition > researcherPositions ,
239
+ @ RequestParam (required = false ) Set <ResearcherCategory > researcherCategories ,
240
+ @ RequestParam (required = false ) Set <String > organUberonIds ,
241
+ @ RequestHeader (value = HttpHeaders .AUTHORIZATION , required = false ) String authorizationHeader ,
242
+ @ Deprecated @ RequestParam (required = false ) String auth ,
243
+ Locale locale ) {
243
244
Set <TierType > tiers ;
244
245
if ( tier .equals ( "ANY" ) ) {
245
246
tiers = TierType .ANY ;
@@ -249,7 +250,7 @@ public Object searchUsersByGeneSymbol( @RequestParam String symbol,
249
250
try {
250
251
tiers = EnumSet .of ( TierType .valueOf ( tier ) );
251
252
} catch ( IllegalArgumentException e ) {
252
- log .error ( "Could not parse tier type." , e );
253
+ log .error ( String . format ( "Could not parse tier type: %s ." , e . getMessage () ) );
253
254
throw new ApiException ( HttpStatus .BAD_REQUEST , String .format ( locale , "Unknown tier: %s." , tier ), e );
254
255
}
255
256
}
@@ -258,10 +259,10 @@ public Object searchUsersByGeneSymbol( @RequestParam String symbol,
258
259
}
259
260
260
261
@ GetMapping (value = "/api/users/{userId}" , produces = MediaType .APPLICATION_JSON_VALUE )
261
- public Object getUserById ( @ PathVariable Integer userId ,
262
- @ RequestHeader (value = HttpHeaders .AUTHORIZATION , required = false ) String authorizationHeader ,
263
- @ RequestParam (name = "auth" , required = false ) String auth ,
264
- Locale locale ) {
262
+ public User getUserById ( @ PathVariable Integer userId ,
263
+ @ RequestHeader (value = HttpHeaders .AUTHORIZATION , required = false ) String authorizationHeader ,
264
+ @ RequestParam (name = "auth" , required = false ) String auth ,
265
+ Locale locale ) {
265
266
checkEnabled ();
266
267
checkAuth ( authorizationHeader , auth );
267
268
User user = userService .findUserById ( userId );
@@ -272,10 +273,10 @@ public Object getUserById( @PathVariable Integer userId,
272
273
}
273
274
274
275
@ GetMapping (value = "/api/users/by-anonymous-id/{anonymousId}" )
275
- public Object getUserByAnonymousId ( @ PathVariable UUID anonymousId ,
276
- @ RequestHeader (value = HttpHeaders .AUTHORIZATION , required = false ) String authorizationHeader ,
277
- @ RequestParam (name = "auth" , required = false ) String auth ,
278
- Locale locale ) {
276
+ public User getUserByAnonymousId ( @ PathVariable UUID anonymousId ,
277
+ @ RequestHeader (value = HttpHeaders .AUTHORIZATION , required = false ) String authorizationHeader ,
278
+ @ RequestParam (name = "auth" , required = false ) String auth ,
279
+ Locale locale ) {
279
280
checkEnabled ();
280
281
checkAnonymousResultsEnabled ();
281
282
checkAuth ( authorizationHeader , auth );
@@ -338,7 +339,7 @@ private void checkAuth( String authorizationHeader, String authToken ) throws Au
338
339
new UsernamePasswordAuthenticationToken ( principle , null , principle .getAuthorities () ) );
339
340
}
340
341
341
- private Collection <UserGene > initUserGenes ( Collection <UserGene > genes , Locale locale ) {
342
+ private List <UserGene > initUserGenes ( List <UserGene > genes , Locale locale ) {
342
343
for ( UserGene gene : genes ) {
343
344
initUserGene ( gene , locale );
344
345
}
@@ -353,7 +354,7 @@ private UserGene initUserGene( UserGene gene, Locale locale ) {
353
354
return gene ;
354
355
}
355
356
356
- private Collection <User > initUsers ( Collection <User > users , Locale locale ) {
357
+ private List <User > initUsers ( List <User > users , Locale locale ) {
357
358
for ( User user : users ) {
358
359
this .initUser ( user , locale );
359
360
}
0 commit comments