@@ -364,12 +364,38 @@ public static Result updateUser(String username){
364
364
return badRequest ("The 'role' field is missing" );
365
365
366
366
//extract fields
367
- JsonNode nonAppUserAttributes = bodyJson .get (UserDao .ATTRIBUTES_VISIBLE_BY_ANONYMOUS_USER );
368
- JsonNode privateAttributes = bodyJson .get (UserDao .ATTRIBUTES_VISIBLE_ONLY_BY_THE_USER );
369
- JsonNode friendsAttributes = bodyJson .get (UserDao .ATTRIBUTES_VISIBLE_BY_FRIENDS_USER );
370
- JsonNode appUsersAttributes = bodyJson .get (UserDao .ATTRIBUTES_VISIBLE_BY_REGISTERED_USER );
367
+ String missingField = null ;
368
+ JsonNode nonAppUserAttributes ;
369
+ JsonNode privateAttributes ;
370
+ JsonNode friendsAttributes ;
371
+ JsonNode appUsersAttributes ;
372
+ try {
373
+ missingField = UserDao .ATTRIBUTES_VISIBLE_BY_ANONYMOUS_USER ;
374
+ nonAppUserAttributes = bodyJson .get (UserDao .ATTRIBUTES_VISIBLE_BY_ANONYMOUS_USER );
375
+ if (nonAppUserAttributes ==null ){
376
+ throw new IllegalArgumentException (missingField );
377
+ }
378
+ missingField = UserDao .ATTRIBUTES_VISIBLE_ONLY_BY_THE_USER ;
379
+ privateAttributes = bodyJson .get (UserDao .ATTRIBUTES_VISIBLE_ONLY_BY_THE_USER );
380
+ if (privateAttributes ==null ){
381
+ throw new IllegalArgumentException (missingField );
382
+ }
383
+ missingField = UserDao .ATTRIBUTES_VISIBLE_BY_FRIENDS_USER ;
384
+ friendsAttributes = bodyJson .get (UserDao .ATTRIBUTES_VISIBLE_BY_FRIENDS_USER );
385
+ if (friendsAttributes ==null ){
386
+ throw new IllegalArgumentException (missingField );
387
+ }
388
+ missingField = UserDao .ATTRIBUTES_VISIBLE_BY_REGISTERED_USER ;
389
+ appUsersAttributes = bodyJson .get (UserDao .ATTRIBUTES_VISIBLE_BY_REGISTERED_USER );
390
+ if (appUsersAttributes ==null ){
391
+ throw new IllegalArgumentException (missingField );
392
+ }
393
+
394
+ }catch (Exception npe ){
395
+ return badRequest ("The '" + missingField +"' field is missing" );
396
+ }
371
397
String role =(String ) bodyJson .findValuesAsText ("role" ).get (0 );
372
-
398
+
373
399
if (privateAttributes .has ("email" )) {
374
400
//check if email address is valid
375
401
if (!Util .validateEmail ((String ) (String ) privateAttributes .findValuesAsText ("email" ).get (0 )) )
0 commit comments