private void filterAnalyticsGroups ( IGroupMember groupMember , JsonNode config , Map < String , Boolean > isMemberCache ) { if ( config == null ) { return ; } final JsonNode dimensionGroups = config . get ( "dimensionGroups" ) ; if ( dimensionGroups == null ) { return ; } for ( final Iterator < JsonNode > groupItr = dimensionGroups . elements ( ) ; groupItr . hasNext ( ) ; ) { final JsonNode group = groupItr . next ( ) ; final JsonNode valueNode = group . get ( "value" ) ; if ( valueNode == null ) { continue ; } final String groupName = valueNode . asText ( ) ; Boolean isMember = isMemberCache . get ( groupName ) ; if ( isMember == null ) { isMember = isMember ( groupMember , groupName ) ; isMemberCache . put ( groupName , isMember ) ; } if ( ! isMember ) { groupItr . remove ( ) ; } } }
Remove groups from the AnalyticsConfig that the current user is not a member of