19
19
import com .azure .security .keyvault .administration .implementation .KeyVaultAccessControlClientImpl ;
20
20
import com .azure .security .keyvault .administration .implementation .KeyVaultAccessControlClientImplBuilder ;
21
21
import com .azure .security .keyvault .administration .implementation .KeyVaultErrorCodeStrings ;
22
- import com .azure .security .keyvault .administration .implementation .models .*;
23
- import com .azure .security .keyvault .administration .models .*;
22
+ import com .azure .security .keyvault .administration .implementation .models .Permission ;
23
+ import com .azure .security .keyvault .administration .implementation .models .RoleAssignment ;
24
+ import com .azure .security .keyvault .administration .implementation .models .RoleAssignmentCreateParameters ;
25
+ import com .azure .security .keyvault .administration .implementation .models .RoleAssignmentProperties ;
26
+ import com .azure .security .keyvault .administration .implementation .models .RoleAssignmentPropertiesWithScope ;
27
+ import com .azure .security .keyvault .administration .implementation .models .RoleDefinition ;
28
+ import com .azure .security .keyvault .administration .models .KeyVaultPermission ;
29
+ import com .azure .security .keyvault .administration .models .KeyVaultRoleAssignment ;
30
+ import com .azure .security .keyvault .administration .models .KeyVaultRoleAssignmentProperties ;
31
+ import com .azure .security .keyvault .administration .models .KeyVaultRoleAssignmentScope ;
32
+ import com .azure .security .keyvault .administration .models .KeyVaultRoleDefinition ;
33
+ import com .azure .security .keyvault .administration .models .KeyVaultRoleDefinitionProperties ;
24
34
import reactor .core .publisher .Mono ;
25
35
26
36
import java .io .IOException ;
@@ -142,7 +152,7 @@ Mono<PagedResponse<KeyVaultRoleDefinition>> listRoleDefinitionsFirstPage(String
142
152
.doOnSuccess (response -> logger .info ("Listed role definitions for roleScope - {}" , roleScope ))
143
153
.doOnError (error -> logger .warning (String .format ("Failed to list role definitions for roleScope - %s" ,
144
154
roleScope ), error ))
145
- .map (this ::transformRoleDefinitionsPagedResponse );
155
+ .map (KeyVaultAccessControlAsyncClient ::transformRoleDefinitionsPagedResponse );
146
156
} catch (RuntimeException e ) {
147
157
return monoError (logger , e );
148
158
}
@@ -168,7 +178,7 @@ Mono<PagedResponse<KeyVaultRoleDefinition>> listRoleDefinitionsNextPage(String c
168
178
.doOnSuccess (response -> logger .info ("Listed next role definitions page - Page {}" , continuationToken ))
169
179
.doOnError (error -> logger .warning ("Failed to list next role definitions page - Page {}" ,
170
180
continuationToken , error ))
171
- .map (this ::transformRoleDefinitionsPagedResponse );
181
+ .map (KeyVaultAccessControlAsyncClient ::transformRoleDefinitionsPagedResponse );
172
182
} catch (RuntimeException e ) {
173
183
return monoError (logger , e );
174
184
}
@@ -230,7 +240,7 @@ Mono<PagedResponse<KeyVaultRoleAssignment>> listRoleAssignmentsFirstPage(String
230
240
.doOnSuccess (response -> logger .info ("Listed role assignments for roleScope - {}" , roleScope ))
231
241
.doOnError (error -> logger .warning (String .format ("Failed to list role assignments for roleScope - %s" ,
232
242
roleScope ), error ))
233
- .map (this ::transformRoleAssignmentsPagedResponse );
243
+ .map (KeyVaultAccessControlAsyncClient ::transformRoleAssignmentsPagedResponse );
234
244
} catch (RuntimeException e ) {
235
245
return monoError (logger , e );
236
246
}
@@ -256,7 +266,7 @@ Mono<PagedResponse<KeyVaultRoleAssignment>> listRoleAssignmentsNextPage(String c
256
266
.doOnSuccess (response -> logger .info ("Listed next role assignments page - Page {}" , continuationToken ))
257
267
.doOnError (error -> logger .warning ("Failed to list next role assignments page - Page {}" ,
258
268
continuationToken , error ))
259
- .map (this ::transformRoleAssignmentsPagedResponse );
269
+ .map (KeyVaultAccessControlAsyncClient ::transformRoleAssignmentsPagedResponse );
260
270
} catch (RuntimeException e ) {
261
271
return monoError (logger , e );
262
272
}
@@ -364,7 +374,7 @@ Mono<Response<KeyVaultRoleAssignment>> createRoleAssignmentWithResponse(KeyVault
364
374
.doOnRequest (ignored -> logger .info ("Creating role assignment - {}" , name ))
365
375
.doOnSuccess (response -> logger .info ("Created role assignment - {}" , response .getValue ().getName ()))
366
376
.doOnError (error -> logger .warning ("Failed to create role assignment - {}" , name , error ))
367
- .map (this ::transformRoleAssignmentResponse );
377
+ .map (KeyVaultAccessControlAsyncClient ::transformRoleAssignmentResponse );
368
378
}
369
379
370
380
/**
@@ -422,7 +432,7 @@ Mono<Response<KeyVaultRoleAssignment>> getRoleAssignmentWithResponse(KeyVaultRol
422
432
.doOnRequest (ignored -> logger .info ("Retrieving role assignment - {}" , name ))
423
433
.doOnSuccess (response -> logger .info ("Retrieved role assignment - {}" , response .getValue ().getName ()))
424
434
.doOnError (error -> logger .warning ("Failed to retrieved role assignment - {}" , name , error ))
425
- .map (this ::transformRoleAssignmentResponse );
435
+ .map (KeyVaultAccessControlAsyncClient ::transformRoleAssignmentResponse );
426
436
} catch (RuntimeException e ) {
427
437
return monoError (logger , e );
428
438
}
@@ -483,83 +493,30 @@ Mono<Response<KeyVaultRoleAssignment>> deleteRoleAssignmentWithResponse(KeyVault
483
493
.doOnRequest (ignored -> logger .info ("Deleting role assignment - {}" , name ))
484
494
.doOnSuccess (response -> logger .info ("Deleted role assignment - {}" , response .getValue ().getName ()))
485
495
.doOnError (error -> logger .warning ("Failed to delete role assignment - {}" , name , error ))
486
- .map (this ::transformRoleAssignmentResponse );
496
+ .map (KeyVaultAccessControlAsyncClient ::transformRoleAssignmentResponse );
487
497
} catch (RuntimeException e ) {
488
498
return monoError (logger , e );
489
499
}
490
500
}
491
501
492
- private PagedResponse <KeyVaultRoleDefinition > transformRoleDefinitionsPagedResponse (PagedResponse <RoleDefinition > pagedResponse ) {
502
+ @ SuppressWarnings ("BoundedWildcard" )
503
+ private static PagedResponse <KeyVaultRoleDefinition > transformRoleDefinitionsPagedResponse (PagedResponse <RoleDefinition > pagedResponse ) {
493
504
List <KeyVaultRoleDefinition > keyVaultRoleDefinitions = new ArrayList <>();
494
505
495
506
for (RoleDefinition roleDefinition : pagedResponse .getValue ()) {
496
507
keyVaultRoleDefinitions .add (roleDefinitionToKeyVaultRoleDefinition (roleDefinition ));
497
508
}
498
509
499
- return new PagedResponse <KeyVaultRoleDefinition >() {
500
- @ Override
501
- public void close () throws IOException {
502
- }
503
-
504
- @ Override
505
- public IterableStream <KeyVaultRoleDefinition > getElements () {
506
- return new IterableStream <>(keyVaultRoleDefinitions );
507
- }
508
-
509
- @ Override
510
- public String getContinuationToken () {
511
- return pagedResponse .getContinuationToken ();
512
- }
513
-
514
- @ Override
515
- public int getStatusCode () {
516
- return pagedResponse .getStatusCode ();
517
- }
518
-
519
- @ Override
520
- public HttpHeaders getHeaders () {
521
- return pagedResponse .getHeaders ();
522
- }
523
-
524
- @ Override
525
- public HttpRequest getRequest () {
526
- return pagedResponse .getRequest ();
527
- }
528
-
529
- @ Override
530
- public List <KeyVaultRoleDefinition > getValue () {
531
- return keyVaultRoleDefinitions ;
532
- }
533
- };
510
+ return new TransformedPagedResponse <>(keyVaultRoleDefinitions , pagedResponse );
534
511
}
535
512
536
- private Response <KeyVaultRoleAssignment > transformRoleAssignmentResponse (Response <RoleAssignment > response ) {
513
+ private static Response <KeyVaultRoleAssignment > transformRoleAssignmentResponse (Response <RoleAssignment > response ) {
537
514
KeyVaultRoleAssignment keyVaultRoleAssignment = roleAssignmentToKeyVaultRoleAssignment (response .getValue ());
538
515
539
- return new Response <KeyVaultRoleAssignment >() {
540
- @ Override
541
- public int getStatusCode () {
542
- return response .getStatusCode ();
543
- }
544
-
545
- @ Override
546
- public HttpHeaders getHeaders () {
547
- return response .getHeaders ();
548
- }
549
-
550
- @ Override
551
- public HttpRequest getRequest () {
552
- return response .getRequest ();
553
- }
554
-
555
- @ Override
556
- public KeyVaultRoleAssignment getValue () {
557
- return keyVaultRoleAssignment ;
558
- }
559
- };
516
+ return new TransformedResponse <>(keyVaultRoleAssignment , response );
560
517
}
561
518
562
- private KeyVaultRoleDefinition roleDefinitionToKeyVaultRoleDefinition (RoleDefinition roleDefinition ) {
519
+ private static KeyVaultRoleDefinition roleDefinitionToKeyVaultRoleDefinition (RoleDefinition roleDefinition ) {
563
520
List <KeyVaultPermission > keyVaultPermissions = new ArrayList <>();
564
521
565
522
for (Permission permission : roleDefinition .getPermissions ()) {
@@ -574,55 +531,95 @@ private KeyVaultRoleDefinition roleDefinitionToKeyVaultRoleDefinition(RoleDefini
574
531
roleDefinition .getAssignableScopes ()));
575
532
}
576
533
577
- private PagedResponse <KeyVaultRoleAssignment > transformRoleAssignmentsPagedResponse (PagedResponse <RoleAssignment > pagedResponse ) {
534
+ private static PagedResponse <KeyVaultRoleAssignment > transformRoleAssignmentsPagedResponse (PagedResponse <RoleAssignment > pagedResponse ) {
578
535
List <KeyVaultRoleAssignment > keyVaultRoleAssignments = new ArrayList <>();
579
536
580
537
for (RoleAssignment roleAssignment : pagedResponse .getValue ()) {
581
538
keyVaultRoleAssignments .add (roleAssignmentToKeyVaultRoleAssignment (roleAssignment ));
582
539
}
583
540
584
- return new PagedResponse <KeyVaultRoleAssignment >() {
585
- @ Override
586
- public void close () throws IOException {
587
- }
588
-
589
- @ Override
590
- public IterableStream <KeyVaultRoleAssignment > getElements () {
591
- return new IterableStream <>(keyVaultRoleAssignments );
592
- }
593
-
594
- @ Override
595
- public String getContinuationToken () {
596
- return pagedResponse .getContinuationToken ();
597
- }
598
-
599
- @ Override
600
- public int getStatusCode () {
601
- return pagedResponse .getStatusCode ();
602
- }
603
-
604
- @ Override
605
- public HttpHeaders getHeaders () {
606
- return pagedResponse .getHeaders ();
607
- }
608
-
609
- @ Override
610
- public HttpRequest getRequest () {
611
- return pagedResponse .getRequest ();
612
- }
613
-
614
- @ Override
615
- public List <KeyVaultRoleAssignment > getValue () {
616
- return keyVaultRoleAssignments ;
617
- }
618
- };
541
+ return new TransformedPagedResponse <>(keyVaultRoleAssignments , pagedResponse );
619
542
}
620
543
621
- private KeyVaultRoleAssignment roleAssignmentToKeyVaultRoleAssignment (RoleAssignment roleAssignment ) {
544
+ private static KeyVaultRoleAssignment roleAssignmentToKeyVaultRoleAssignment (RoleAssignment roleAssignment ) {
622
545
RoleAssignmentPropertiesWithScope propertiesWithScope = roleAssignment .getProperties ();
623
546
624
547
return new KeyVaultRoleAssignment (roleAssignment .getId (), roleAssignment .getName (), roleAssignment .getType (),
625
548
new KeyVaultRoleAssignmentProperties (propertiesWithScope .getRoleDefinitionId (),
626
549
propertiesWithScope .getPrincipalId ()), KeyVaultRoleAssignmentScope .fromString (propertiesWithScope .getScope ()));
627
550
}
551
+
552
+ private static final class TransformedPagedResponse <L extends List <T >, T , U > implements PagedResponse <T > {
553
+ private final L output ;
554
+ private final PagedResponse <U > pagedResponse ;
555
+
556
+ TransformedPagedResponse (L output , PagedResponse <U > inputPagedResponse ) {
557
+ this .output = output ;
558
+ this .pagedResponse = inputPagedResponse ;
559
+ }
560
+
561
+ @ Override
562
+ public void close () throws IOException {
563
+ }
564
+
565
+ @ Override
566
+ public IterableStream <T > getElements () {
567
+ return new IterableStream <>(output );
568
+ }
569
+
570
+ @ Override
571
+ public String getContinuationToken () {
572
+ return pagedResponse .getContinuationToken ();
573
+ }
574
+
575
+ @ Override
576
+ public int getStatusCode () {
577
+ return pagedResponse .getStatusCode ();
578
+ }
579
+
580
+ @ Override
581
+ public HttpHeaders getHeaders () {
582
+ return pagedResponse .getHeaders ();
583
+ }
584
+
585
+ @ Override
586
+ public HttpRequest getRequest () {
587
+ return pagedResponse .getRequest ();
588
+ }
589
+
590
+ @ Override
591
+ public List <T > getValue () {
592
+ return output ;
593
+ }
594
+ }
595
+
596
+ private static final class TransformedResponse <T , U > implements Response <T > {
597
+ private final T output ;
598
+ private final Response <U > response ;
599
+
600
+ TransformedResponse (T output , Response <U > response ) {
601
+ this .output = output ;
602
+ this .response = response ;
603
+ }
604
+
605
+ @ Override
606
+ public int getStatusCode () {
607
+ return response .getStatusCode ();
608
+ }
609
+
610
+ @ Override
611
+ public HttpHeaders getHeaders () {
612
+ return response .getHeaders ();
613
+ }
614
+
615
+ @ Override
616
+ public HttpRequest getRequest () {
617
+ return response .getRequest ();
618
+ }
619
+
620
+ @ Override
621
+ public T getValue () {
622
+ return output ;
623
+ }
624
+ }
628
625
}
0 commit comments