Skip to Content.
Sympa Menu

grouper-users - RE: Group Member Filter with composite groups

Subject: Grouper Users - Open Discussion List

List archive

RE: Group Member Filter with composite groups


Chronological Thread 
  • From: Paul Gazda <>
  • To: Chris Hyzer <>, Grouper Users Mailing List <>
  • Subject: RE: Group Member Filter with composite groups
  • Date: Tue, 7 Apr 2009 09:15:14 -0700
  • Accept-language: en-US
  • Acceptlanguage: en-US

I would like have the immediate concept work for composite groups. For example, if I have:

Group A - a composite group with a composite type of COMPLEMENT

Group A-Left – the left member

Group A-Right – the right member

 

Group A-Left contains Group B and individual C

Group A-Right contains individual D

 

Group B contains individual D and individual E

 

If I use getMembersWs with --memberFilter=Immediate, I would expect to get Group B and individual C as the result.

If I use getMembersWs with --memberFilter=All, I would expect to get Group B and individual C and individual E as the result.

 

Does that make sense?

 

Paul Gazda

 


From: Chris Hyzer [mailto:]
Sent: Tuesday, April 07, 2009 8:44 AM
To: Paul Gazda; Grouper Users Mailing List
Subject: RE: Group Member Filter with composite groups

 

OK, I changed the doc in CVS so it says complement instead of minus.

Also, yes, for composite groups, All = Composite, and Effective/Immediate will not return anything

 

These web service operations are just exposing API methods, though Im not sure they are entirely useful.  What are you trying to do?

 

Thanks,

Chris

 

From: Paul Gazda [mailto:]
Sent: Tuesday, April 07, 2009 11:37 AM
To: Chris Hyzer; Grouper Users Mailing List
Subject: RE: Group Member Filter with composite groups

 

Thanks for the quick reply. First, a comment on the doc. I think that for consistency, the reference to composite operators “composite operator (union, intersection, minus)” should be the same as those in the WsGroupDetail bean that sets the values (UNION, COMPLEMENT, INTERSECTION).

 

But I’m still confused as to how this should work. From your revised doc and the results of my testing, I am concluding that for composite groups:

  1. “All” and “Composite” will always return the same result.
  2. “Effective” and “Immediate” will never return anything.

 

Is that correct?

 

Paul Gazda

 


From: Chris Hyzer [mailto:]
Sent: Monday, April 06, 2009 8:31 PM
To: Paul Gazda; Grouper Users Mailing List
Subject: RE: Group Member Filter with composite groups

 

Sorry, I think the javadoc is the culprit, this is what I updated it to in CVS.  Shilen, let me know if there is a better (or more accurate) way to phrase it. 

 

Paul, let me know if you need anything else.

 

Thanks,

Chris

 

  /** retrieve all members (immediate, effective and composite) */

  All,

 

  /** retrieve members which exist due a group as a member of another group */

  Effective,

 

  /** return only direct members of a group */

  Immediate,

 

  /**

   * if this is a composite group, then return all the memberships that match the

   * composite operator (union, intersection, minus)

   */

  Composite;

 

 

From: Paul Gazda [mailto:]
Sent: Monday, April 06, 2009 8:17 PM
To: Grouper Users Mailing List
Subject: [grouper-users] Group Member Filter with composite groups

 

I am getting unexpected results with GrouperClient 1.4.1 when using the memberFilter with getMembersWs. This is what the javadoc for WsMemberFilter says in the Enum Constant Summary:

All
          retrieve all members (immediate and effective)

Composite
          if this is a composite group, then return the two groups which make up the composition (and the group math operator (union, minus, etc)

Effective
          retrieve non direct (non immediate) members

Immediate
          return only direct members, not indirect

 

I set up a simple composite group with a COMPLEMENT structure like this:

 

ENT:pag4 (Composite group with compositeType of COMPLEMENT)

 

INC:pag4 (leftGroup with these subject Ids as members):

d9…

27…

72…

 

EXC:pag4 (rightGroup with these subject Ids as members):

72...

 

When I query --operation=getMembersWs --groupNames=ENT:pag4 --memberFilter=All, the result is as expected:

d9…

27…

 

When I query --operation=getMembersWs --groupNames=ENT:pag4 --memberFilter=Composite, I would expect to get the uuids for INC:pag4 and EXC:pag4 and the math operator COMPLEMENT, but I get the exact same result as above:

d9…

27…

 

When I query --operation=getMembersWs --groupNames=ENT:pag4 --memberFilter=Effective, I would expect to get the same results as “All”, but I get nothing.

 

I have set up more complicated structures where the composite members reference other composite groups, and what stands out is that no matter what combinations I have, I always get no results for either --memberFilter=Effective and --memberFilter=Immediate. Based on the javadoc, I would expect that at least one of those filters would return something.

 

Am I not understanding how this is supposed to work, or is there a bug?

 

Paul Gazda

 




Archive powered by MHonArc 2.6.16.

Top of Page