Package com.iplanet.am.sdk.common
Interface IDirectoryServices
-
- All Known Subinterfaces:
ICachedDirectoryServices
- All Known Implementing Classes:
CachedDirectoryServicesImpl,CachedRemoteServicesImpl,DirectoryServicesImpl,RemoteServicesImpl
public interface IDirectoryServicesInternal interface which provides service methods to avail all LDAP Directory related services. Classes implementing this service would be the server side classes which make calls to LDAP Server and the remote client classes which would route these method calls to the server side classes.- Author:
- rarcot
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddListener(SSOToken token, AMObjectListener listener, Map configMap)Add a listener object that will receive notifications when entries are changed.voidchangePassword(SSOToken token, String entryDN, String attrName, String oldPassword, String newPassword)Changes user password.StringcreateAMTemplate(SSOToken token, String entryDN, int objectType, String serviceName, Map attributes, int priority)Create an AMTemplate (COSTemplate)voidcreateEntry(SSOToken token, String entryName, int objectType, String parentDN, Map attributes)Create an entry in the DirectorybooleandoesEntryExists(SSOToken token, String entryDN)Returns a true if the entry exists in the directory.StringgetAMTemplateDN(SSOToken token, String entryDN, int objectType, String serviceName, int type)Get the AMTemplate DN (COSTemplateDN)MapgetAttributes(SSOToken token, String entryDN, boolean ignoreCompliance, boolean byteValues, int profileType)Returns a map of attribute-values for requested attributes.MapgetAttributes(SSOToken token, String entryDN, int profileType)Returns a Map with attribute-values requested from the directory.MapgetAttributes(SSOToken token, String entryDN, Set attrNames, boolean ignoreCompliance, boolean byteValues, int profileType)Returns a map of attribute-values for requested attributes.MapgetAttributes(SSOToken token, String entryDN, Set attrNames, int profileType)Returns a Map with attribute-values requested from the directory.MapgetAttributesByteValues(SSOToken token, String entryDN, int profileType)Returns a map of attribute-values for binary attributes.MapgetAttributesByteValues(SSOToken token, String entryDN, Set attrNames, int profileType)Returns a map of attribute-values for binary attributes.SetgetAttributesForSchema(String objectclass)Returns the attributes in the directory schema, associated with the given objectclass.MapgetAttributesFromDS(SSOToken token, String entryDN, Set attrNames, int profileType)Returns a Map with attribute-values fetched directly from the Directory.IComplianceServicesgetComplianceServicesImpl()Returns an implementation instance of IComplianceServices.StringgetCreationTemplateName(int objectType)TODO: Remove this in 7.1 Return the name of the creation template for a given object type.MapgetDCTreeAttributes(SSOToken token, String entryDN, Set attrNames, boolean byteValues, int objectType)Returns the attributes set in the Domain Component of the organization, in theDC Tree Enabled mode.IDCTreeServicesgetDCTreeServicesImpl()Returns an implementation instance of IDCTreeServices.MapgetExternalAttributes(SSOToken token, String entryDN, Set attrNames, int profileType)Returns attributes from an external data store.String[]getGroupFilterAndScope(SSOToken token, String entryDN, int profileType)Returns the dynamic groups search filter and search scope.SetgetMembers(SSOToken token, String entryDN, int objectType)Get members for roles, dynamic group or static groupStringgetNamingAttribute(int objectType, String orgDN)Returns the naming attributeStringgetObjectClass(int objectType)Returns the objectclass representing an object type.intgetObjectType(SSOToken token, String dn)Returns the integer type of the object represented by theDN . intgetObjectType(SSOToken token, String dn, Map cachedAttributes)Returns the integer type of the object represented by theDNusing the cached attributes.StringgetOrganizationDN(SSOToken token, String entryDN)Gets the Organization DN for the specified entryDN.StringgetOrgSearchFilter(String entryDN)Returns the search filter for organization.SetgetRegisteredServiceNames(SSOToken token, String entryDN)Get registered services for an organizationStringgetSearchFilterFromTemplate(int objectType, String orgDN, String searchTemplateName)Returns the search filter of a given search template.SetgetTopLevelContainers(SSOToken token)Returns the set of top level containers that can be viewed by ths uservoidmodifyMemberShip(SSOToken token, Set members, String target, int type, int operation)Modify member ship for role or static groupvoidregisterService(SSOToken token, String orgDN, String serviceName)Register a service for an org or org unit policy to a profilevoidremoveAdminRole(SSOToken token, String dn, boolean recursive)Remove group admin rolevoidremoveEntry(SSOToken token, String entryDN, int objectType, boolean recursive, boolean softDelete)Remove an entry from the directory.StringrenameEntry(SSOToken token, int objectType, String entryDN, String newName, boolean deleteOldName)Renames an entry.Setsearch(SSOToken token, String entryDN, String searchFilter, int searchScope)Searches the DirectoryAMSearchResultssearch(SSOToken token, String entryDN, String searchFilter, SearchControl searchControl, String[] attrNames)Search the DirectoryvoidsetAttributes(SSOToken token, String entryDN, int objectType, Map stringAttributes, Map byteAttributes, boolean isAdd)Method Set the attributes of an entry.voidsetGroupFilter(SSOToken token, String entryDN, String filter)Set's the dynamic groups search filter.voidunRegisterService(SSOToken token, String entryDN, int objectType, String serviceName, int templateType)Un register service for a AMro profile.voidupdateUserAttribute(SSOToken token, Set members, String staticGroupDN, boolean toAdd)Adds or remove static group DN to or from member attribute 'iplanet-am-static-group-dn'StringverifyAndGetOrgDN(SSOToken token, String entryDN, String childDN)Gets the Organization DN for the specified entryDN.
-
-
-
Method Detail
-
getComplianceServicesImpl
IComplianceServices getComplianceServicesImpl()
Returns an implementation instance of IComplianceServices.- Returns:
- instance of IComplianceServices.
-
getDCTreeServicesImpl
IDCTreeServices getDCTreeServicesImpl()
Returns an implementation instance of IDCTreeServices.- Returns:
- instance of IDCTreeServices.
-
doesEntryExists
boolean doesEntryExists(SSOToken token, String entryDN)
Returns a true if the entry exists in the directory.- Parameters:
token- User's single sign on tokenentryDN- DN of the entry.- Returns:
- true or false
-
getObjectType
int getObjectType(SSOToken token, String dn) throws AMException, SSOException
Returns the integer type of the object represented by theDN . - Parameters:
token- User's single sign on tokendn-DNof the entry.- Returns:
- Integer type of the entry.
- Throws:
AMException- If entry is not a supported type or if unable to access the datastore.SSOException- If user's single sign on token is invalid.
-
getObjectType
int getObjectType(SSOToken token, String dn, Map cachedAttributes) throws AMException, SSOException
Returns the integer type of the object represented by theDNusing the cached attributes.- Parameters:
token- User's single sign on tokendn-DNof the entry.cachedAttributes- cached attributes that can be used to determine the object type- Returns:
- Integer type of the entry.
- Throws:
AMException- If entry is not a supported type or if unable to access the datastore.SSOException- If user's single sign on token is invalid.
-
getDCTreeAttributes
Map getDCTreeAttributes(SSOToken token, String entryDN, Set attrNames, boolean byteValues, int objectType) throws AMException, SSOException
Returns the attributes set in the Domain Component of the organization, in theDC Tree Enabled mode.- Parameters:
token- User's single sign on tokenentryDN-DNof the entry.attrNames- Set of attribute namesbyteValues- true if trying to read binary attributesobjectType- Integer representing type of the object.- Returns:
- Map of attribute-values.
- Throws:
AMException- If unable to access datastoreSSOException- If user's single sign on token is invalid.
-
getAttributes
Map getAttributes(SSOToken token, String entryDN, int profileType) throws AMException, SSOException
Returns a Map with attribute-values requested from the directory.- Parameters:
token- User's single sign on tokenentryDN-DNof the entry.profileType- Integer representing type of the object.- Returns:
- Map of attribute-values.
- Throws:
AMException- If unable to access datastoreSSOException- If user's single sign on token is invalid.
-
getAttributes
Map getAttributes(SSOToken token, String entryDN, Set attrNames, int profileType) throws AMException, SSOException
Returns a Map with attribute-values requested from the directory.- Parameters:
token- User's single sign on tokenentryDN-DNof the entry.attrNames- Set of attributes to be read.profileType- Integer representing type of the object.- Returns:
- Map of attribute-values.
- Throws:
AMException- If unable to access datastoreSSOException- If user's single sign on token is invalid.
-
getAttributesFromDS
Map getAttributesFromDS(SSOToken token, String entryDN, Set attrNames, int profileType) throws AMException, SSOException
Returns a Map with attribute-values fetched directly from the Directory. This API will avoid caching the attributes.- Parameters:
token- User's single sign on tokenentryDN-DNof the entry.attrNames- Set of attributes to be read.profileType- Integer representing type of the object.- Returns:
- Map of attribute-values.
- Throws:
AMException- If unable to access datastoreSSOException- If user's single sign on token is invalid.
-
getAttributesByteValues
Map getAttributesByteValues(SSOToken token, String entryDN, int profileType) throws AMException, SSOException
Returns a map of attribute-values for binary attributes.- Parameters:
token- User's single sign on tokenentryDN-DNof the entry.profileType- Integer representing type of the object.- Returns:
- Map of attribute-values.
- Throws:
AMException- If unable to access datastoreSSOException- If user's single sign on token is invalid.
-
getAttributesByteValues
Map getAttributesByteValues(SSOToken token, String entryDN, Set attrNames, int profileType) throws AMException, SSOException
Returns a map of attribute-values for binary attributes.- Parameters:
token- User's single sign on tokenentryDN-DNof the entry.attrNames- Names of the attributes to be read.profileType- Integer representing type of the object.- Returns:
- Map of attribute-values.
- Throws:
AMException- If unable to access datastoreSSOException- If user's single sign on token is invalid.
-
getAttributes
Map getAttributes(SSOToken token, String entryDN, boolean ignoreCompliance, boolean byteValues, int profileType) throws AMException, SSOException
Returns a map of attribute-values for requested attributes.- Parameters:
token- User's single sign on tokenentryDN-DNof the entry.ignoreCompliance- Ignore compliance mode when constructing search filters.byteValues- Return binary attributes, if true.profileType- Integer representing type of the object.- Returns:
- Map of attribute-values.
- Throws:
AMException- If unable to access datastoreSSOException- If user's single sign on token is invalid.
-
getAttributes
Map getAttributes(SSOToken token, String entryDN, Set attrNames, boolean ignoreCompliance, boolean byteValues, int profileType) throws AMException, SSOException
Returns a map of attribute-values for requested attributes.- Parameters:
token- User's single sign on tokenentryDN-DNof the entry.attrNames- Set of attribute names to be read.ignoreCompliance- Ignore compliance mode when constructing search filters.byteValues- Return binary attributes, if true.profileType- Integer representing type of the object.- Returns:
- Map of attribute-values.
- Throws:
AMException- If unable to access datastoreSSOException- If user's single sign on token is invalid.
-
getOrgSearchFilter
String getOrgSearchFilter(String entryDN)
Returns the search filter for organization.- Parameters:
entryDN-DNof the organization.- Returns:
- Search filter.
-
getOrganizationDN
String getOrganizationDN(SSOToken token, String entryDN) throws AMException
Gets the Organization DN for the specified entryDN. If the entry itself is an org, then same DN is returned.NOTE: This method will involve serveral directory searches, hence be cautious of Performance hit
- Parameters:
token- a valid SSOTokenentryDN- the entry whose parent Organization is to be obtained- Returns:
- the DN String of the parent Organization
- Throws:
AMException- if an error occured while obtaining the parent Organization
-
verifyAndGetOrgDN
String verifyAndGetOrgDN(SSOToken token, String entryDN, String childDN) throws AMException
Gets the Organization DN for the specified entryDN. If the entry itself is an org, then same DN is returned.- Parameters:
token- a valid SSOTokenentryDN- the entry whose parent Organization is to be obtainedchildDN- the immediate entry whose parent Organization is to be obtained- Returns:
- the DN String of the parent Organization
- Throws:
AMException- if an error occured while obtaining the parent Organization
-
getExternalAttributes
Map getExternalAttributes(SSOToken token, String entryDN, Set attrNames, int profileType) throws AMException
Returns attributes from an external data store.- Parameters:
token- Single sign on token of userentryDN- DN of the entry user is trying to readattrNames- Set of attributes to be readprofileType- Integer determining the type of profile being read- Returns:
- A Map of attribute-value pairs
- Throws:
AMException- if an error occurs when trying to read external datastore
-
updateUserAttribute
void updateUserAttribute(SSOToken token, Set members, String staticGroupDN, boolean toAdd) throws AMException
Adds or remove static group DN to or from member attribute 'iplanet-am-static-group-dn'- Parameters:
token- SSOTokenmembers- set of user DN'sstaticGroupDN- DN of the static grouptoAdd- true to add, false to remove- Throws:
AMException- if there is an internal problem with AM Store.
-
createEntry
void createEntry(SSOToken token, String entryName, int objectType, String parentDN, Map attributes) throws AMEntryExistsException, AMException, SSOException
Create an entry in the Directory- Parameters:
token- SSOTokenentryName- name of the entry (naming value), e.g. "sun.com", "manager"objectType- Profile Type, ORGANIZATION, AMObject.ROLE, AMObject.USER, etc.parentDN- the parent DNattributes- the initial attribute set for creation- Throws:
AMEntryExistsExceptionAMExceptionSSOException
-
removeEntry
void removeEntry(SSOToken token, String entryDN, int objectType, boolean recursive, boolean softDelete) throws AMException, SSOException
Remove an entry from the directory.- Parameters:
token- SSOTokenentryDN- dn of the profile to be removedobjectType- profile typerecursive- if true, remove all sub entries & the objectsoftDelete- Used to let pre/post callback plugins know that this delete is either a soft delete (marked for deletion) or a purge/hard delete itself, otherwise, remove the object only- Throws:
AMExceptionSSOException
-
removeAdminRole
void removeAdminRole(SSOToken token, String dn, boolean recursive) throws SSOException, AMException
Remove group admin role- Parameters:
token- SSOToken of the callerdn- group DNrecursive- true to delete all admin roles for all sub groups or sub people container- Throws:
SSOExceptionAMException
-
search
Set search(SSOToken token, String entryDN, String searchFilter, int searchScope) throws AMException
Searches the Directory- Parameters:
token- SSOTokenentryDN- DN of the entry to start the search withsearchFilter- search filtersearchScope- search scope, BASE, ONELEVEL or SUBTREE- Returns:
- Set set of matching DNs
- Throws:
AMException
-
search
AMSearchResults search(SSOToken token, String entryDN, String searchFilter, SearchControl searchControl, String[] attrNames) throws AMException
Search the Directory- Parameters:
token- SSOTokenentryDN- DN of the entry to start the search withsearchFilter- search filtersearchControl- search control defining the VLV indexes and search scope- Returns:
- Set set of matching DNs
- Throws:
AMException
-
getMembers
Set getMembers(SSOToken token, String entryDN, int objectType) throws AMException
Get members for roles, dynamic group or static group- Parameters:
token- SSOTokenentryDN- DN of the role or groupobjectType- objectType of the target object, AMObject.ROLE or AMObject.GROUP- Returns:
- Set Member DNs
- Throws:
AMException
-
renameEntry
String renameEntry(SSOToken token, int objectType, String entryDN, String newName, boolean deleteOldName) throws AMException
Renames an entry. Currently used for only user renaming- Parameters:
token- the sso tokenobjectType- the type of entryentryDN- the entry DNnewName- the new name (i.e., if RDN is cn=John, the value passed should be "John"deleteOldName- if true the old name is deleted otherwise it is retained.- Returns:
- new
DNof the renamed entry - Throws:
AMException- if the operation was not successful
-
setAttributes
void setAttributes(SSOToken token, String entryDN, int objectType, Map stringAttributes, Map byteAttributes, boolean isAdd) throws AMException, SSOException
Method Set the attributes of an entry.- Parameters:
token- Single sign on tokenentryDN- DN of the profile whose template is to be setobjectType- profile typestringAttributes- string attributes to be setbyteAttributes- byte attributes to be setisAdd-trueif to add to current value; otherwise it will replace current value.- Throws:
AMExceptionSSOException
-
changePassword
void changePassword(SSOToken token, String entryDN, String attrName, String oldPassword, String newPassword) throws AMException, SSOException
Changes user password.- Parameters:
token- Single sign on tokenentryDN- DN of the profile whose template is to be setattrName- password attribute nameoldPassword- old passwordnewPassword- new password- Throws:
AMException- if an error occurs when changing user passwordSSOException- If user's single sign on token is invalid.
-
getGroupFilterAndScope
String[] getGroupFilterAndScope(SSOToken token, String entryDN, int profileType) throws SSOException, AMException
Returns the dynamic groups search filter and search scope.- Parameters:
token- Single sign on tokenentryDN- DN of the profileprofileType-- Throws:
AMExceptionSSOException
-
setGroupFilter
void setGroupFilter(SSOToken token, String entryDN, String filter) throws AMException, SSOException
Set's the dynamic groups search filter.- Parameters:
token- Single sign on tokenentryDN-DNof group entryfilter- Search filter- Throws:
AMException- If there is a datastore exception.SSOException- If user's single sign on token is invalid.
-
modifyMemberShip
void modifyMemberShip(SSOToken token, Set members, String target, int type, int operation) throws AMException
Modify member ship for role or static group- Parameters:
token- SSOTokenmembers- Set of member DN to be operatedtarget- DN of the target object to add the membertype- type of the target object, AMObject.ROLE or AMObject.GROUPoperation- type of operation, ADD_MEMBER or REMOVE_MEMBER- Throws:
AMException
-
getRegisteredServiceNames
Set getRegisteredServiceNames(SSOToken token, String entryDN) throws AMException
Get registered services for an organization- Parameters:
token- SSOTokenentryDN- DN of the org- Returns:
- Set set of service names
- Throws:
AMException
-
registerService
void registerService(SSOToken token, String orgDN, String serviceName) throws AMException, SSOException
Register a service for an org or org unit policy to a profile- Parameters:
token- tokenorgDN- DN of the orgserviceName- Service Name- Throws:
AMExceptionSSOException
-
unRegisterService
void unRegisterService(SSOToken token, String entryDN, int objectType, String serviceName, int templateType) throws AMException
Un register service for a AMro profile.- Parameters:
token- SSOTokenentryDN- DN of the profile whose service is to be removedobjectType- profile typeserviceName- Service NametemplateType- Template type- Throws:
AMException
-
getAMTemplateDN
String getAMTemplateDN(SSOToken token, String entryDN, int objectType, String serviceName, int type) throws AMException
Get the AMTemplate DN (COSTemplateDN)- Parameters:
token- SSOTokenentryDN- DN of the profile whose template is to be setserviceName- Service Nametype- the template type, AMTemplate.DYNAMIC_TEMPLATE- Returns:
- String DN of the AMTemplate
- Throws:
AMException
-
createAMTemplate
String createAMTemplate(SSOToken token, String entryDN, int objectType, String serviceName, Map attributes, int priority) throws AMException
Create an AMTemplate (COSTemplate)- Parameters:
token- tokenentryDN- DN of the profile whose template is to be setobjectType- the type of objectserviceName- Service Nameattributes- attributes to be setpriority- template priority- Returns:
- String DN of the newly created template
- Throws:
AMException
-
getNamingAttribute
String getNamingAttribute(int objectType, String orgDN)
Returns the naming attribute- Parameters:
objectType- the type of object of interest.orgDN- the organization dn the object belongs to.- Returns:
- the naming attribute for the object.
-
getObjectClass
String getObjectClass(int objectType)
Returns the objectclass representing an object type.- Parameters:
objectType- the type of object of interest.- Returns:
- the objectclass for the representing the object type.
-
getCreationTemplateName
String getCreationTemplateName(int objectType)
TODO: Remove this in 7.1 Return the name of the creation template for a given object type.- Parameters:
objectType- Integere representing object type- Returns:
- Name of creation template
-
getAttributesForSchema
Set getAttributesForSchema(String objectclass)
Returns the attributes in the directory schema, associated with the given objectclass.- Parameters:
objectclass-- Returns:
- The set of attribute names (both required and optional) for this objectclass
-
getSearchFilterFromTemplate
String getSearchFilterFromTemplate(int objectType, String orgDN, String searchTemplateName)
Returns the search filter of a given search template.- Parameters:
objectType- Integere represenintg object type.orgDN- OrganizationsearchTemplateName- Name of search template- Returns:
- Search filter
-
getTopLevelContainers
Set getTopLevelContainers(SSOToken token) throws AMException, SSOException
Returns the set of top level containers that can be viewed by ths user- Parameters:
token- User's single sign on token.- Returns:
- The top level containers this user manages based on its' administrative roles (if any)
- Throws:
AMException- if a datastore access failsSSOException- if user's single sign on token is invalid.
-
addListener
void addListener(SSOToken token, AMObjectListener listener, Map configMap) throws AMEventManagerException
Add a listener object that will receive notifications when entries are changed.- Parameters:
token- SSOToken of the user adding the listnerlistener- listener object that will be called when entries are changed- Throws:
AMEventManagerException- if a error occurs during adding listener object
-
-