Merged BRANCHES/DEV/V4.1-BUG-FIX to HEAD

47670: ALF-18245 - BM-0013: Soak: Run 06: Search population of ScriptNode is expensive
          - Optimizations to improve the performance of the repository when retrieving the populating data needed for Share Search results
          - Additional service method to PersonService to allow retrieval of a person or null in a single operation - rather than exists() followed get()
          - Improvements to generate of full name strings for a Person - only retrieve minimum needed properties rather than allprops from cm:person
          - Improvements to generation of DisplayPath to avoid multiple permission checks

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@47674 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2013-03-06 16:52:09 +00:00
parent 6652e37815
commit 80887b8462
7 changed files with 122 additions and 25 deletions

View File

@@ -65,6 +65,20 @@ public interface PersonService
*/
@Auditable(parameters = {"userName"})
public NodeRef getPerson(String userName);
/**
* Get a person by userName. The person is store in the repository. No missing
* person objects will be created as a side effect of this call. If the person
* is missing from the repository null will be returned.
*
* @param userName -
* the userName key to find the person
* @return Returns the existing person node, or null if does not exist.
*
* @see #createMissingPeople()
*/
@Auditable(parameters = {"userName"})
public NodeRef getPersonOrNull(String userName);
/**
* Retrieve the person NodeRef for a {@code username}, optionally creating