Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Include Page
spaceKeyGrouper
pageTitleNavigation

Using the Grouper API to bootstrap your Groups Registry

...

  • Find GrouperSystem Subject
Code Block

Subject grouperSystem = SubjectFinder.findRootSubject();
  • Start-and-stop sessions
Code Block

Subject subject = SubjectFinder.findById("mchyzer", true);
    GrouperSession grouperSession = GrouperSession.start(subject);
    try {
      
      //do some grouper stuff
      
    } finally {
      GrouperSession.stopQuietly(grouperSession);
    }
  • Find the root stem
Code Block

Stem rootStem = StemFinder.findRootStem(grouperSession);
  • Find stem by name (note: the true/false is if an exception should be thrown if not found)
Code Block

Stem stem = StemFinder.findbyName(grouperSession, "some:stem:name", true);
  • Create stem
Code Block

Stem stem = new StemSave(grouperSession).assignName("some:stem:name").assignCreateParentStemsIfNotExist(true).save();
  • Find group by name (note: the true/false is if an exception should be thrown if not found)
Code Block

Group group = GroupFinder.findByName(grouperSession, "some:group:name", true);
  • Create group
Code Block

Group group = new GroupSave(grouperSession).assignName("some:folder:groupName").save();
  • Find GrouperAll subject
Code Block

Subject grouperAll = SubjectFinder.findAllSubject();
  • Check for membership in the wheel group

    Code Block
    
     boolean isWheelOrRoot = PrivilegeHelper.isWheelOrRoot(subject);
    
  • Add wheel group member
Code Block

String groupName = GrouperConfig.getProperty( GrouperConfig.PROP_WHEEL_GROUP );
Group wheelGroup = GroupFinder.findByName( GrouperSession.staticGrouperSession().internal_getRootSession(), groupName, true );
wheelGroup.addMember(subject, false);
  • See if a subject is in the registry by ID and source ID, without resolving the subject
Code Block
gsh 0% GrouperSession grouperSession = GrouperSession.startRootSession();
gsh 1% Subject subject = new SubjectImpl("test.subject.0", null, null, "person", "jdbc");
gsh 2% MemberFinder.findBySubject(grouperSession, subject, false);
member: id='test.subject.0' type='person' source='jdbc' uuid='fc98430743f7435d9f69286624a2f8b5' 
gsh 3% subject = new SubjectImpl("test.subject.0xyz", null, null, "person", "jdbc");
subject: id='test.subject.0xyz' type='person' source='jdbc' name='null' 
gsh 4% MemberFinder.findBySubject(grouperSession, subject, false);
gsh 5%