|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Interface for a class to process unsolicited events, including add events, modify events, suspend, restore, and delete events. The primary purpose of this interface is to allow synchronization between external resources and TIM to be initiated from outside of TIM. In other words, data change events on managed resources can be propogated to TIM using this interface.
This class should be used when implementing a new protocol that listens for events on a managed resource. After the event occurs this class should be called to inform TIM to update the TIM data store.
Clients of this interface will typically be server implementations of protocols. However, clients listening for events within the same process as the server are also possible.
Entries are identified in the method signatures by the entryDN parameter. An example of this form for an account entity is 'eruid=jdoe'.
Other processing, before addition to the data store will be also be done. This will include checking of provisioning policies for accounts. For person entries the processing will include person placement rules, lookup of supervisor by name, and lookup of role by name.
The particular kind of processing done on the entry will be determined by the ercategory defined in the service instance. If there is no value for this attribute then internally defined defaults for Person and Account entries will be used.
Information for exceptions during processing of events will be encapsulated in the returned RequestStatus objects.
Clients should ensure data consistency when there is a possibility of concurrent events between a ServiceProvider implementation and unsolicited events.
The service attribute erCategory has special meaning to the API implementation. It is used to determine the factory for processing of data. Supported values of erCategory at present are 'Account' and 'Person'.
Method Summary | |
---|---|
Service |
findService(java.lang.String filter)
Gets the service for this event processor matching a given filter. |
DirectoryObject |
lookup(Service service,
java.lang.String filter)
Lookup an object in the data store. |
RequestStatus |
processAddRequest(Service service,
java.lang.String entryDN,
java.util.Collection objectClasses,
AttributeValues attributeValues)
Process an add request sent from a remote service in a unsolicited notification event. |
RequestStatus |
processDeleteRequest(Service service,
java.lang.String entryDN)
Process a delete request sent from a remote service in a unsolicited notification event. |
RequestStatus |
processModifyRequest(Service service,
java.lang.String entryDN,
AttributeChanges changes)
Process a modify request sent from a remote service in a unsolicited notification event. |
RequestStatus |
processRestoreRequest(Service service,
java.lang.String entryDN)
Process a restore request sent from a remote service in a unsolicited notification event. |
RequestStatus |
processSuspendRequest(Service service,
java.lang.String entryDN)
Process a suspend request sent from a remote service in a unsolicited notification event. |
Methods inherited from interface com.ibm.itim.remoteservices.provider.SchemaLookup |
---|
getAttributeSchema, getClassSchema |
Method Detail |
public Service findService(java.lang.String filter) throws MultipleEntriesFoundException, RemoteServicesException
filter
- An LDAP filter that services should match
MultipleEntriesFoundException
- if the filter matches more than one request
RemoteServicesException
- if there was an exception processing the requestpublic DirectoryObject lookup(Service service, java.lang.String filter) throws MultipleEntriesFoundException, RemoteServicesException, ObjectNotFoundException
service
- The service that the entry is to be added tofilter
- A filter to locate the entry by
MultipleEntriesFoundException
- if the filter matches more than one request
RemoteServicesException
- if there was an exception processing the request
ObjectNotFoundException
- if the object could not be foundpublic RequestStatus processAddRequest(Service service, java.lang.String entryDN, java.util.Collection objectClasses, AttributeValues attributeValues)
service
- The service that the entry is to be added toentryDN
- The distinguished name of the entry with respect to the
managed resourceobjectClasses
- the object classes to use to create the new entityattributeValues
- The attribute values to be added with the
entity.
public RequestStatus processDeleteRequest(Service service, java.lang.String entryDN)
service
- The service that the entry is to be processed forentryDN
- The distinguished name of the entry with respect to the managed resource
public RequestStatus processModifyRequest(Service service, java.lang.String entryDN, AttributeChanges changes)
service
- The service that the entry is to be processed forentryDN
- The distinguished name of the entry with respect to the managed resourcechanges
- list of modifications to process
public RequestStatus processRestoreRequest(Service service, java.lang.String entryDN)
service
- The service that the entry is to be processed forentryDN
- The distinguished name of the entry with respect to the managed resource
public RequestStatus processSuspendRequest(Service service, java.lang.String entryDN)
service
- The service that the entry is to be processed forentryDN
- The distinguished name of the entry with respect to the managed resource
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |