Skip to Content.
Sympa Menu

grouper-users - Re: [grouper-users] Changing Grouper ID

Subject: Grouper Users - Open Discussion List

List archive

Re: [grouper-users] Changing Grouper ID


Chronological Thread 
  • From: "GW Brown, Information Systems and Computing" <>
  • To: Thomas M Goerger <>, Tom Barton <>
  • Cc:
  • Subject: Re: [grouper-users] Changing Grouper ID
  • Date: Wed, 23 Apr 2008 09:03:23 +0100

Tom,

The session has to be a root session:

root=SubjectFinder.findRootSubject()
session=GrouperSession.start(root)

subject=findSubject("<id>")
member=MemberFinder.findBySubject(session,subject)
member.setSubjectId("<newid>")


Internally an InsufficientPrivilegeException is thrown. Unfortunately that is not reflected in the error message you got - something we'll need to work on.

Gary

--On 22 April 2008 12:53 -0500 Thomas M Goerger
<>
wrote:

I'm having a problem with the setSubjectID() command. I'm hitting my
subject a little differently than below, which may be making the
difference? I'd rather not use the uuid, so I'm hitting the subject as
follows:

subject=findSubject("<id>")
session=GrouperSession.start(subject)
member=MemberFinder.findBySubject(session,subject)

When I then try to run:

member.setSubjectId("<newid>")

I'm receiving the error:

// Error: unable to evaluate command: Sourced file: inline evaluation of:
``member.setSubjectId("<newid>");'' : Method Invocation
member.setSubjectId

Seems like its not seeing the setSubjectId subcommand at all. I'm using
GrouperShell 0.1.1. Is there something off in my sequence that might be
causing the problem?

Thanks,

Tom Goerger


On Thu, 17 Apr 2008, Tom Barton wrote:

Or you could use Grouper Shell to make the change. Using Gary's code as
a model, the corresponding sequence of gsh commands would be

s=GrouperSession.start(SubjectFinder.findRootSubject())
m=MemberFinder.findByUuid(s, "<uuid>")
m.setSubjectId("newId")

Tom

GW Brown, Information Systems and Computing wrote:
> No, you would need to write some code to do it. I'm sure we can come up
> with a command line script but we're busy getting 1.3.0 ready just now.
>
> You could alter the database directly -
>
> update grouper_members set subject_id=:newId where subject_id=:oldId
>
> The code would look something like:
>
> GrouperSession s =
> GrouperSession.start(SubjectFinder.findRootSubject(); Member m =
> MemberFinder.findByUuid(s, "<uuid>") ; //look up uuid in the db
> m.setSubjectId(newId);
>
> Gary
>
> --On 17 April 2008 11:31 -0500 Thomas M Goerger
<>
wrote:
>
>> Do I just add that by adding the attribute to the grouper.properties
>> file,
>> and setting it to true? And then rebuild the API?
>>
>>
>> On Thu, 17 Apr 2008, GW Brown, Information Systems and Computing
>> wrote:
>>
>>> Hi Tom,
>>>
>>> Grouper does membership mapping against a row in grouper_members. You
>>> can
>>> change the subject id there and all the group memberships /
>>> privileges still work because they map to a group using the member
>>> uuid.
>>>
>>> There is a Member.setSubjectId method which allows GrouperSystem to
>>> do this change via the API.
>>>
>>> Gary
>>>
>>> --On 17 April 2008 09:56 -0500 Thomas M Goerger
<>
wrote:
>>>
>>> > Hi,
>>> >
>>> > I'm having an issue with changing the underlying name that Grouper
>>> > is using to identify a user. We have an attribute called
>>> > OfficialName that we want to use as the unique identifier in
>>> > Grouper. Changing this value, as might happen if someone has a
>>> > legal name change, seems to be problematic for Grouper. It
>>> > recognizes the change if you do another search, but if you try to
>>> > list members in a group where one of the names has been changed,
>>> > Grouper spits back a Runtime Exception.
>>> >
>>> > Anyone else dealt with this at all? How do you deal with a
>>> > changing id in your implementation?
>>> >
>>> > Thanks,
>>> >
>>> > Tom Goerger
>>> > University of Minnesota - Internet Services
>>> >
>>>
>>>
>>>
>>> ----------------------
>>> GW Brown, Information Systems and Computing
>>>

>>>
>
>
>
> ----------------------
> GW Brown, Information Systems and Computing
>





----------------------
GW Brown, Information Systems and Computing




Archive powered by MHonArc 2.6.16.

Top of Page