Skip to Content.
Sympa Menu

grouper-users - Re: [grouper-users] RE: Group Member Filter with composite groups

Subject: Grouper Users - Open Discussion List

List archive

Re: [grouper-users] RE: Group Member Filter with composite groups


Chronological Thread 
  • From: Tom Barton <>
  • To: Paul Gazda <>
  • Cc: Chris Hyzer <>, Grouper Users Mailing List <>
  • Subject: Re: [grouper-users] RE: Group Member Filter with composite groups
  • Date: Tue, 07 Apr 2009 11:56:04 -0500

Paul,

You've clearly stated how you want the interface to work, but I'm wondering what that will help you to do. Can you shed light on the scenario in which this would play a part?

I ask in part because composites are unlike groups-with-members in many ways. They're closer in spirit to dynamic groups, for which directness vs indirectness of membership isn't really material. For example, if in your example Group B is also a composite, should the members of its factors be direct or indirect relative to Group A?

Thanks,
Tom

Paul Gazda wrote:
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