Github user mcgilman commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/2515#discussion_r173869295
  
    --- Diff: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-cluster/src/main/java/org/apache/nifi/cluster/coordination/http/endpoints/CurrentUserEndpointMerger.java
 ---
    @@ -53,6 +54,23 @@ protected void mergeResponses(final CurrentUserEntity 
clientEntity, final Map<No
                     mergePermissions(clientEntity.getPoliciesPermissions(), 
entity.getPoliciesPermissions());
                     mergePermissions(clientEntity.getProvenancePermissions(), 
entity.getProvenancePermissions());
                     mergePermissions(clientEntity.getTenantsPermissions(), 
entity.getTenantsPermissions());
    +                mergePermissions(clientEntity.getSystemPermissions(), 
entity.getSystemPermissions());
    +                mergePermissions(clientEntity.getTenantsPermissions(), 
entity.getTenantsPermissions());
    +
    +                final Set<ComponentRestrictionPermissionDTO> 
clientEntityComponentRestrictionsPermissions = 
clientEntity.getComponentRestrictionPermissions();
    +                final Set<ComponentRestrictionPermissionDTO> 
entityComponentRestrictionsPermissions = 
entity.getComponentRestrictionPermissions();
    +
    +                // only retain the component restriction permissions in 
common
    +                
clientEntityComponentRestrictionsPermissions.retainAll(entityComponentRestrictionsPermissions);
    +
    +                // merge the component restriction permissions
    +                
clientEntityComponentRestrictionsPermissions.forEach(clientEntityPermission -> {
    +                    final ComponentRestrictionPermissionDTO 
entityPermission = 
entityComponentRestrictionsPermissions.stream().filter(entityComponentRestrictionsPermission
 -> {
    +                        return 
entityComponentRestrictionsPermission.getRequiredPermission().getId().equals(clientEntityPermission.getRequiredPermission().getId());
    +                    }).findFirst().orElse(null);
    --- End diff --
    
    Because we're doing a retainAll right before this we know that both 
collections will each have an entry for the current clientEntityPermission. I 
will update to use get() instead.


---

Reply via email to