edu.internet2.middleware.grouper
Class GrouperSourceAdapter

java.lang.Object
  extended by edu.internet2.middleware.subject.provider.BaseSourceAdapter
      extended by edu.internet2.middleware.grouper.GrouperSourceAdapter
All Implemented Interfaces:
edu.internet2.middleware.subject.Source

public class GrouperSourceAdapter
extends edu.internet2.middleware.subject.provider.BaseSourceAdapter

Source adapter for using Grouper groups as I2MI Subjects.

This is an adapter I2MI Subjects of type group. It allows groups within a Group Groups Registry to be referenced as I2MI Subjects.

To use, add the following to your sources.xml file:

 <source adapterClass="edu.internet2.middleware.grouper.GrouperSourceAdapter">
   <id>g:gsa</id>
   <name>Grouper: Grouper Source Adapter</name>
   <type>group</type>
 </source>
 

Version:
$Id: GrouperSourceAdapter.java,v 1.31 2009-08-12 04:52:21 mchyzer Exp $
Author:
blair christensen.

Constructor Summary
GrouperSourceAdapter()
          Allocates new GrouperSourceAdapter.
GrouperSourceAdapter(java.lang.String id, java.lang.String name)
          Allocates new GrouperSourceAdapter.
 
Method Summary
 void checkConfig()
           
 edu.internet2.middleware.subject.Subject getSubject(java.lang.String id)
          Deprecated. 
 edu.internet2.middleware.subject.Subject getSubject(java.lang.String id, boolean exceptionIfNotFound)
          Get a Group subject by UUID.
 edu.internet2.middleware.subject.Subject getSubjectByIdentifier(java.lang.String name)
          Deprecated. 
 edu.internet2.middleware.subject.Subject getSubjectByIdentifier(java.lang.String name, boolean exceptionIfNull)
          Gets a Group subject by its name.
 java.util.Set getSubjectTypes()
          Gets the SubjectTypes supported by this source.
 void init()
          Initializes the Grouper source adapter.
 java.lang.String printConfig()
           
 java.util.Set<edu.internet2.middleware.subject.Subject> search(java.lang.String searchValue)
          Searches for Group subjects by naming attributes.
 
Methods inherited from class edu.internet2.middleware.subject.provider.BaseSourceAdapter
addAttribute, addInitParam, addSubjectType, equals, getId, getInitParam, getInitParams, getName, getSubjectByIdOrIdentifier, getSubjectsByIdentifiers, getSubjectsByIds, getSubjectsByIdsOrIdentifiers, getSubjectType, hashCode, loadSearch, setId, setName
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GrouperSourceAdapter

public GrouperSourceAdapter()
Allocates new GrouperSourceAdapter.


GrouperSourceAdapter

public GrouperSourceAdapter(java.lang.String id,
                            java.lang.String name)
Allocates new GrouperSourceAdapter.

Method Detail

getSubject

@Deprecated
public edu.internet2.middleware.subject.Subject getSubject(java.lang.String id)
                                                    throws edu.internet2.middleware.subject.SubjectNotFoundException
Deprecated. 

Get a Group subject by UUID.

 // Use it within the Grouper API
 try {
   Subject subj = SubjectFinder.getSubject(uuid, "group");
 } 
 catch (SubjectNotFoundException e) {
   // Subject not found
 }

 // Use it directly
 try {
   Subject subj = source.getSubject(uuid, "group");
 } 
 catch (SubjectNotFoundException e) {
   // Subject not found
 }
 

Specified by:
getSubject in interface edu.internet2.middleware.subject.Source
Specified by:
getSubject in class edu.internet2.middleware.subject.provider.BaseSourceAdapter
Parameters:
id - Group UUID
Returns:
A Subject
Throws:
edu.internet2.middleware.subject.SubjectNotFoundException

getSubject

public edu.internet2.middleware.subject.Subject getSubject(java.lang.String id,
                                                           boolean exceptionIfNotFound)
                                                    throws edu.internet2.middleware.subject.SubjectNotFoundException
Get a Group subject by UUID.

 // Use it within the Grouper API
 try {
   Subject subj = SubjectFinder.getSubject(uuid, "group");
 } 
 catch (SubjectNotFoundException e) {
   // Subject not found
 }

 // Use it directly
 try {
   Subject subj = source.getSubject(uuid, "group");
 } 
 catch (SubjectNotFoundException e) {
   // Subject not found
 }
 

Specified by:
getSubject in interface edu.internet2.middleware.subject.Source
Overrides:
getSubject in class edu.internet2.middleware.subject.provider.BaseSourceAdapter
Parameters:
id - Group UUID
exceptionIfNotFound -
Returns:
A Subject
Throws:
edu.internet2.middleware.subject.SubjectNotFoundException

getSubjectByIdentifier

@Deprecated
public edu.internet2.middleware.subject.Subject getSubjectByIdentifier(java.lang.String name)
                                                                throws edu.internet2.middleware.subject.SubjectNotFoundException
Deprecated. 

Gets a Group subject by its name.

 // Use it within the Grouper API
 try {
   Subject subj = SubjectFinder.getSubjectByIdentifier(name, "group");
 }
 catch (SubjectNotFoundException e) {
   // Subject not found
 }

 // Use it directly
 try {
   Subject subj = source.getSubjectByIdentifier(name, "group");
 } 
 catch (SubjectNotFoundException e) {
   // Subject not found
 }
 

Specified by:
getSubjectByIdentifier in interface edu.internet2.middleware.subject.Source
Specified by:
getSubjectByIdentifier in class edu.internet2.middleware.subject.provider.BaseSourceAdapter
Parameters:
name - Group name
Returns:
A Subject
Throws:
edu.internet2.middleware.subject.SubjectNotFoundException

getSubjectByIdentifier

public edu.internet2.middleware.subject.Subject getSubjectByIdentifier(java.lang.String name,
                                                                       boolean exceptionIfNull)
                                                                throws edu.internet2.middleware.subject.SubjectNotFoundException
Gets a Group subject by its name.

 // Use it within the Grouper API
 try {
   Subject subj = SubjectFinder.getSubjectByIdentifier(name, "group");
 }
 catch (SubjectNotFoundException e) {
   // Subject not found
 }

 // Use it directly
 try {
   Subject subj = source.getSubjectByIdentifier(name, "group");
 } 
 catch (SubjectNotFoundException e) {
   // Subject not found
 }
 

Specified by:
getSubjectByIdentifier in interface edu.internet2.middleware.subject.Source
Overrides:
getSubjectByIdentifier in class edu.internet2.middleware.subject.provider.BaseSourceAdapter
Parameters:
name - Group name
exceptionIfNull -
Returns:
A Subject
Throws:
edu.internet2.middleware.subject.SubjectNotFoundException

getSubjectTypes

public java.util.Set getSubjectTypes()
Gets the SubjectTypes supported by this source.
 SourceAdapter  sa    = new GrouperSourceAdapter();
 Set            types = sa.getSubjectTypes();
 

Specified by:
getSubjectTypes in interface edu.internet2.middleware.subject.Source
Overrides:
getSubjectTypes in class edu.internet2.middleware.subject.provider.BaseSourceAdapter
Returns:
Subject types supported by this source.

init

public void init()
          throws edu.internet2.middleware.subject.SourceUnavailableException
Initializes the Grouper source adapter.

No initialization is currently performed by this adapter.

Specified by:
init in interface edu.internet2.middleware.subject.Source
Specified by:
init in class edu.internet2.middleware.subject.provider.BaseSourceAdapter
Throws:
edu.internet2.middleware.subject.SourceUnavailableException

search

public java.util.Set<edu.internet2.middleware.subject.Subject> search(java.lang.String searchValue)
                                                               throws java.lang.IllegalArgumentException
Searches for Group subjects by naming attributes.

This method performs a fuzzy search on the stem, extension, displayExtension, name and displayName group attributes.

 // Use it within the Grouper API
 Set subjects = SubjectFactory.search("admins");

 // Use it directly
 Set subjects = source.search("admins");
 

Specified by:
search in interface edu.internet2.middleware.subject.Source
Specified by:
search in class edu.internet2.middleware.subject.provider.BaseSourceAdapter
Throws:
java.lang.IllegalArgumentException - if searchValue is null.

checkConfig

public void checkConfig()
See Also:
Source.checkConfig()

printConfig

public java.lang.String printConfig()
See Also:
Source.printConfig()