wt.org
Class StandardOrganizationServicesManager

java.lang.Object
  extended bywt.services.StandardManager
      extended bywt.org.StandardOrganizationServicesManager
All Implemented Interfaces:
Manager, NetFactor, OrganizationServicesManager, Serializable

public class StandardOrganizationServicesManager
extends StandardManager
implements OrganizationServicesManager, Serializable

Standard implementation of the Organization Services Manager interface. Supports also a cache of WTPrincipal objects.

Use the newStandardOrganizationServicesManager static factory method(s), not the StandardOrganizationServicesManager constructor, to construct instances of this class. Instances must be constructed using the static factory(s), in order to ensure proper initialization of the instance.



Supported API: true

Extendable: false

See Also:
Serialized Form

Nested Class Summary
(package private)  class StandardOrganizationServicesManager.PrincipalEventListener
           
(package private)  class StandardOrganizationServicesManager.TransactionMonitor
          TransactionMonitor class Inner class used to monitor transaction commits and rollback.
 
Field Summary
private static String ACCESS_RESOURCE
           
private static DirectoryKey adminDirKey
           
private static Class ATTRIBUTE_HOLDER_CLASS
           
private static String CLASSNAME
           
private static String CREATE_PRINCIPAL_TASK
           
private static String DEFAULT_ADMIN_DIRECTORY_USER
           
private static String DEFAULT_ANON_DIRECTORY_USER
           
private static String DEFAULT_DIRECTORY_SERVICE
           
private static String DEFAULT_GROUP_CLASS
           
private static String DEFAULT_LANGUAGE
           
private static String DEFAULT_ORG_CLASS
           
private static String DEFAULT_SUBTREE_CLASS
           
private static String DEFAULT_USER_CLASS
           
private static DirectoryContextProvider defaultDirectoryContextProvider
           
private static String[] defaultDirectoryServices
           
private static String DELETE_PRINCIPALS_TASK
           
private static PrintWriter DEPRECATION_LOG
           
private static String DIRECTORY_SERVICES
           
private  boolean eventListenersRegistered
           
private static String FIND_PARENT_GROUPS_TASK
           
private static boolean FIRST_MATCH_WINS
           
private static String GENERATION_QUALIFIERS
           
private static Method groupFactoryMethod
           
private static String LANGUAGES
           
private  KeyedEventListener listener
           
private static DirectoryInfrastructureNodeCache nodeCache
           
private static String NOTIFY_PRINCIPAL_DISABLED_TASK
           
private static String NOTIFY_PRINCIPAL_REPAIR_TASK
           
private static Method orgFactoryMethod
           
private static Hashtable orgKeyTable
           
private static DirectoryContextProvider pendingUserDirectoryContextProvider
           
private static int PRINCIPAL_QUERY_PAGE_SIZE
           
private static WTPrincipalCache principalCache
           
private static String QUERY_PRINCIPALS_TASK
           
private static Set recentDisabledNotifications
           
private static Set recentRepairNotifications
           
private static String RENAME_PRINCIPAL_TASK
           
private static String RESOURCE
           
private static Hashtable serviceAttributeLists
           
private static Hashtable serviceAttributeMaps
           
private static Hashtable serviceDirectoryContextProviders
           
private static Hashtable serviceRepositoryTable
           
private static boolean STRUCTURAL_ORGS_ENABLED
           
private static boolean TRACE_DEPRECATION
           
private static String UFID_RESOURCE
           
private static String UPDATE_PRINCIPAL_TASK
           
private static Method userFactoryMethod
           
private static boolean VERBOSE
           
private static boolean VERBOSE_CACHE
           
private static boolean VERBOSE_QUERY
           
private static String VM_NAME
           
 
Fields inherited from class wt.services.StandardManager
 
Fields inherited from interface wt.services.Manager
MANAGER_SERVICE, STARTUP_AUTOMATIC, STARTUP_MANUAL, STATUS_EMERGENCY_SHUTDOWN, STATUS_EMERGENCY_SHUTTING_DOWN, STATUS_SHUTDOWN, STATUS_SHUTDOWN_ERRORS, STATUS_SHUTDOWN_FAILURE, STATUS_SHUTTING_DOWN, STATUS_STARTED, STATUS_STARTED_ERRORS, STATUS_STARTING_UP, STATUS_STARTUP_FAILURE
 
Constructor Summary
StandardOrganizationServicesManager()
           
 
Method Summary
private  String _arrayToString(String[] array)
           
private  void _cacheMembers(DirectoryKey key, HashSet members)
           
private  void _checkAdministrator()
           
private  void _checkCreatePrincipal(WTPrincipal principal)
           
private  void _checkDeletePrincipal(WTPrincipal principal)
           
private  void _checkDisablePrincipal(WTPrincipal principal)
           
private  String _createNewDirectoryEntry(WTPrincipal principal)
           
private  WTPrincipal _createNewPrincipal(WTPrincipal principal)
           
private  WTUser _createPendingUser(String email)
           
private  void _deleteSubordinateObjects(DirectoryContextProvider baseContext)
           
private  WTPrincipal _disablePrincipal(WTPrincipal principal)
           
private  void _dumpStack()
           
private  String _escapeCriteria(String criteria)
           
private  HashSet _findOrganizationUsers(WTOrganization organization)
           
private  WTUser _getAdministrator()
           
private  WTGroup _getAdministrators()
           
private  String[] _getAllServices()
           
private  String[] _getAttributeList(String service, Class principalClass)
          Obtains the list of LDAP attributes supported for a specific service and class of principal.
private  HashMap _getAttributeMap(String service, Class principalClass)
          Obtains or creates the service-specific attribute mappings for a particular service and class of principal.
private  DirectoryContextProvider _getDirectoryContextProvider(String service)
           
private  DirectoryContextProvider _getDirectoryContextProvider(String[] services)
           
private  ObjectVector _getDomainsForPersistedPrincipals(ObjectVectorIfc principalVector)
           
private  ObjectVector _getDomainsForPrincipals(ObjectVectorIfc principalVector)
           
private  String _getLocalId(WTPrincipal principal)
           
private  String _getObjectClass(String service, Class principalClass)
          Obtains the LDAP object class for a Windchill principal class.
private  String _getParentDn(String dn)
           
private  DirectoryContextProvider _getPendingUserDCP()
           
private  WTPrincipal _getPersistable(WTPrincipal principal)
           
private  WTPrincipal _getPrincipalByUfid(WTPrincipal principal)
           
private  String _getRdnFromDn(String dn)
           
private  Repository _getRepositoryForService(String service)
           
private  String _getServiceForDn(String dn)
           
private  String _getSessionUser()
           
private  DirectoryContextProvider[] _getWindchillPDMGroupContexts(String[] services)
           
private  void _handlePostStorePrincipal(WTPrincipal principal)
           
private  boolean _hasAccess(WTPrincipal principal, AccessPermission permission)
           
private  void _hookTransaction(String event_type, Persistable target)
           
private  Map _immediateParentGroups(WTPrincipal principal)
          Returns the immediate parent groups of a specific principal.
private  WTPrincipal _inflateByUfid(WTPrincipal principal)
           
private  boolean _isAdministrator()
           
private  WTPrincipal _mapPrincipal(Method factoryMethod, Element element, String service)
           
private  Enumeration _mapPrincipals(Class principalClass, Group group, String service)
           
private  HashSet _memberDns(WTGroup group)
           
private  HashSet _members(WTGroup group, boolean flatten)
           
private  HashSet _members(WTGroup group, boolean flatten, HashSet expandedGroups)
           
private  Object _moveBranch(Object rootNode, String newName, String newDn)
           
private  String _normalizeDn(String dn)
           
private  void _notifyPrincipalDisabled(WTPrincipal principal)
           
private  void _notifyPrincipalRepair(WTPrincipal principal)
           
private  Map _parentGroups(WTPrincipal principal, String dn, String service, HashSet expandedGroups, HashMap dirKeyMap)
           
private  boolean _pendingUserExists(String email)
           
private  Enumeration _queryDisabledGroups(String pattern)
           
private  Enumeration _queryDisabledUsers(String attrName, String pattern)
           
private  Group _queryParents(String dn, String service)
           
private  WTPrincipal _queryPrincipal(Class principalClass, String attrName, String pattern, DirectoryContextProvider context)
           
private  WTPrincipal[] _queryPrincipals(Class principalClass, String attrName, String pattern, DirectoryContextProvider context, boolean firstMatchWins)
           
private  Enumeration _queryPrincipals(Class principalClass, String attrName, String pattern, DirectoryContextProvider context, boolean firstMatchWins, boolean applyAccessFilter)
           
private  WTPrincipal[] _queryPrincipals(String service, Class principalClass, String criteria, DirectoryContextProvider context)
           
private  WTPrincipal[] _queryPrincipals(String service, Class principalClass, String attrName, String pattern, DirectoryContextProvider context)
           
private  WTPrincipal[] _queryPrincipals(String searchFilter, String searchScope, String searchBase, String service, String[] attributes, int sizeLimit)
           
private  WTPrincipal _readPrincipal(String dn, String service)
           
private  WTPrincipal _readPrincipal(String dn, String service, boolean bypassCache)
           
private  void _removeCachedMembersFromParents(WTPrincipal principal)
           
private  void _removeCachedParents(WTPrincipal principal)
           
private  WTUser _resolvePendingUser(WTUser user)
           
private  void _storeUfid(WTPrincipal principal)
           
private  String _translateSQLWildcards(String attr_value)
           
private  String _translateWildcards(String wildcard)
           
private  WTPrincipal _updatePrincipal(WTPrincipal principal)
           
private  boolean _validEmailAddress(String email)
           
 boolean addMember(WTGroup group, WTPrincipal principal)
          Adds a principal to a group.
 WTPrincipal[] addMembers(WTGroup group, WTPrincipal[] principals)
          Adds principals to a group.
 Enumeration allGroups()
          Deprecated.  
 Enumeration allUsers()
          Deprecated.  
 AttributeHolder createAttributeHolder()
          Creates an object that implements the AttributeHolder interface.
 AttributeHolder createAttributeHolder(String name, String javaNamingProviderTag)
          Deprecated.  
 void createNode(DirectoryInfrastructureNode node)
          

Supported API: false
 ArrayList createPendingUser(String email)
          This method returns a WTUser with the passed in email address.
 WTPrincipal createPrincipal(WTPrincipal principal)
          

Supported API: true
 void createSubtree(DirectorySubtree subtree)
          

Supported API: false
 WTGroup delete(WTGroup group)
          Deleted the group passed as argument.
 WTUser delete(WTUser user)
          

Supported API: true
 void deleteNode(DirectoryInfrastructureNode node)
          

Supported API: false
 void deleteSubtree(DirectorySubtree subtree)
          

Supported API: false
 WTPrincipal disablePrincipal(WTPrincipal principal)
          

Supported API: false
protected  void dispatchVetoableEvent(String eventType, WTPrincipal object)
          

Supported API: false
 WTPrincipal enablePrincipal(WTPrincipal principal)
          

Supported API: false
private  QueryResult enforceSingleActiveElectronicID(QueryResult result, WTUser axuser)
          Enforces the business rule that there can be only a single active electronic ID.
 Enumeration filterPrincipals(Enumeration principals, AccessPermission permission)
          Traverse an enumeration of principals applying access control rules.
 Enumeration findAllActiveAndDisabledGroups()
          Deprecated.  
 Enumeration findAllActiveAndDisabledUsers()
          Deprecated.  
 Enumeration findAllGroups(String[] services, boolean includeLocalService, boolean includeDisabled)
          Deprecated.  
 Enumeration findAllGroups(String service, boolean includeDisabled)
          Deprecated.  
 Enumeration findAllUsers(String[] services, boolean includeLocalService, boolean includeDisabled)
          Deprecated.  
 Enumeration findAllUsers(String service, boolean includeDisabled)
          Deprecated.  
 Enumeration findLikeActiveAndDisabledUsers(String attr_name, String attr_value)
          Deprecated.  
 Enumeration findLikeGroup(String name)
          Deprecated.  
 Enumeration findLikeGroups(String pattern, DirectoryContextProvider context)
          This method will search the given directory context for groups whose name matches the name parameter.
 Enumeration findLikeGroups(String name, String service)
          Deprecated.  
 Enumeration findLikeGroups(String name, String[] services)
          Deprecated.  
 Enumeration findLikeGroups(String name, String[] services, boolean includeLocalService, boolean includeDisabled)
          Deprecated.  
 Enumeration findLikeNodes(String pattern, DirectoryContextProvider context)
          

Supported API: false
 Enumeration findLikeOrganizations(String attributeName, String pattern, DirectoryContextProvider context)
          

Supported API: true
 Enumeration findLikeOrganizations(String attributeName, String pattern, DirectoryContextProvider context, boolean querySubtree)
          

Supported API: false
 Enumeration findLikeOrganizations(String attributeName, String pattern, DirectoryContextProvider context, boolean querySubtree, boolean applyAccessFilter)
          

Supported API: false
 Enumeration findLikeUser(String attr_name, String attr_value)
          Deprecated.  
 Enumeration findLikeUsers(String attributeName, String pattern, DirectoryContextProvider context)
          This method will search the given directory context for users with the given attribute matching the given pattern.
 Enumeration findLikeUsers(String attributeName, String pattern, String[] services)
          Deprecated.  
 Enumeration findLikeUsers(String name, String fullName, String[] services, boolean includeLocalService, boolean includeDisabled)
          Deprecated.  
 Enumeration findLikeUsers(String name, String fullName, String service, boolean includeDisabled)
          Deprecated.  
 Enumeration findUser(String attr_name, String attr_value)
          Deprecated.  
 Enumeration findUser(String attr_name, String attr_value, String service)
          Deprecated.  
 WTPrincipal fixUfid(String newDn, WTPrincipal principal, String oldEnteredDn)
          

Supported API: false
private  String formatDate(Timestamp time)
          Formats a timestamp from the database to the EXPLORER STANDARD FORMAT.
 WTUser getAuthenticatedUser(String auth_name)
          

Supported API: true
 String getConceptualClassname()
          Deprecated.  
 String getDefaultDirectoryService()
          

Supported API: false
 DirectoryService getDirectoryService(String name)
          

Supported API: false
 String getDirectoryServiceDn(String name)
          

Supported API: false
 String getDirectoryServiceName(String name)
          

Supported API: false
 String getDirectoryServiceNameByDn(String dn)
          

Supported API: false
 String[] getDirectoryServiceNames()
          

Supported API: true
 String getDirectoryServiceOfDn(String dn)
          Determine which directory service holds the entry identified by a specific distinguished name.
 String getDnForName(String name, Class principalClass, String service)
          Generate a distinguished name for a principal held by a specific service.
 WTGroup getGroup(String name)
          Deprecated.  
 WTGroup getGroup(String name, DirectoryContextProvider context)
          This method will search for groups whose name attribute matches the given name in the given directory context.
 WTGroup getGroup(String name, String service)
          Deprecated.  
 Enumeration getGroup(String name, String[] services)
          Deprecated.  
 Enumeration getGroup(String name, String[] services, boolean includeLocalService)
          Deprecated.  
 Enumeration getGroups(String name, DirectoryContextProvider context)
          

Supported API: true
 Enumeration getGroups(String name, String[] services)
          Deprecated.  
 DirectoryInfrastructureNode getNode(String name, DirectoryContextProvider context)
          

Supported API: false
 WTOrganization getOrganization(String name, DirectoryContextProvider context)
          

Supported API: true
 WTOrganization getOrganization(WTPrincipal principal)
          Returns the organization with which a principal is associated.
 Enumeration getOrganizations(String name, DirectoryContextProvider context)
          

Supported API: true
 String getOrganizationUniqueIdentifier(OrganizationOwned object)
          Returns organization unique identifier without applying access rules restrictions.
 WTPrincipal getPrincipal(ObjectIdentifier reference)
          Gets the user or group for the specified principal reference.
 WTPrincipal getPrincipal(String name)
          Deprecated.  
 WTPrincipal getPrincipal(String name, Class type, DirectoryContextProvider context)
          This method will search for a principal with the given name in the given organization.
 Enumeration getPrincipal(String name, DirectoryContextProvider context)
          This method will search for principals with the given name in the given organization.
 WTPrincipal getPrincipal(String name, String service)
          Deprecated.  
 Enumeration getPrincipal(String name, String[] services)
          Deprecated.  
 Enumeration getPrincipal(String name, String[] services, boolean includeLocalService)
          Deprecated.  
 WTPrincipal getPrincipalByDN(String dn)
          Returns the principal identified by a specific directory distinguished name, or null if no such principal exists.
static WTPrincipalCache getPrincipalCache()
          Returns principal cache.
 WTPrincipalReference getPrincipalReference(String name)
          Deprecated.  
 WTPrincipalReference getPrincipalReference(String name, Class type, DirectoryContextProvider context)
          This method will search for a principal with the given name in the given organization, and return its reference.
 Enumeration getPrincipalReference(String name, DirectoryContextProvider context)
          This method will search for principals with the given name in the given organization, and references to them will be returned.
 WTPrincipalReference getPrincipalReference(String name, String service)
          Deprecated.  
 Enumeration getPrincipalReference(String name, String[] services)
          Deprecated.  
 Enumeration getPrincipalReference(String name, String[] services, boolean includeLocalService)
          Deprecated.  
 Enumeration getSubordinates(WTOrganization organization)
          

Supported API: false
 WTOrganization getSuperior(WTOrganization organization)
          

Supported API: false
 String getUfid(WTPrincipal principal)
          Returns the Unique Federation Identifier of a principal.
 WTUser getUser(String name)
          Deprecated.  
 WTUser getUser(String name, DirectoryContextProvider context)
          

Supported API: true
 WTUser getUser(String name, String service)
          Deprecated.  
 Enumeration getUser(String name, String[] services)
          Deprecated.  
 Enumeration getUser(String name, String[] services, boolean includeLocalService)
          Deprecated.  
 Hashtable getUserElectronicIdentification(boolean getAll, WTUser a_user)
          

Supported API: false
 Hashtable getUserElectronicIdentificationInfo(boolean getAll, WTUser a_user)
          Null if no objects found.
 Enumeration getUserLanguages()
          Returns the available languages for users.
 Enumeration getUsers(String name, DirectoryContextProvider context)
          

Supported API: true
 Enumeration getUsers(String name, String[] services)
          Deprecated.  
 WTPrincipal inflate(WTPrincipal principal)
          

Supported API: false
 WTPrincipal inflate(WTPrincipalReference ref)
          

Supported API: false
 boolean isMember(ObjectIdentifier group, WTPrincipal principal)
          

Supported API: false
 boolean isMember(WTGroup group, WTPrincipal principal)
          

Supported API: true
 boolean isMember(WTPrincipalReference group, WTPrincipal principal)
          

Supported API: true
protected  boolean isReferenceAccessible(WTPrincipalReference principalRef)
          Determines whether the caller has the right to access the referenced, returns true if caller has the right, false if not

Supported API: false
 Vector listOfInvalidPrincipals()
          This method returns all WTPrincipals in which the Ufid is no longer valid.
 Enumeration mapPrincipals(Enumeration principals, String service)
          Map an enumeration of Info*Engine Elements representing a set of principals to an enumeration of WTPrincipal objects.
 Enumeration members(WTGroup group)
          

Supported API: true
 Enumeration members(WTGroup group, boolean flatten)
          

Supported API: true
 DirectoryInfrastructureNode move(DirectoryInfrastructureNode node, DirectoryContextProvider newContext)
          Moves a directory infrastructure node to a new location and updates the UFID's of all principals that are subordinate to it.
 WTPrincipal move(WTPrincipal principal, DirectoryContextProvider newContext)
          

Supported API: true
 DirectoryContextProvider newDirectoryContextProvider(DirectoryContextProvider baseContext, String[] searchScopes)
          

Supported API: true
 DirectoryContextProvider newDirectoryContextProvider(DirectoryInfrastructureNode node)
          

Supported API: false
 DirectoryContextProvider newDirectoryContextProvider(DirectorySubtree subtree)
          

Supported API: false
 DirectoryContextProvider newDirectoryContextProvider(String[] services, String[] searchScopes)
          

Supported API: true
static StandardOrganizationServicesManager newStandardOrganizationServicesManager()
          Default factory for the class.
 Map parentGroupMap(WTPrincipal principal)
          Returns a map identifying all of the groups of which a specified principal is a member.
 Enumeration parentGroups(WTPrincipal principal)
          

Supported API: true
 Enumeration parentGroups(WTPrincipal principal, boolean flatten)
          Returns groups that the argument principal is a member of.
protected  void performStartupProcess()
          Execute initialization process.
private  ElectronicIdentificationInfo populateElectronicIdentificationInfo(ElectronicSignature template)
          Populates the class that will be returned to the Admin client for working with a users electronic identification.
private  QueryResult queryActiveUserElectronicIdentification(WTUser auser)
          Performs the query that retrieves all the Active ElectronicSignatures for a given user.
 Enumeration queryPrincipals(Class principalClass, String criteria, DirectoryContextProvider context)
          

Supported API: true
 Enumeration queryPrincipals(Class principalClass, String criteria, DirectoryContextProvider[] contexts)
          

Supported API: true
private  QueryResult queryUserElectronicIdentification(boolean all, WTUser a_user)
          Queries for a user electronic identification by either getting all the ElectronicSignatures or calls queryActiveUserElectronicIdentification for only active ElectronicSignatures.
 boolean removeMember(WTGroup group, WTPrincipal principal)
          Removes a principal from a group.
 DirectoryInfrastructureNode rename(DirectoryInfrastructureNode node, String newName)
          Renames a directory infrastructure node and updates the UFID's of all principals that are subordinate to it.
 WTPrincipal rename(WTPrincipal principal, String newName)
          

Supported API: true
 WTPrincipal repairPrincipal(String oldName, String newDn, String oldEnteredDn)
          This method tries and repairs the principal given the "oldName" (name that is currently in the database and possibly will continue to be -- ie.
protected  WTGroup retrieveGroup(String name)
          Deprecated.  
protected  WTUser retrieveUser(String name)
          Deprecated.  
 WTPrincipal savePrincipal(WTPrincipal principal)
          Deprecated.  
 ObjectReference setUserElectronicIdentificationEnabled(ObjectReference objReference, boolean active)
          Sets the electronic identification object Active or InActive.
 String[] translateAttributeNames(String service, String[] attributeKeys, String[] defaultAttributeNames)
          

Supported API: false
 WTPrincipal updatePrincipal(WTPrincipal principal)
          

Supported API: true
private  void updatePrincipalCache(String event_type, WTPrincipal principal)
          Update principal cache in case of modification or deletion of principals.
 boolean validateDn(String dn, String service)
          Validate the given distinguished name with the service within the directory.
 boolean validDirectoryEntry(WTPrincipal principal)
          This method invokes a task to find if the given Principal has a valid Directory entry.
 
Methods inherited from class wt.services.StandardManager
emergencyShutdown, emergencyShutdownComplete, emergencyShuttingDown, getClassInfo, getManagerService, getManagerStatus, getName, getStartupType, init, initialize, initialize, isStarted, newStandardManager, newStandardManager, performEmergencyShutdownProcess, performShutdownProcess, registerEvents, setManagerService, shutdown, shutdownFailure, shutdownSuccess, shuttingDown, started, startedErrors, startingUp, startup, startupFailure, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

principalCache

private static WTPrincipalCache principalCache

listener

private KeyedEventListener listener

ACCESS_RESOURCE

private static final String ACCESS_RESOURCE
See Also:
Constant Field Values

UFID_RESOURCE

private static final String UFID_RESOURCE
See Also:
Constant Field Values

DEFAULT_LANGUAGE

private static final String DEFAULT_LANGUAGE
See Also:
Constant Field Values

DEFAULT_GROUP_CLASS

private static final String DEFAULT_GROUP_CLASS
See Also:
Constant Field Values

DEFAULT_ORG_CLASS

private static final String DEFAULT_ORG_CLASS
See Also:
Constant Field Values

DEFAULT_SUBTREE_CLASS

private static final String DEFAULT_SUBTREE_CLASS
See Also:
Constant Field Values

DEFAULT_USER_CLASS

private static final String DEFAULT_USER_CLASS
See Also:
Constant Field Values

TRACE_DEPRECATION

private static boolean TRACE_DEPRECATION

DEPRECATION_LOG

private static PrintWriter DEPRECATION_LOG

VERBOSE

private static boolean VERBOSE

VERBOSE_CACHE

private static boolean VERBOSE_CACHE

VERBOSE_QUERY

private static boolean VERBOSE_QUERY

LANGUAGES

private static String LANGUAGES

ATTRIBUTE_HOLDER_CLASS

private static Class ATTRIBUTE_HOLDER_CLASS

DEFAULT_ADMIN_DIRECTORY_USER

private static String DEFAULT_ADMIN_DIRECTORY_USER

DEFAULT_ANON_DIRECTORY_USER

private static String DEFAULT_ANON_DIRECTORY_USER

DEFAULT_DIRECTORY_SERVICE

private static String DEFAULT_DIRECTORY_SERVICE

DIRECTORY_SERVICES

private static String DIRECTORY_SERVICES

GENERATION_QUALIFIERS

private static String GENERATION_QUALIFIERS

FIRST_MATCH_WINS

private static boolean FIRST_MATCH_WINS

STRUCTURAL_ORGS_ENABLED

private static boolean STRUCTURAL_ORGS_ENABLED

CREATE_PRINCIPAL_TASK

private static String CREATE_PRINCIPAL_TASK

DELETE_PRINCIPALS_TASK

private static String DELETE_PRINCIPALS_TASK

FIND_PARENT_GROUPS_TASK

private static String FIND_PARENT_GROUPS_TASK

NOTIFY_PRINCIPAL_DISABLED_TASK

private static String NOTIFY_PRINCIPAL_DISABLED_TASK

NOTIFY_PRINCIPAL_REPAIR_TASK

private static String NOTIFY_PRINCIPAL_REPAIR_TASK

QUERY_PRINCIPALS_TASK

private static String QUERY_PRINCIPALS_TASK

RENAME_PRINCIPAL_TASK

private static String RENAME_PRINCIPAL_TASK

UPDATE_PRINCIPAL_TASK

private static String UPDATE_PRINCIPAL_TASK

VM_NAME

private static String VM_NAME

groupFactoryMethod

private static Method groupFactoryMethod

orgFactoryMethod

private static Method orgFactoryMethod

userFactoryMethod

private static Method userFactoryMethod

adminDirKey

private static DirectoryKey adminDirKey

orgKeyTable

private static Hashtable orgKeyTable

recentDisabledNotifications

private static Set recentDisabledNotifications

recentRepairNotifications

private static Set recentRepairNotifications

nodeCache

private static DirectoryInfrastructureNodeCache nodeCache

serviceAttributeLists

private static Hashtable serviceAttributeLists

serviceAttributeMaps

private static Hashtable serviceAttributeMaps

serviceDirectoryContextProviders

private static Hashtable serviceDirectoryContextProviders

serviceRepositoryTable

private static Hashtable serviceRepositoryTable

defaultDirectoryContextProvider

private static DirectoryContextProvider defaultDirectoryContextProvider

pendingUserDirectoryContextProvider

private static DirectoryContextProvider pendingUserDirectoryContextProvider

defaultDirectoryServices

private static String[] defaultDirectoryServices

PRINCIPAL_QUERY_PAGE_SIZE

private static final int PRINCIPAL_QUERY_PAGE_SIZE

eventListenersRegistered

private boolean eventListenersRegistered
Constructor Detail

StandardOrganizationServicesManager

public StandardOrganizationServicesManager()
Method Detail

getConceptualClassname

public String getConceptualClassname()
Deprecated.  

Returns the conceptual (modeled) name for the class.

Supported API: false

Specified by:
getConceptualClassname in interface NetFactor
Overrides:
getConceptualClassname in class StandardManager
Returns:
String

getPrincipalCache

public static WTPrincipalCache getPrincipalCache()
Returns principal cache. Creates one if it is the first time it is called.

Supported API: false

Returns:
WTPrincipalCache

updatePrincipalCache

private void updatePrincipalCache(String event_type,
                                  WTPrincipal principal)
Update principal cache in case of modification or deletion of principals.

Parameters:
event_type -
principal -

retrieveUser

protected WTUser retrieveUser(String name)
                       throws WTException
Deprecated.  

Retrieves users from db with matching name. Returns null if user doesn't exist.

Supported API: false

Parameters:
name -
Returns:
WTUser
Throws:
WTException

retrieveGroup

protected WTGroup retrieveGroup(String name)
                         throws WTException
Deprecated.  

Retrieves group from db given the name. Returns null if group doesn't exist.

Supported API: false

Parameters:
name -
Returns:
WTGroup
Throws:
WTException

performStartupProcess

protected void performStartupProcess()
                              throws ManagerException
Execute initialization process. This includes subscribing to events of interest.

Supported API: false

Overrides:
performStartupProcess in class StandardManager
Throws:
ManagerException

dispatchVetoableEvent

protected void dispatchVetoableEvent(String eventType,
                                     WTPrincipal object)
                              throws WTException,
                                     WTPropertyVetoException


Supported API: false

Parameters:
eventType -
object -
Throws:
WTException
WTPropertyVetoException

newStandardOrganizationServicesManager

public static StandardOrganizationServicesManager newStandardOrganizationServicesManager()
                                                                                  throws WTException
Default factory for the class.

Supported API: false

Returns:
StandardOrganizationServicesManager
Throws:
WTException

getPrincipal

public WTPrincipal getPrincipal(String name)
                         throws WTException
Deprecated.  

Searches all services for the user or group with the name passed as argument. Returns null if there is no user or group with such a name. This method will throw an OrganizationServicesException if multiple results are found.

Supported API: false

Specified by:
getPrincipal in interface OrganizationServicesManager
Parameters:
name -
Returns:
WTPrincipal
Throws:
WTException

getPrincipal

public WTPrincipal getPrincipal(ObjectIdentifier reference)
                         throws WTException
Gets the user or group for the specified principal reference.

Supported API: true

Specified by:
getPrincipal in interface OrganizationServicesManager
Parameters:
reference -
Returns:
WTPrincipal
Throws:
WTException

getPrincipal

public WTPrincipal getPrincipal(String name,
                                String service)
                         throws WTException
Deprecated.  

This method will search for the principal with the given name in the given service.

Supported API: false

Specified by:
getPrincipal in interface OrganizationServicesManager
Parameters:
name -
service -
Returns:
WTPrincipal
Throws:
WTException

getPrincipal

public Enumeration getPrincipal(String name,
                                String[] services,
                                boolean includeLocalService)
                         throws WTException
Deprecated.  

This method will search for principals with the given name in the given federated services. If includeLocalService is true, then the local database will also be searched.

Supported API: false

Specified by:
getPrincipal in interface OrganizationServicesManager
Parameters:
name -
services -
includeLocalService -
Returns:
Enumeration
Throws:
WTException

getPrincipal

public Enumeration getPrincipal(String name,
                                String[] services)
                         throws WTException
Deprecated.  

This method will search for principals with the given name in the given federated services.

Supported API: false

Specified by:
getPrincipal in interface OrganizationServicesManager
Parameters:
name -
services -
Returns:
Enumeration
Throws:
WTException

getPrincipal

public Enumeration getPrincipal(String name,
                                DirectoryContextProvider context)
                         throws WTException
This method will search for principals with the given name in the given organization.

Supported API: true

Specified by:
getPrincipal in interface OrganizationServicesManager
Parameters:
name -
context -
Returns:
Enumeration
Throws:
WTException

getPrincipal

public WTPrincipal getPrincipal(String name,
                                Class type,
                                DirectoryContextProvider context)
                         throws WTException
This method will search for a principal with the given name in the given organization. If more than one principal is found, an exception is thrown.

Supported API: true

Specified by:
getPrincipal in interface OrganizationServicesManager
Parameters:
name -
type -
context -
Returns:
WTPrincipal
Throws:
WTException

getPrincipalByDN

public WTPrincipal getPrincipalByDN(String dn)
                             throws WTException
Returns the principal identified by a specific directory distinguished name, or null if no such principal exists.

Supported API: true

Specified by:
getPrincipalByDN in interface OrganizationServicesManager
Parameters:
dn -
Returns:
WTPrincipal
Throws:
WTException

getPrincipalReference

public WTPrincipalReference getPrincipalReference(String name)
                                           throws WTException
Deprecated.  

Returns a reference to a principal, given the name.

Supported API: false

Specified by:
getPrincipalReference in interface OrganizationServicesManager
Parameters:
name -
Returns:
WTPrincipalReference
Throws:
WTException

getPrincipalReference

public WTPrincipalReference getPrincipalReference(String name,
                                                  String service)
                                           throws WTException
Deprecated.  

This method will search for the principal with the given name in the given service, and a reference to it will be returned.

Supported API: false

Specified by:
getPrincipalReference in interface OrganizationServicesManager
Parameters:
name -
service -
Returns:
WTPrincipalReference
Throws:
WTException

getPrincipalReference

public Enumeration getPrincipalReference(String name,
                                         String[] services,
                                         boolean includeLocalService)
                                  throws WTException
Deprecated.  

This method will search for principals with the given name in the given federated services, and references to them will be returned. If includeLocalService is true, then the local database will also be searched.

Supported API: false

Specified by:
getPrincipalReference in interface OrganizationServicesManager
Parameters:
name -
services -
includeLocalService -
Returns:
Enumeration
Throws:
WTException

getPrincipalReference

public Enumeration getPrincipalReference(String name,
                                         String[] services)
                                  throws WTException
Deprecated.  

This method will search for principals with the given name in the given services, and references to them will be returned.

Supported API: false

Specified by:
getPrincipalReference in interface OrganizationServicesManager
Parameters:
name -
services -
Returns:
Enumeration
Throws:
WTException

getPrincipalReference

public Enumeration getPrincipalReference(String name,
                                         DirectoryContextProvider context)
                                  throws WTException
This method will search for principals with the given name in the given organization, and references to them will be returned.

Supported API: true

Specified by:
getPrincipalReference in interface OrganizationServicesManager
Parameters:
name -
context -
Returns:
Enumeration
Throws:
WTException

getPrincipalReference

public WTPrincipalReference getPrincipalReference(String name,
                                                  Class type,
                                                  DirectoryContextProvider context)
                                           throws WTException
This method will search for a principal with the given name in the given organization, and return its reference. If more than one principal is found, an exception is thrown.

Supported API: true

Specified by:
getPrincipalReference in interface OrganizationServicesManager
Parameters:
name -
type -
context -
Returns:
WTPrincipalReference
Throws:
WTException

inflate

public WTPrincipal inflate(WTPrincipal principal)
                    throws WTException


Supported API: false

Specified by:
inflate in interface OrganizationServicesManager
Parameters:
principal -
Returns:
WTPrincipal
Throws:
WTException

inflate

public WTPrincipal inflate(WTPrincipalReference ref)
                    throws WTException


Supported API: false

Specified by:
inflate in interface OrganizationServicesManager
Parameters:
ref -
Returns:
WTPrincipal
Throws:
WTException

queryPrincipals

public Enumeration queryPrincipals(Class principalClass,
                                   String criteria,
                                   DirectoryContextProvider context)
                            throws WTException


Supported API: true

Specified by:
queryPrincipals in interface OrganizationServicesManager
Parameters:
principalClass -
criteria -
context -
Returns:
Enumeration
Throws:
WTException

queryPrincipals

public Enumeration queryPrincipals(Class principalClass,
                                   String criteria,
                                   DirectoryContextProvider[] contexts)
                            throws WTException


Supported API: true

Specified by:
queryPrincipals in interface OrganizationServicesManager
Parameters:
principalClass -
criteria -
contexts -
Returns:
Enumeration
Throws:
WTException

createPrincipal

public WTPrincipal createPrincipal(WTPrincipal principal)
                            throws WTException


Supported API: true

Specified by:
createPrincipal in interface OrganizationServicesManager
Parameters:
principal -
Returns:
WTPrincipal
Throws:
WTException

disablePrincipal

public WTPrincipal disablePrincipal(WTPrincipal principal)
                             throws WTException


Supported API: false

Specified by:
disablePrincipal in interface OrganizationServicesManager
Parameters:
principal -
Returns:
WTPrincipal
Throws:
WTException

enablePrincipal

public WTPrincipal enablePrincipal(WTPrincipal principal)
                            throws WTException


Supported API: false

Specified by:
enablePrincipal in interface OrganizationServicesManager
Parameters:
principal -
Returns:
WTPrincipal
Throws:
WTException

updatePrincipal

public WTPrincipal updatePrincipal(WTPrincipal principal)
                            throws WTException


Supported API: true

Specified by:
updatePrincipal in interface OrganizationServicesManager
Parameters:
principal -
Returns:
WTPrincipal
Throws:
WTException

savePrincipal

public WTPrincipal savePrincipal(WTPrincipal principal)
                          throws WTException
Deprecated.  

Saves the user or group passed as argument.

Supported API: false

Specified by:
savePrincipal in interface OrganizationServicesManager
Parameters:
principal -
Returns:
WTPrincipal
Throws:
WTException

mapPrincipals

public Enumeration mapPrincipals(Enumeration principals,
                                 String service)
                          throws WTException
Map an enumeration of Info*Engine Elements representing a set of principals to an enumeration of WTPrincipal objects. Normally, the enumeration of Info*Engine Elements is obtained by querying an LDAP directory using the Info*Engine JNDI adapter.

Supported API: false

Specified by:
mapPrincipals in interface OrganizationServicesManager
Parameters:
principals -
service -
Returns:
Enumeration
Throws:
WTException

filterPrincipals

public Enumeration filterPrincipals(Enumeration principals,
                                    AccessPermission permission)
                             throws WTException
Traverse an enumeration of principals applying access control rules. Return the principals to which a specified permission applies, and discard the ones to which it does not apply. For example, this method can be used to filter out principals that the caller is not allowed to read.

Supported API: false

Specified by:
filterPrincipals in interface OrganizationServicesManager
Parameters:
principals -
permission -
Returns:
Enumeration
Throws:
WTException

rename

public WTPrincipal rename(WTPrincipal principal,
                          String newName)
                   throws WTException


Supported API: true

Specified by:
rename in interface OrganizationServicesManager
Parameters:
principal -
newName -
Returns:
WTPrincipal
Throws:
WTException

move

public WTPrincipal move(WTPrincipal principal,
                        DirectoryContextProvider newContext)
                 throws WTException


Supported API: true

Specified by:
move in interface OrganizationServicesManager
Parameters:
principal -
newContext -
Returns:
WTPrincipal
Throws:
WTException

getAuthenticatedUser

public WTUser getAuthenticatedUser(String auth_name)
                            throws WTException


Supported API: true

Specified by:
getAuthenticatedUser in interface OrganizationServicesManager
Parameters:
auth_name -
Returns:
WTUser
Throws:
WTException

getUser

public WTUser getUser(String name)
               throws WTException
Deprecated.  

Gets the user with the name passed as argument. Returns null if there is no such user.

Supported API: false

Specified by:
getUser in interface OrganizationServicesManager
Parameters:
name -
Returns:
WTUser
Throws:
WTException

getUser

public WTUser getUser(String name,
                      String service)
               throws WTException
Deprecated.  

This method will search for the user whose name attribute matches the given name in the given service.

Supported API: false

Specified by:
getUser in interface OrganizationServicesManager
Parameters:
name -
service -
Returns:
WTUser
Throws:
WTException

getUser

public Enumeration getUser(String name,
                           String[] services,
                           boolean includeLocalService)
                    throws WTException
Deprecated.  

This method will search for users whose name attribute matches the given name in the given federated services. If includeLocalService is true, then the local database will also be searched.

Supported API: false

Specified by:
getUser in interface OrganizationServicesManager
Parameters:
name -
services -
includeLocalService -
Returns:
Enumeration
Throws:
WTException

getUser

public Enumeration getUser(String name,
                           String[] services)
                    throws WTException
Deprecated.  

This method will search for users whose name attribute matches the given name in the given services.

Supported API: false

Specified by:
getUser in interface OrganizationServicesManager
Parameters:
name -
services -
Returns:
Enumeration
Throws:
WTException

getUser

public WTUser getUser(String name,
                      DirectoryContextProvider context)
               throws WTException


Supported API: true

Specified by:
getUser in interface OrganizationServicesManager
Parameters:
name -
context -
Returns:
WTUser
Throws:
WTException

getUsers

public Enumeration getUsers(String name,
                            String[] services)
                     throws WTException
Deprecated.  



Supported API: false

Specified by:
getUsers in interface OrganizationServicesManager
Parameters:
name -
services -
Returns:
Enumeration
Throws:
WTException

getUsers

public Enumeration getUsers(String name,
                            DirectoryContextProvider context)
                     throws WTException


Supported API: true

Specified by:
getUsers in interface OrganizationServicesManager
Parameters:
name -
context -
Returns:
Enumeration
Throws:
WTException

findUser

public Enumeration findUser(String attr_name,
                            String attr_value)
                     throws WTException
Deprecated.  

Finds all users in all services that have the given value for the specified attribute.

Supported API: false

Specified by:
findUser in interface OrganizationServicesManager
Parameters:
attr_name -
attr_value -
Returns:
Enumeration
Throws:
WTException

findUser

public Enumeration findUser(String attr_name,
                            String attr_value,
                            String service)
                     throws WTException
Deprecated.  

Finds all users in the given service that have the given value for the specified attribute.

Supported API: false

Specified by:
findUser in interface OrganizationServicesManager
Parameters:
attr_name -
attr_value -
service -
Returns:
Enumeration
Throws:
WTException

findLikeUser

public Enumeration findLikeUser(String attr_name,
                                String attr_value)
                         throws WTException
Deprecated.  

Finds all users in all services that the attribute matches the given value (string matching).

Supported API: false

Specified by:
findLikeUser in interface OrganizationServicesManager
Parameters:
attr_name -
attr_value -
Returns:
Enumeration
Throws:
WTException

findLikeUsers

public Enumeration findLikeUsers(String name,
                                 String fullName,
                                 String service,
                                 boolean includeDisabled)
                          throws WTException
Deprecated.  

This method will search the given services for users whose userID matches the name parameter or whose userName matches the fullName parameter.

Supported API: false

Specified by:
findLikeUsers in interface OrganizationServicesManager
Parameters:
name -
fullName -
service -
includeDisabled -
Returns:
Enumeration
Throws:
WTException

findLikeUsers

public Enumeration findLikeUsers(String name,
                                 String fullName,
                                 String[] services,
                                 boolean includeLocalService,
                                 boolean includeDisabled)
                          throws WTException
Deprecated.  

This method will search the federated services for users whose userID matches the name parameter or whose userName matches the fullName parameter. If includeLocalServices is true, then the local service will also be searched. If includeDisabled is true, then disabled users will also be included in the search results. The elements in the Enumeration should be of type String.

Supported API: false

Specified by:
findLikeUsers in interface OrganizationServicesManager
Parameters:
name -
fullName -
services -
includeLocalService -
includeDisabled -
Returns:
Enumeration
Throws:
WTException

findLikeUsers

public Enumeration findLikeUsers(String attributeName,
                                 String pattern,
                                 String[] services)
                          throws WTException
Deprecated.  

This method will search the given services for users with the given attribute matching the given pattern.

Supported API: false

Specified by:
findLikeUsers in interface OrganizationServicesManager
Parameters:
attributeName -
pattern -
services -
Returns:
Enumeration
Throws:
WTException

findLikeUsers

public Enumeration findLikeUsers(String attributeName,
                                 String pattern,
                                 DirectoryContextProvider context)
                          throws WTException
This method will search the given directory context for users with the given attribute matching the given pattern.

Supported API: true

Specified by:
findLikeUsers in interface OrganizationServicesManager
Parameters:
attributeName -
pattern -
context -
Returns:
Enumeration
Throws:
WTException

findLikeActiveAndDisabledUsers

public Enumeration findLikeActiveAndDisabledUsers(String attr_name,
                                                  String attr_value)
                                           throws WTException
Deprecated.  

Finds all users in all services that the attribute matches the given value (string matching), including users that have been disabled.

Supported API: false

Specified by:
findLikeActiveAndDisabledUsers in interface OrganizationServicesManager
Parameters:
attr_name -
attr_value -
Returns:
Enumeration
Throws:
WTException

allUsers

public Enumeration allUsers()
                     throws WTException
Deprecated.  

Returns all the users defined in all services.

Supported API: false

Specified by:
allUsers in interface OrganizationServicesManager
Returns:
Enumeration
Throws:
WTException

findAllUsers

public Enumeration findAllUsers(String service,
                                boolean includeDisabled)
                         throws WTException
Deprecated.  

This method will search the given service for all users. If includeDisabled is true, then disabled users will be included in the search results.

Supported API: false

Specified by:
findAllUsers in interface OrganizationServicesManager
Parameters:
service -
includeDisabled -
Returns:
Enumeration
Throws:
WTException

findAllUsers

public Enumeration findAllUsers(String[] services,
                                boolean includeLocalService,
                                boolean includeDisabled)
                         throws WTException
Deprecated.  

This method will search the given federated services for all users. If includeLocalServices is true, then the local service will also be searched. If includeDisabled is true, then disabled users will be included in the search results. The elements in the Enumeration should be of type String.

Supported API: false

Specified by:
findAllUsers in interface OrganizationServicesManager
Parameters:
services -
includeLocalService -
includeDisabled -
Returns:
Enumeration
Throws:
WTException

findAllActiveAndDisabledUsers

public Enumeration findAllActiveAndDisabledUsers()
                                          throws WTException
Deprecated.  

Returns all the users in all services, including users that have been disabled.

Supported API: false

Specified by:
findAllActiveAndDisabledUsers in interface OrganizationServicesManager
Returns:
Enumeration
Throws:
WTException

delete

public WTUser delete(WTUser user)
              throws WTException


Supported API: true

Specified by:
delete in interface OrganizationServicesManager
Parameters:
user -
Returns:
WTUser
Throws:
WTException

getGroup

public WTGroup getGroup(String name)
                 throws WTException
Deprecated.  

Gets the group with the name passed as argument. Returns null if there is no such group.

Supported API: false

Specified by:
getGroup in interface OrganizationServicesManager
Parameters:
name -
Returns:
WTGroup
Throws:
WTException

getGroup

public WTGroup getGroup(String name,
                        String service)
                 throws WTException
Deprecated.  

This method will search for the group whose name attribute matches the given name in the given service.

Supported API: false

Specified by:
getGroup in interface OrganizationServicesManager
Parameters:
name -
service -
Returns:
WTGroup
Throws:
WTException

getGroup

public Enumeration getGroup(String name,
                            String[] services,
                            boolean includeLocalService)
                     throws WTException
Deprecated.  

This method will search for groups whose name attribute matches the given name in the given federated services. If includeLocalService is true, then the local database will also be searched.

Supported API: false

Specified by:
getGroup in interface OrganizationServicesManager
Parameters:
name -
services -
includeLocalService -
Returns:
Enumeration
Throws:
WTException

getGroup

public Enumeration getGroup(String name,
                            String[] services)
                     throws WTException
Deprecated.  

This method will search for groups whose name attribute matches the given name in the given services.

Supported API: false

Specified by:
getGroup in interface OrganizationServicesManager
Parameters:
name -
services -
Returns:
Enumeration
Throws:
WTException

getGroup

public WTGroup getGroup(String name,
                        DirectoryContextProvider context)
                 throws WTException
This method will search for groups whose name attribute matches the given name in the given directory context.

Supported API: true

Specified by:
getGroup in interface OrganizationServicesManager
Parameters:
name -
context -
Returns:
WTGroup
Throws:
WTException

getGroups

public Enumeration getGroups(String name,
                             String[] services)
                      throws WTException
Deprecated.  



Supported API: false

Specified by:
getGroups in interface OrganizationServicesManager
Parameters:
name -
services -
Returns:
Enumeration
Throws:
WTException

getGroups

public Enumeration getGroups(String name,
                             DirectoryContextProvider context)
                      throws WTException


Supported API: true

Specified by:
getGroups in interface OrganizationServicesManager
Parameters:
name -
context -
Returns:
Enumeration
Throws:
WTException

findLikeGroup

public Enumeration findLikeGroup(String name)
                          throws WTException
Deprecated.  

Finds all groups in all services that the name matches the given value (string matching).

Supported API: false

Specified by:
findLikeGroup in interface OrganizationServicesManager
Parameters:
name -
Returns:
Enumeration
Throws:
WTException

findLikeGroups

public Enumeration findLikeGroups(String name,
                                  String service)
                           throws WTException
Deprecated.  

This method will search the given service for groups whose name matches the name parameter.

Supported API: false

Specified by:
findLikeGroups in interface OrganizationServicesManager
Parameters:
name -
service -
Returns:
Enumeration
Throws:
WTException

findLikeGroups

public Enumeration findLikeGroups(String name,
                                  String[] services,
                                  boolean includeLocalService,
                                  boolean includeDisabled)
                           throws WTException
Deprecated.  

This method will search the given federated services for groups whose name matches the name parameter. If includeLocalServices is true, then the local service will also be searched. If includeDisabled is true, then disabled groups will also be included in the search results. The elements in the Enumeration should be of type String.

Supported API: false

Specified by:
findLikeGroups in interface OrganizationServicesManager
Parameters:
name -
services -
includeLocalService -
includeDisabled -
Returns:
Enumeration
Throws:
WTException

findLikeGroups

public Enumeration findLikeGroups(String name,
                                  String[] services)
                           throws WTException
Deprecated.  

This method will search the given services for groups whose name matches the name parameter.

Supported API: false

Specified by:
findLikeGroups in interface OrganizationServicesManager
Parameters:
name -
services -
Returns:
Enumeration
Throws:
WTException

findLikeGroups

public Enumeration findLikeGroups(String pattern,
                                  DirectoryContextProvider context)
                           throws WTException
This method will search the given directory context for groups whose name matches the name parameter.

Supported API: true

Specified by:
findLikeGroups in interface OrganizationServicesManager
Parameters:
pattern -
context -
Returns:
Enumeration
Throws:
WTException

allGroups

public Enumeration allGroups()
                      throws WTException
Deprecated.  

Returns all the groups defined in all services.

Supported API: false

Specified by:
allGroups in interface OrganizationServicesManager
Returns:
Enumeration
Throws:
WTException

findAllGroups

public Enumeration findAllGroups(String service,
                                 boolean includeDisabled)
                          throws WTException
Deprecated.  

This method will search the given service for all groups. If includeDisabled is true, then disabled groups will also be included in the search results.

Supported API: false

Specified by:
findAllGroups in interface OrganizationServicesManager
Parameters:
service -
includeDisabled -
Returns:
Enumeration
Throws:
WTException

findAllGroups

public Enumeration findAllGroups(String[] services,
                                 boolean includeLocalService,
                                 boolean includeDisabled)
                          throws WTException
Deprecated.  

This method will search the given federated services for all groups. If includeLocalServices is true, then the local service will also be searched. If includeDisabled is true, then disabled groups will also be included in the search results.

Supported API: false

Specified by:
findAllGroups in interface OrganizationServicesManager
Parameters:
services -
includeLocalService -
includeDisabled -
Returns:
Enumeration
Throws:
WTException

findAllActiveAndDisabledGroups

public Enumeration findAllActiveAndDisabledGroups()
                                           throws WTException
Deprecated.  

Returns all the groups in the system, including groups that have been disabled.

Supported API: false

Specified by:
findAllActiveAndDisabledGroups in interface OrganizationServicesManager
Returns:
Enumeration
Throws:
WTException

delete

public WTGroup delete(WTGroup group)
               throws WTException
Deleted the group passed as argument.

Supported API: true

Specified by:
delete in interface OrganizationServicesManager
Parameters:
group -
Returns:
WTGroup
Throws:
WTException

addMember

public boolean addMember(WTGroup group,
                         WTPrincipal principal)
                  throws WTException,
                         UserNotFoundException
Adds a principal to a group. Returns 'true' if principal didn't belong to the group; 'false' otherwise.

Supported API: true

Specified by:
addMember in interface OrganizationServicesManager
Parameters:
group -
principal -
Returns:
boolean
Throws:
WTException
UserNotFoundException

addMembers

public WTPrincipal[] addMembers(WTGroup group,
                                WTPrincipal[] principals)
                         throws WTException
Adds principals to a group. Returns an array containing the principals that were not already members of the group..

Supported API: true

Specified by:
addMembers in interface OrganizationServicesManager
Parameters:
group -
principals -
Returns:
WTPrincipal[]
Throws:
WTException

removeMember

public boolean removeMember(WTGroup group,
                            WTPrincipal principal)
                     throws WTException,
                            UserNotFoundException
Removes a principal from a group. Returns true if principal belonged to the group, false otherwise.

Supported API: true

Specified by:
removeMember in interface OrganizationServicesManager
Parameters:
group -
principal -
Returns:
boolean
Throws:
WTException
UserNotFoundException

isMember

public boolean isMember(WTGroup group,
                        WTPrincipal principal)
                 throws WTException


Supported API: true

Specified by:
isMember in interface OrganizationServicesManager
Parameters:
group -
principal -
Returns:
boolean
Throws:
WTException

isMember

public boolean isMember(WTPrincipalReference group,
                        WTPrincipal principal)
                 throws WTException


Supported API: true

Specified by:
isMember in interface OrganizationServicesManager
Parameters:
group -
principal -
Returns:
boolean
Throws:
WTException

isMember

public boolean isMember(ObjectIdentifier group,
                        WTPrincipal principal)
                 throws WTException


Supported API: false

Specified by:
isMember in interface OrganizationServicesManager
Parameters:
group -
principal -
Returns:
boolean
Throws:
WTException

members

public Enumeration members(WTGroup group)
                    throws WTException


Supported API: true

Specified by:
members in interface OrganizationServicesManager
Parameters:
group -
Returns:
Enumeration
Throws:
WTException

members

public Enumeration members(WTGroup group,
                           boolean flatten)
                    throws WTException


Supported API: true

Specified by:
members in interface OrganizationServicesManager
Parameters:
group -
flatten -
Returns:
Enumeration
Throws:
WTException

parentGroups

public Enumeration parentGroups(WTPrincipal principal)
                         throws WTException


Supported API: true

Specified by:
parentGroups in interface OrganizationServicesManager
Parameters:
principal -
Returns:
Enumeration
Throws:
WTException

parentGroupMap

public Map parentGroupMap(WTPrincipal principal)
                   throws WTException
Returns a map identifying all of the groups of which a specified principal is a member. Each value in the map is a WTPrincipalReference that references a parent group. Each key is the ObjectIdentifier of the parent group.

Supported API: false

Specified by:
parentGroupMap in interface OrganizationServicesManager
Parameters:
principal -
Returns:
Map
Throws:
WTException

getOrganization

public WTOrganization getOrganization(WTPrincipal principal)
                               throws WTException
Returns the organization with which a principal is associated.

Supported API: true

Specified by:
getOrganization in interface OrganizationServicesManager
Parameters:
principal -
Returns:
WTOrganization
Throws:
WTException

getOrganization

public WTOrganization getOrganization(String name,
                                      DirectoryContextProvider context)
                               throws WTException


Supported API: true

Specified by:
getOrganization in interface OrganizationServicesManager
Parameters:
name -
context -
Returns:
WTOrganization
Throws:
WTException

getOrganizations

public Enumeration getOrganizations(String name,
                                    DirectoryContextProvider context)
                             throws WTException


Supported API: true

Specified by:
getOrganizations in interface OrganizationServicesManager
Parameters:
name -
context -
Returns:
Enumeration
Throws:
WTException

findLikeOrganizations

public Enumeration findLikeOrganizations(String attributeName,
                                         String pattern,
                                         DirectoryContextProvider context)
                                  throws WTException


Supported API: true

Specified by:
findLikeOrganizations in interface OrganizationServicesManager
Parameters:
attributeName -
pattern -
context -
Returns:
Enumeration
Throws:
WTException

findLikeOrganizations

public Enumeration findLikeOrganizations(String attributeName,
                                         String pattern,
                                         DirectoryContextProvider context,
                                         boolean querySubtree)
                                  throws WTException


Supported API: false

Specified by:
findLikeOrganizations in interface OrganizationServicesManager
Parameters:
attributeName -
pattern -
context -
querySubtree -
Returns:
Enumeration
Throws:
WTException

findLikeOrganizations

public Enumeration findLikeOrganizations(String attributeName,
                                         String pattern,
                                         DirectoryContextProvider context,
                                         boolean querySubtree,
                                         boolean applyAccessFilter)
                                  throws WTException


Supported API: false

Specified by:
findLikeOrganizations in interface OrganizationServicesManager
Parameters:
attributeName -
pattern -
context -
querySubtree -
applyAccessFilter -
Returns:
Enumeration
Throws:
WTException

getSuperior

public WTOrganization getSuperior(WTOrganization organization)
                           throws WTException


Supported API: false

Specified by:
getSuperior in interface OrganizationServicesManager
Parameters:
organization -
Returns:
WTOrganization
Throws:
WTException

getSubordinates

public Enumeration getSubordinates(WTOrganization organization)
                            throws WTException


Supported API: false

Specified by:
getSubordinates in interface OrganizationServicesManager
Parameters:
organization -
Returns:
Enumeration
Throws:
WTException

getDirectoryService

public DirectoryService getDirectoryService(String name)
                                     throws WTException


Supported API: false

Specified by:
getDirectoryService in interface OrganizationServicesManager
Parameters:
name -
Returns:
DirectoryService
Throws:
WTException

getDirectoryServiceNames

public String[] getDirectoryServiceNames()
                                  throws WTException


Supported API: true

Specified by:
getDirectoryServiceNames in interface OrganizationServicesManager
Returns:
String []
Throws:
WTException

getDirectoryServiceName

public String getDirectoryServiceName(String name)
                               throws WTException


Supported API: false

Specified by:
getDirectoryServiceName in interface OrganizationServicesManager
Parameters:
name -
Returns:
String
Throws:
WTException

getDirectoryServiceNameByDn

public String getDirectoryServiceNameByDn(String dn)
                                   throws WTException


Supported API: false

Specified by:
getDirectoryServiceNameByDn in interface OrganizationServicesManager
Parameters:
dn -
Returns:
String
Throws:
WTException

getDirectoryServiceDn

public String getDirectoryServiceDn(String name)
                             throws WTException


Supported API: false

Specified by:
getDirectoryServiceDn in interface OrganizationServicesManager
Parameters:
name -
Returns:
String
Throws:
WTException

getDirectoryServiceOfDn

public String getDirectoryServiceOfDn(String dn)
                               throws WTException
Determine which directory service holds the entry identified by a specific distinguished name.

Supported API: false

Specified by:
getDirectoryServiceOfDn in interface OrganizationServicesManager
Parameters:
dn -
Returns:
String
Throws:
WTException

getDefaultDirectoryService

public String getDefaultDirectoryService()
                                  throws WTException


Supported API: false

Specified by:
getDefaultDirectoryService in interface OrganizationServicesManager
Returns:
String
Throws:
WTException

getDnForName

public String getDnForName(String name,
                           Class principalClass,
                           String service)
                    throws WTException
Generate a distinguished name for a principal held by a specific service.

Supported API: false

Specified by:
getDnForName in interface OrganizationServicesManager
Parameters:
name -
principalClass -
service -
Returns:
String
Throws:
WTException

createAttributeHolder

public AttributeHolder createAttributeHolder()
                                      throws WTException
Creates an object that implements the AttributeHolder interface.

Supported API: false

Specified by:
createAttributeHolder in interface OrganizationServicesManager
Returns:
AttributeHolder
Throws:
WTException

createAttributeHolder

public AttributeHolder createAttributeHolder(String name,
                                             String javaNamingProviderTag)
                                      throws WTException
Deprecated.  

Creates an object that implements the AttributeHolder interface.

Supported API: false

Specified by:
createAttributeHolder in interface OrganizationServicesManager
Parameters:
name -
javaNamingProviderTag -
Returns:
AttributeHolder
Throws:
WTException

getUserLanguages

public Enumeration getUserLanguages()
                             throws WTException
Returns the available languages for users. Defaults to US English if no language property is defined.

Supported API: false

Specified by:
getUserLanguages in interface OrganizationServicesManager
Returns:
Enumeration
Throws:
WTException

setUserElectronicIdentificationEnabled

public ObjectReference setUserElectronicIdentificationEnabled(ObjectReference objReference,
                                                              boolean active)
                                                       throws WTPropertyVetoException,
                                                              WTException
Sets the electronic identification object Active or InActive. Returns an ObjectReference to the electronic identification in the parameter list.

Supported API: false

Specified by:
setUserElectronicIdentificationEnabled in interface OrganizationServicesManager
Parameters:
objReference - An ObjectReference to the electronic identification object.
active - boolean value to set the ObjectReference Active or InActive.
Returns:
ObjectReference
Throws:
WTPropertyVetoException
WTException

getUserElectronicIdentificationInfo

public Hashtable getUserElectronicIdentificationInfo(boolean getAll,
                                                     WTUser a_user)
                                              throws PropertyVetoException,
                                                     QueryException,
                                                     WTException
Null if no objects found. A hastable containing a reference to the ElectronicSignature and necessary display information.

Supported API: false

Specified by:
getUserElectronicIdentificationInfo in interface OrganizationServicesManager
Parameters:
getAll - (true) Gets all electronic identification object References for a user
a_user -
Returns:
Hashtable
Throws:
PropertyVetoException
QueryException
WTException

getUserElectronicIdentification

public Hashtable getUserElectronicIdentification(boolean getAll,
                                                 WTUser a_user)
                                          throws QueryException,
                                                 WTException


Supported API: false

Specified by:
getUserElectronicIdentification in interface OrganizationServicesManager
Parameters:
getAll - getAll (true) Gets all electronic identification objects for a user
a_user -
Returns:
Hashtable
Throws:
QueryException
WTException

createPendingUser

public ArrayList createPendingUser(String email)
                            throws WTException
This method returns a WTUser with the passed in email address. If a single WTUser object exists with this, then this user is returned. If multiple WTUser objects exist in the database with this email then all WTUser objects with the matching email are returned in the ArrayList. If there does not exist a persistent user with the passed in email then a pending user is created and returned. This user is eventually resolved to a real user when a user with this email address is found to be registered in one of Windchills directory services.

Supported API: false

Specified by:
createPendingUser in interface OrganizationServicesManager
Parameters:
email -
Returns:
ArrayList
Throws:
WTException

repairPrincipal

public WTPrincipal repairPrincipal(String oldName,
                                   String newDn,
                                   String oldEnteredDn)
                            throws WTException
This method tries and repairs the principal given the "oldName" (name that is currently in the database and possibly will continue to be -- ie. only the UFID has changed) and the new DN (Distinguished name in the DIrectory).

Supported API: true

Specified by:
repairPrincipal in interface OrganizationServicesManager
Parameters:
oldName -
newDn -
oldEnteredDn -
Returns:
WTPrincipal
Throws:
WTException

validateDn

public boolean validateDn(String dn,
                          String service)
                   throws WTException
Validate the given distinguished name with the service within the directory.

Supported API: false

Specified by:
validateDn in interface OrganizationServicesManager
Parameters:
dn -
service -
Returns:
boolean
Throws:
WTException

fixUfid

public WTPrincipal fixUfid(String newDn,
                           WTPrincipal principal,
                           String oldEnteredDn)
                    throws WTException


Supported API: false

Specified by:
fixUfid in interface OrganizationServicesManager
Parameters:
newDn -
principal -
oldEnteredDn -
Returns:
WTPrincipal
Throws:
WTException

listOfInvalidPrincipals

public Vector listOfInvalidPrincipals()
                               throws WTException
This method returns all WTPrincipals in which the Ufid is no longer valid.

Supported API: false

Specified by:
listOfInvalidPrincipals in interface OrganizationServicesManager
Returns:
Vector
Throws:
WTException

validDirectoryEntry

public boolean validDirectoryEntry(WTPrincipal principal)
                            throws WTException
This method invokes a task to find if the given Principal has a valid Directory entry. It returns true if the Principal is associated with a valid Directory entry, false if not.

Supported API: false

Specified by:
validDirectoryEntry in interface OrganizationServicesManager
Parameters:
principal -
Returns:
boolean
Throws:
WTException

getUfid

public String getUfid(WTPrincipal principal)
               throws WTException
Returns the Unique Federation Identifier of a principal.

Supported API: false

Specified by:
getUfid in interface OrganizationServicesManager
Parameters:
principal -
Returns:
String
Throws:
WTException

translateAttributeNames

public String[] translateAttributeNames(String service,
                                        String[] attributeKeys,
                                        String[] defaultAttributeNames)
                                 throws WTException


Supported API: false

Specified by:
translateAttributeNames in interface OrganizationServicesManager
Parameters:
service -
attributeKeys -
defaultAttributeNames -
Returns:
String[]
Throws:
WTException

createNode

public void createNode(DirectoryInfrastructureNode node)
                throws WTException


Supported API: false

Specified by:
createNode in interface OrganizationServicesManager
Parameters:
node -
Throws:
WTException

deleteNode

public void deleteNode(DirectoryInfrastructureNode node)
                throws WTException


Supported API: false

Specified by:
deleteNode in interface OrganizationServicesManager
Parameters:
node -
Throws:
WTException

getNode

public DirectoryInfrastructureNode getNode(String name,
                                           DirectoryContextProvider context)
                                    throws WTException


Supported API: false

Specified by:
getNode in interface OrganizationServicesManager
Parameters:
name -
context -
Returns:
DirectoryInfrastructureNode
Throws:
WTException

findLikeNodes

public Enumeration findLikeNodes(String pattern,
                                 DirectoryContextProvider context)
                          throws WTException


Supported API: false

Specified by:
findLikeNodes in interface OrganizationServicesManager
Parameters:
pattern -
context -
Returns:
Enumeration
Throws:
WTException

rename

public DirectoryInfrastructureNode rename(DirectoryInfrastructureNode node,
                                          String newName)
                                   throws WTException
Renames a directory infrastructure node and updates the UFID's of all principals that are subordinate to it.

Supported API: false

Specified by:
rename in interface OrganizationServicesManager
Parameters:
node -
newName -
Returns:
DirectoryInfrastructureNode
Throws:
WTException

move

public DirectoryInfrastructureNode move(DirectoryInfrastructureNode node,
                                        DirectoryContextProvider newContext)
                                 throws WTException
Moves a directory infrastructure node to a new location and updates the UFID's of all principals that are subordinate to it.

Supported API: false

Specified by:
move in interface OrganizationServicesManager
Parameters:
node -
newContext -
Returns:
DirectoryInfrastructureNode
Throws:
WTException

createSubtree

public void createSubtree(DirectorySubtree subtree)
                   throws WTException


Supported API: false

Specified by:
createSubtree in interface OrganizationServicesManager
Parameters:
subtree -
Throws:
WTException

deleteSubtree

public void deleteSubtree(DirectorySubtree subtree)
                   throws WTException


Supported API: false

Specified by:
deleteSubtree in interface OrganizationServicesManager
Parameters:
subtree -
Throws:
WTException

newDirectoryContextProvider

public DirectoryContextProvider newDirectoryContextProvider(DirectoryContextProvider baseContext,
                                                            String[] searchScopes)
                                                     throws WTException


Supported API: true

Specified by:
newDirectoryContextProvider in interface OrganizationServicesManager
Parameters:
baseContext -
searchScopes -
Returns:
DirectoryContextProvider
Throws:
WTException

newDirectoryContextProvider

public DirectoryContextProvider newDirectoryContextProvider(String[] services,
                                                            String[] searchScopes)
                                                     throws WTException


Supported API: true

Specified by:
newDirectoryContextProvider in interface OrganizationServicesManager
Parameters:
services -
searchScopes -
Returns:
DirectoryContextProvider
Throws:
WTException

newDirectoryContextProvider

public DirectoryContextProvider newDirectoryContextProvider(DirectoryInfrastructureNode node)
                                                     throws WTException


Supported API: false

Specified by:
newDirectoryContextProvider in interface OrganizationServicesManager
Parameters:
node -
Returns:
DirectoryContextProvider
Throws:
WTException

newDirectoryContextProvider

public DirectoryContextProvider newDirectoryContextProvider(DirectorySubtree subtree)
                                                     throws WTException


Supported API: false

Specified by:
newDirectoryContextProvider in interface OrganizationServicesManager
Parameters:
subtree -
Returns:
DirectoryContextProvider
Throws:
WTException

getOrganizationUniqueIdentifier

public String getOrganizationUniqueIdentifier(OrganizationOwned object)
                                       throws WTException
Returns organization unique identifier without applying access rules restrictions. This method is providing information about organization unique identifier for users, who have access to Organization Owned object, but may have no access to a particular organization, associated to the object.

Supported API: false

Specified by:
getOrganizationUniqueIdentifier in interface OrganizationServicesManager
Parameters:
object -
Returns:
String
Throws:
WTException

parentGroups

public Enumeration parentGroups(WTPrincipal principal,
                                boolean flatten)
                         throws WTException
Returns groups that the argument principal is a member of. If the flatten variable is false, parentGroups will return only the immediate parent groups, otherwise all nested parent groups will be returned.

Supported API: false

Specified by:
parentGroups in interface OrganizationServicesManager
Parameters:
principal -
flatten - If false, only immediate parent groups will be returned If true, all nested groups for which principal is a member will be returned, e.g. the parent groups of principal's parent groups, and the parent groups of those groups, etc.,
Returns:
Enumeration
Throws:
WTException

isReferenceAccessible

protected boolean isReferenceAccessible(WTPrincipalReference principalRef)
                                 throws WTException
Determines whether the caller has the right to access the referenced, returns true if caller has the right, false if not

Supported API: false

Parameters:
principalRef - Determines whether the caller has the right to access the referenced principal, returns true if it does, false if it does not.
Returns:
boolean
Throws:
WTException

_getAdministrator

private WTUser _getAdministrator()
                          throws WTException
Throws:
WTException

_getAdministrators

private WTGroup _getAdministrators()
                            throws WTException
Throws:
WTException

_isAdministrator

private boolean _isAdministrator()
                          throws WTException
Throws:
WTException

_checkAdministrator

private void _checkAdministrator()
                          throws WTException
Throws:
WTException

_readPrincipal

private WTPrincipal _readPrincipal(String dn,
                                   String service)
                            throws WTException
Throws:
WTException

_readPrincipal

private WTPrincipal _readPrincipal(String dn,
                                   String service,
                                   boolean bypassCache)
                            throws WTException
Throws:
WTException

_queryPrincipal

private WTPrincipal _queryPrincipal(Class principalClass,
                                    String attrName,
                                    String pattern,
                                    DirectoryContextProvider context)
                             throws WTException
Throws:
WTException

_queryPrincipals

private Enumeration _queryPrincipals(Class principalClass,
                                     String attrName,
                                     String pattern,
                                     DirectoryContextProvider context,
                                     boolean firstMatchWins,
                                     boolean applyAccessFilter)
                              throws WTException
Throws:
WTException

_queryPrincipals

private WTPrincipal[] _queryPrincipals(Class principalClass,
                                       String attrName,
                                       String pattern,
                                       DirectoryContextProvider context,
                                       boolean firstMatchWins)
                                throws WTException
Throws:
WTException

_queryPrincipals

private WTPrincipal[] _queryPrincipals(String service,
                                       Class principalClass,
                                       String attrName,
                                       String pattern,
                                       DirectoryContextProvider context)
                                throws WTException
Throws:
WTException

_queryPrincipals

private WTPrincipal[] _queryPrincipals(String service,
                                       Class principalClass,
                                       String criteria,
                                       DirectoryContextProvider context)
                                throws WTException
Throws:
WTException

_queryPrincipals

private WTPrincipal[] _queryPrincipals(String searchFilter,
                                       String searchScope,
                                       String searchBase,
                                       String service,
                                       String[] attributes,
                                       int sizeLimit)
                                throws WTException
Throws:
WTException

_updatePrincipal

private WTPrincipal _updatePrincipal(WTPrincipal principal)
                              throws WTException
Throws:
WTException

_createNewPrincipal

private WTPrincipal _createNewPrincipal(WTPrincipal principal)
                                 throws WTException
Throws:
WTException

_createNewDirectoryEntry

private String _createNewDirectoryEntry(WTPrincipal principal)
                                 throws WTException
Throws:
WTException

_getRdnFromDn

private String _getRdnFromDn(String dn)

_getParentDn

private String _getParentDn(String dn)

_members

private HashSet _members(WTGroup group,
                         boolean flatten)
                  throws WTException
Throws:
WTException

_members

private HashSet _members(WTGroup group,
                         boolean flatten,
                         HashSet expandedGroups)
                  throws WTException
Throws:
WTException

_findOrganizationUsers

private HashSet _findOrganizationUsers(WTOrganization organization)
                                throws WTException
Throws:
WTException

_immediateParentGroups

private Map _immediateParentGroups(WTPrincipal principal)
                            throws WTException
Returns the immediate parent groups of a specific principal.

Parameters:
principal -
Returns:
Map
Throws:
WTException

_parentGroups

private Map _parentGroups(WTPrincipal principal,
                          String dn,
                          String service,
                          HashSet expandedGroups,
                          HashMap dirKeyMap)
                   throws WTException
Throws:
WTException

_queryParents

private Group _queryParents(String dn,
                            String service)
                     throws WTException
Throws:
WTException

_mapPrincipal

private WTPrincipal _mapPrincipal(Method factoryMethod,
                                  Element element,
                                  String service)
                           throws WTException
Throws:
WTException

_mapPrincipals

private Enumeration _mapPrincipals(Class principalClass,
                                   Group group,
                                   String service)
                            throws WTException
Throws:
WTException

_getAttributeList

private String[] _getAttributeList(String service,
                                   Class principalClass)
                            throws WTException
Obtains the list of LDAP attributes supported for a specific service and class of principal. This includes attributes supported by subclasses in cases where the specific class of principal is known to be a superclass of other classes of principal(s).

Parameters:
service - the service name
principalClass - the class of principal
Returns:
The LDAP attributes
Throws:
WTException

_getAttributeMap

private HashMap _getAttributeMap(String service,
                                 Class principalClass)
                          throws WTException
Obtains or creates the service-specific attribute mappings for a particular service and class of principal.

Parameters:
service - the service name
principalClass - the class of principal
Returns:
The attribute mappings
Throws:
WTException

_getObjectClass

private String _getObjectClass(String service,
                               Class principalClass)
                        throws WTException
Obtains the LDAP object class for a Windchill principal class.

Parameters:
service - The service for which to return the LDAP object class
principalClass - The Windchill principal class to translate
Throws:
WTException

_checkCreatePrincipal

private void _checkCreatePrincipal(WTPrincipal principal)
                            throws OrganizationServicesException
Throws:
OrganizationServicesException

_handlePostStorePrincipal

private void _handlePostStorePrincipal(WTPrincipal principal)
                                throws WTException
Throws:
WTException

_checkDeletePrincipal

private void _checkDeletePrincipal(WTPrincipal principal)
                            throws WTException
Throws:
WTException

_checkDisablePrincipal

private void _checkDisablePrincipal(WTPrincipal principal)
                             throws WTException
Throws:
WTException

_disablePrincipal

private WTPrincipal _disablePrincipal(WTPrincipal principal)
                               throws WTException
Throws:
WTException

_getRepositoryForService

private Repository _getRepositoryForService(String service)
                                     throws WTException
Throws:
WTException

_getDomainsForPrincipals

private ObjectVector _getDomainsForPrincipals(ObjectVectorIfc principalVector)
                                       throws WTException
Throws:
WTException

_getDomainsForPersistedPrincipals

private ObjectVector _getDomainsForPersistedPrincipals(ObjectVectorIfc principalVector)
                                                throws WTException
Throws:
WTException

_queryDisabledUsers

private Enumeration _queryDisabledUsers(String attrName,
                                        String pattern)
                                 throws WTException
Throws:
WTException

_queryDisabledGroups

private Enumeration _queryDisabledGroups(String pattern)
                                  throws WTException
Throws:
WTException

_moveBranch

private Object _moveBranch(Object rootNode,
                           String newName,
                           String newDn)
                    throws WTException
Throws:
WTException

_deleteSubordinateObjects

private void _deleteSubordinateObjects(DirectoryContextProvider baseContext)
                                throws WTException
Throws:
WTException

_getSessionUser

private String _getSessionUser()
                        throws WTException
Throws:
WTException

_getAllServices

private String[] _getAllServices()
                          throws WTException
Throws:
WTException

_getServiceForDn

private String _getServiceForDn(String dn)
                         throws WTException
Throws:
WTException

_escapeCriteria

private String _escapeCriteria(String criteria)

_translateWildcards

private String _translateWildcards(String wildcard)

_translateSQLWildcards

private String _translateSQLWildcards(String attr_value)

_getPersistable

private WTPrincipal _getPersistable(WTPrincipal principal)
                             throws WTException
Throws:
WTException

_storeUfid

private void _storeUfid(WTPrincipal principal)
                 throws WTException
Throws:
WTException

_getPrincipalByUfid

private WTPrincipal _getPrincipalByUfid(WTPrincipal principal)
                                 throws WTException
Throws:
WTException

_inflateByUfid

private WTPrincipal _inflateByUfid(WTPrincipal principal)
                            throws WTException
Throws:
WTException

_getLocalId

private String _getLocalId(WTPrincipal principal)
                    throws WTException
Throws:
WTException

_normalizeDn

private String _normalizeDn(String dn)

_hasAccess

private boolean _hasAccess(WTPrincipal principal,
                           AccessPermission permission)
                    throws WTException
Throws:
WTException

_arrayToString

private String _arrayToString(String[] array)

populateElectronicIdentificationInfo

private ElectronicIdentificationInfo populateElectronicIdentificationInfo(ElectronicSignature template)
                                                                   throws PropertyVetoException,
                                                                          WTException
Populates the class that will be returned to the Admin client for working with a users electronic identification.

Throws:
PropertyVetoException
WTException

formatDate

private String formatDate(Timestamp time)
Formats a timestamp from the database to the EXPLORER STANDARD FORMAT. for display in the Admin client of when a electronic identification was added to Windchill.


queryUserElectronicIdentification

private QueryResult queryUserElectronicIdentification(boolean all,
                                                      WTUser a_user)
                                               throws QueryException,
                                                      WTException
Queries for a user electronic identification by either getting all the ElectronicSignatures or calls queryActiveUserElectronicIdentification for only active ElectronicSignatures.

Throws:
QueryException
WTException

enforceSingleActiveElectronicID

private QueryResult enforceSingleActiveElectronicID(QueryResult result,
                                                    WTUser axuser)
                                             throws QueryException,
                                                    WTPropertyVetoException,
                                                    WTException
Enforces the business rule that there can be only a single active electronic ID. If there is more than one, then all but the latest timestamp will be inactivated.

Throws:
QueryException
WTPropertyVetoException
WTException

queryActiveUserElectronicIdentification

private QueryResult queryActiveUserElectronicIdentification(WTUser auser)
                                                     throws QueryException,
                                                            WTException
Performs the query that retrieves all the Active ElectronicSignatures for a given user.

Throws:
QueryException
WTException

_getPendingUserDCP

private DirectoryContextProvider _getPendingUserDCP()
                                             throws WTException
Throws:
WTException

_createPendingUser

private WTUser _createPendingUser(String email)
                           throws WTException
Throws:
WTException

_notifyPrincipalDisabled

private void _notifyPrincipalDisabled(WTPrincipal principal)

_notifyPrincipalRepair

private void _notifyPrincipalRepair(WTPrincipal principal)

_pendingUserExists

private boolean _pendingUserExists(String email)
                            throws WTException
Throws:
WTException

_resolvePendingUser

private WTUser _resolvePendingUser(WTUser user)
                            throws WTException
Throws:
WTException

_hookTransaction

private void _hookTransaction(String event_type,
                              Persistable target)

_validEmailAddress

private boolean _validEmailAddress(String email)

_getDirectoryContextProvider

private DirectoryContextProvider _getDirectoryContextProvider(String service)
                                                       throws WTException
Throws:
WTException

_getDirectoryContextProvider

private DirectoryContextProvider _getDirectoryContextProvider(String[] services)
                                                       throws WTException
Throws:
WTException

_getWindchillPDMGroupContexts

private DirectoryContextProvider[] _getWindchillPDMGroupContexts(String[] services)
                                                          throws WTException
Throws:
WTException

_dumpStack

private void _dumpStack()

_cacheMembers

private void _cacheMembers(DirectoryKey key,
                           HashSet members)
                    throws WTException
Throws:
WTException

_removeCachedParents

private void _removeCachedParents(WTPrincipal principal)
                           throws WTException
Throws:
WTException

_removeCachedMembersFromParents

private void _removeCachedMembersFromParents(WTPrincipal principal)
                                      throws WTException
Throws:
WTException

_memberDns

private HashSet _memberDns(WTGroup group)
                    throws Exception
Throws:
Exception