|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.alfresco.repo.transaction.TransactionListenerAdapter
org.alfresco.repo.security.person.PersonServiceImpl
public class PersonServiceImpl
Nested Class Summary | |
---|---|
static class |
PersonServiceImpl.NodeIdComparator
|
Nested classes/interfaces inherited from interface org.alfresco.service.cmr.security.PersonService |
---|
PersonService.PersonInfo |
Nested classes/interfaces inherited from interface org.alfresco.repo.policy.Policy |
---|
Policy.Arg |
Field Summary | |
---|---|
static java.lang.String |
KEY_ALLOW_UID_UPDATE
|
static java.lang.String |
PEOPLE_FOLDER_SHORT_QNAME
|
static java.lang.String |
SYSTEM_FOLDER_SHORT_QNAME
|
Fields inherited from interface org.alfresco.repo.node.NodeServicePolicies.BeforeCreateNodePolicy |
---|
QNAME |
Fields inherited from interface org.alfresco.repo.node.NodeServicePolicies.OnCreateNodePolicy |
---|
QNAME |
Fields inherited from interface org.alfresco.repo.node.NodeServicePolicies.BeforeDeleteNodePolicy |
---|
QNAME |
Fields inherited from interface org.alfresco.repo.node.NodeServicePolicies.OnUpdatePropertiesPolicy |
---|
ARG_0, ARG_1, ARG_2, QNAME |
Fields inherited from interface org.alfresco.repo.policy.Policy |
---|
NAMESPACE |
Constructor Summary | |
---|---|
PersonServiceImpl()
|
Method Summary | |
---|---|
void |
afterCommit()
Process clean up any duplicates that were flagged during the transaction. |
void |
beforeCommit(boolean readOnly)
Called before a transaction is committed. |
void |
beforeCreateNode(org.alfresco.service.cmr.repository.NodeRef parentRef,
org.alfresco.service.namespace.QName assocTypeQName,
org.alfresco.service.namespace.QName assocQName,
org.alfresco.service.namespace.QName nodeTypeQName)
Called before a new node is created. |
void |
beforeCreateNodeValidation(org.alfresco.service.cmr.repository.NodeRef parentRef,
org.alfresco.service.namespace.QName assocTypeQName,
org.alfresco.service.namespace.QName assocQName,
org.alfresco.service.namespace.QName nodeTypeQName)
|
void |
beforeDeleteNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Called before a node is deleted. |
void |
beforeDeleteNodeValidation(org.alfresco.service.cmr.repository.NodeRef nodeRef)
|
boolean |
createMissingPeople()
Does this service create people on demand if they are missing. |
org.alfresco.service.cmr.repository.NodeRef |
createPerson(java.util.Map properties)
Create a new person with the given properties. |
org.alfresco.service.cmr.repository.NodeRef |
createPerson(java.util.Map properties,
java.util.Set zones)
Create a new person with the given properties, recording them against the given zone name (usually identifying an external user registry from which the details were obtained). |
void |
deletePerson(org.alfresco.service.cmr.repository.NodeRef personRef)
Delete the person identified by the given ref. |
void |
deletePerson(java.lang.String userName)
Delete the person identified by the given user name. |
boolean |
equals(java.lang.Object obj)
|
java.util.Set |
getAllPeople()
Deprecated. see getPeople |
java.util.Set |
getMutableProperties()
Get the list of properties that are mutable. |
org.alfresco.query.PagingResults |
getPeople(java.util.List stringPropFilters,
boolean filterIgnoreCase,
java.util.List sortProps,
org.alfresco.query.PagingRequest pagingRequest)
Get paged list of people optionally filtered and/or sorted |
org.alfresco.service.cmr.repository.NodeRef |
getPeopleContainer()
Return the container that stores people. |
java.util.Set |
getPeopleFilteredByProperty(org.alfresco.service.namespace.QName propertyKey,
java.io.Serializable propertyValue)
Deprecated. see getPeople |
org.alfresco.service.cmr.repository.NodeRef |
getPerson(java.lang.String userName)
Get a person by userName. |
org.alfresco.service.cmr.repository.NodeRef |
getPerson(java.lang.String userName,
boolean autoCreate)
Retrieve the person NodeRef for a username key. |
java.lang.String |
getUserIdentifier(java.lang.String caseSensitiveUserName)
Given the case sensitive user name find the approriate identifier from the person service. |
boolean |
getUserNamesAreCaseSensitive()
Are user names case sensitive? |
int |
hashCode()
|
void |
init()
Spring bean init method |
boolean |
isMutable()
Can this service create, delete and update person information? |
void |
notifyPerson(java.lang.String userName,
java.lang.String password)
Notifies a user by email that their account has been created, and the details of it. |
void |
onCreateNode(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
Called when a new node has been created. |
void |
onUpdateProperties(org.alfresco.service.cmr.repository.NodeRef nodeRef,
java.util.Map before,
java.util.Map after)
When a uid is changed we need to create an alias for the old uid so permissions are not broken. |
void |
onUpdatePropertiesUser(org.alfresco.service.cmr.repository.NodeRef nodeRef,
java.util.Map before,
java.util.Map after)
Track the enabled/disabled flag on cm:user . |
boolean |
personExists(java.lang.String caseSensitiveUserName)
Check if a person exists. |
void |
setAclDAO(AclDAO aclDao)
|
void |
setAuthenticationService(MutableAuthenticationService authenticationService)
|
void |
setAuthorityService(AuthorityService authorityService)
|
void |
setCannedQueryRegistry(org.alfresco.util.registry.NamedObjectRegistry cannedQueryRegistry)
Set the registry of canned queries |
void |
setCreateMissingPeople(boolean createMissingPeople)
Set if missing people should be created. |
void |
setDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
|
void |
setDuplicateMode(java.lang.String duplicateMode)
|
void |
setHomeFolderCreationEager(boolean homeFolderCreationEager)
Indicates if home folders should be created when the person is created or delayed until first accessed. |
void |
setHomeFolderManager(HomeFolderManager homeFolderManager)
|
void |
setIncludeAutoCreated(boolean includeAutoCreated)
|
void |
setLastIsBest(boolean lastIsBest)
|
void |
setNamespacePrefixResolver(org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver)
|
void |
setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
|
void |
setPermissionServiceSPI(PermissionServiceSPI permissionServiceSPI)
|
void |
setPermissionsManager(PermissionsManager permissionsManager)
|
void |
setPersonCache(org.alfresco.repo.cache.SimpleCache personCache)
Set the username to person cache. |
void |
setPersonProperties(java.lang.String userName,
java.util.Map properties)
Set the properties on a person - some of these may be persisted in different locations. |
void |
setPersonProperties(java.lang.String userName,
java.util.Map properties,
boolean autoCreate)
Set the properties on a person - some of these may be persisted in different locations. |
void |
setPolicyComponent(PolicyComponent policyComponent)
|
void |
setProcessDuplicates(boolean processDuplicates)
|
void |
setRepoAdminService(RepoAdminService repoAdminService)
|
void |
setSearchService(org.alfresco.service.cmr.search.SearchService searchService)
|
void |
setServiceRegistry(ServiceRegistry serviceRegistry)
|
void |
setStoreUrl(java.lang.String storeUrl)
|
void |
setTenantService(org.alfresco.repo.tenant.TenantService tenantService)
|
void |
setTransactionService(TransactionService transactionService)
|
void |
setUserNameMatcher(UserNameMatcher userNameMatcher)
|
static java.lang.String |
updateUsernameForTenancy(java.lang.String username,
org.alfresco.repo.tenant.TenantService tenantService)
Helper for when creating new users and people: Updates the supplied username with any required tenant details, and ensures that the tenant domains match. |
Methods inherited from class org.alfresco.repo.transaction.TransactionListenerAdapter |
---|
afterRollback, beforeCompletion, flush |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String SYSTEM_FOLDER_SHORT_QNAME
public static final java.lang.String PEOPLE_FOLDER_SHORT_QNAME
public static final java.lang.String KEY_ALLOW_UID_UPDATE
Constructor Detail |
---|
public PersonServiceImpl()
Method Detail |
---|
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public void init()
public void setCreateMissingPeople(boolean createMissingPeople)
setCreateMissingPeople
in interface PersonService
createMissingPeople
- set to true to create peoplePersonService.getPerson(String)
public void setNamespacePrefixResolver(org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver)
public void setAuthorityService(AuthorityService authorityService)
public void setAuthenticationService(MutableAuthenticationService authenticationService)
public void setDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
public void setPermissionServiceSPI(PermissionServiceSPI permissionServiceSPI)
public void setTransactionService(TransactionService transactionService)
public void setServiceRegistry(ServiceRegistry serviceRegistry)
public void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
public void setTenantService(org.alfresco.repo.tenant.TenantService tenantService)
public void setSearchService(org.alfresco.service.cmr.search.SearchService searchService)
public void setRepoAdminService(RepoAdminService repoAdminService)
public void setPolicyComponent(PolicyComponent policyComponent)
public void setStoreUrl(java.lang.String storeUrl)
public void setUserNameMatcher(UserNameMatcher userNameMatcher)
public void setDuplicateMode(java.lang.String duplicateMode)
public void setIncludeAutoCreated(boolean includeAutoCreated)
public void setLastIsBest(boolean lastIsBest)
public void setProcessDuplicates(boolean processDuplicates)
public void setHomeFolderManager(HomeFolderManager homeFolderManager)
public void setHomeFolderCreationEager(boolean homeFolderCreationEager)
public void setAclDAO(AclDAO aclDao)
public void setPermissionsManager(PermissionsManager permissionsManager)
public void setCannedQueryRegistry(org.alfresco.util.registry.NamedObjectRegistry cannedQueryRegistry)
canned queries
public void setPersonCache(org.alfresco.repo.cache.SimpleCache personCache)
public org.alfresco.service.cmr.repository.NodeRef getPerson(java.lang.String userName)
create missing people or not
.
getPerson
in interface PersonService
userName
- -
the userName key to find the person
PersonService.setCreateMissingPeople(boolean)
,
PersonService.createMissingPeople()
public org.alfresco.service.cmr.repository.NodeRef getPerson(java.lang.String userName, boolean autoCreate)
autoCreate
parameter and
configuration missing people will be created if not found, else a NoSuchPersonException exception will be thrown.
getPerson
in interface PersonService
userName
- of the person NodeRef to retrieveautoCreate
- should we auto-create the person node and home folder if they don't exist? (and configuration allows
us to)
public boolean personExists(java.lang.String caseSensitiveUserName)
personExists
in interface PersonService
caseSensitiveUserName
- the user name
public void afterCommit()
afterCommit
in interface TransactionListener
afterCommit
in class TransactionListenerAdapter
public boolean createMissingPeople()
createMissingPeople
in interface PersonService
public java.util.Set getMutableProperties()
getMutableProperties
in interface PersonService
public void setPersonProperties(java.lang.String userName, java.util.Map properties)
setPersonProperties
in interface PersonService
userName
- -
the user for which the properties should be set.properties
- -
the map of properties to set (as the NodeService)public void setPersonProperties(java.lang.String userName, java.util.Map properties, boolean autoCreate)
setPersonProperties
in interface PersonService
userName
- - the user for which the properties should be set.properties
- - the map of properties to set (as the NodeService)autoCreate
- should we auto-create the home folder if it doesn't exist? (and configuration allows us to)public boolean isMutable()
isMutable
in interface PersonService
public org.alfresco.service.cmr.repository.NodeRef createPerson(java.util.Map properties)
createPerson
in interface PersonService
public org.alfresco.service.cmr.repository.NodeRef createPerson(java.util.Map properties, java.util.Set zones)
createPerson
in interface PersonService
properties
- the propertieszones
- a set if zones including the identifier for the external user registry owning the person information, or null
or an empty set
public void notifyPerson(java.lang.String userName, java.lang.String password)
PersonService.createPerson(Map)
or PersonService.createPerson(Map, Set)
where email notifications are required.
notifyPerson
in interface PersonService
userName
- of the person to notifypassword
- of the person to notifypublic org.alfresco.service.cmr.repository.NodeRef getPeopleContainer()
getPeopleContainer
in interface PersonService
public void deletePerson(java.lang.String userName)
deletePerson
in interface PersonService
public void deletePerson(org.alfresco.service.cmr.repository.NodeRef personRef)
deletePerson
in interface PersonService
public java.util.Set getAllPeople()
getAllPeople
in interface PersonService
public org.alfresco.query.PagingResults getPeople(java.util.List stringPropFilters, boolean filterIgnoreCase, java.util.List sortProps, org.alfresco.query.PagingRequest pagingRequest)
getPeople
in interface PersonService
filterIgnoreCase
- true to ignore case when filtering, false to be case-sensitive when filteringsortProps
- sort property, eg. cm:username ascendingpagingRequest
- skip, max + optional query execution idpublic java.util.Set getPeopleFilteredByProperty(org.alfresco.service.namespace.QName propertyKey, java.io.Serializable propertyValue)
getPeopleFilteredByProperty
in interface PersonService
propertyKey
- property key of property to filter people bypropertyValue
- property value of property to filter people by
public void onCreateNode(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
onCreateNode
in interface NodeServicePolicies.OnCreateNodePolicy
childAssocRef
- the created child association referencepublic void beforeCreateNode(org.alfresco.service.cmr.repository.NodeRef parentRef, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName, org.alfresco.service.namespace.QName nodeTypeQName)
NodeServicePolicies.BeforeCreateNodePolicy
beforeCreateNode
in interface NodeServicePolicies.BeforeCreateNodePolicy
parentRef
- the parent node referenceassocTypeQName
- the association type qualified nameassocQName
- the association qualified namenodeTypeQName
- the node type qualified namepublic void beforeCreateNodeValidation(org.alfresco.service.cmr.repository.NodeRef parentRef, org.alfresco.service.namespace.QName assocTypeQName, org.alfresco.service.namespace.QName assocQName, org.alfresco.service.namespace.QName nodeTypeQName)
public void beforeDeleteNode(org.alfresco.service.cmr.repository.NodeRef nodeRef)
NodeServicePolicies.BeforeDeleteNodePolicy
beforeDeleteNode
in interface NodeServicePolicies.BeforeDeleteNodePolicy
nodeRef
- the node referencepublic void beforeDeleteNodeValidation(org.alfresco.service.cmr.repository.NodeRef nodeRef)
public java.lang.String getUserIdentifier(java.lang.String caseSensitiveUserName)
getUserIdentifier
in interface PersonService
public boolean getUserNamesAreCaseSensitive()
getUserNamesAreCaseSensitive
in interface PersonService
public void onUpdateProperties(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.util.Map before, java.util.Map after)
onUpdateProperties
in interface NodeServicePolicies.OnUpdatePropertiesPolicy
nodeRef
- reference to the updated nodebefore
- the node's properties before the changeafter
- the node's properties after the changepublic void onUpdatePropertiesUser(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.util.Map before, java.util.Map after)
enabled/disabled
flag on cm:user
.
public void beforeCommit(boolean readOnly)
All transaction resources are still available.
beforeCommit
in interface TransactionListener
beforeCommit
in class TransactionListenerAdapter
readOnly
- true if the transaction is read-onlypublic static java.lang.String updateUsernameForTenancy(java.lang.String username, org.alfresco.repo.tenant.TenantService tenantService) throws TenantDomainMismatchException
TenantDomainMismatchException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |