[ 
https://issues.apache.org/jira/browse/SYNCOPE-1243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16281682#comment-16281682
 ] 

Francesco Chicchiriccò commented on SYNCOPE-1243:
-------------------------------------------------

Also, I would leverage some {{COUNT}} for replacing this:

{code}
+        for (AMembership membership : groupDAO.findAMemberships(group)) {
+            String key = membership.getLeftEnd().getType().getKey();
+            if (groupTO.getStaticAnyObjectMembershipCount().containsKey(key)) {
+                int oldCount = 
groupTO.getStaticAnyObjectMembershipCount().get(key);
+                groupTO.getStaticAnyObjectMembershipCount().put(key, 
++oldCount);
+            } else {
+                groupTO.getStaticAnyObjectMembershipCount().put(key, 1);
+            }
+        }
{code}

in order to avoid cycling on a (possibly huge) number of memberships.

> Add information to GroupTO about user and AnyObject membership counts
> ---------------------------------------------------------------------
>
>                 Key: SYNCOPE-1243
>                 URL: https://issues.apache.org/jira/browse/SYNCOPE-1243
>             Project: Syncope
>          Issue Type: Improvement
>            Reporter: Colm O hEigeartaigh
>            Assignee: Colm O hEigeartaigh
>            Priority: Minor
>             Fix For: 2.0.7, 2.1.0
>
>         Attachments: SYNCOPE-1243.patch, SYNCOPE-1243.patch.2
>
>
> If we want to find out how many users or AnyObjects are members of a given 
> group, it's not possible to figure out via the group itself. Instead we need 
> to run a fiql on the users or Any Objects.
> This task is to add the following fields to GroupTO so that we can get this 
> information more easily:
>   - int staticUserMembershipCount
>   - int dynamicUserMembershipCount
>   - Map<String, Integer> staticAnyObjectMembershipCount
>   - Map<String, Integer> dynamicAnyObjectMembershipCount



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to