diff --git a/source/java/org/alfresco/web/bean/groups/AddUsersDialog.java b/source/java/org/alfresco/web/bean/groups/AddUsersDialog.java index c1e1d1df84..c856f61814 100644 --- a/source/java/org/alfresco/web/bean/groups/AddUsersDialog.java +++ b/source/java/org/alfresco/web/bean/groups/AddUsersDialog.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2010 Alfresco Software Limited. + * Copyright (C) 2005-2011 Alfresco Software Limited. * * This file is part of Alfresco * @@ -37,8 +37,8 @@ import org.alfresco.repo.transaction.RetryingTransactionHelper; import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.security.AuthorityService; -import org.alfresco.service.cmr.security.PagingPersonResults; import org.alfresco.service.cmr.security.PersonService; +import org.alfresco.service.cmr.security.PersonService.PersonInfo; import org.alfresco.web.app.Application; import org.alfresco.web.bean.dialog.BaseDialogBean; import org.alfresco.web.bean.groups.GroupsDialog.UserAuthorityDetails; @@ -206,22 +206,21 @@ public class AddUsersDialog extends BaseDialogBean String term = contains.trim(); if (term.length() != 0) { - PagingPersonResults people = getPersonService().getPeople( + List persons = getPersonService().getPeople( Utils.generatePersonFilter(contains.trim()), true, Utils.generatePersonSort(), new PagingRequest(Utils.getPersonMaxResults(), null) - ); - List nodes = people.getPage(); + ).getPage(); - ArrayList itemList = new ArrayList(nodes.size()); - for (NodeRef personRef : nodes) + ArrayList itemList = new ArrayList(persons.size()); + for (PersonInfo person : persons) { - String username = (String)getNodeService().getProperty(personRef, ContentModel.PROP_USERNAME); + String username = person.getUserName(); if (AuthenticationUtil.getGuestUserName().equals(username) == false) { - String firstName = (String)getNodeService().getProperty(personRef, ContentModel.PROP_FIRSTNAME); - String lastName = (String)getNodeService().getProperty(personRef, ContentModel.PROP_LASTNAME); + String firstName = person.getFirstName(); + String lastName = person.getLastName(); // build a sensible label for display String name = (firstName != null ? firstName : "") + ' ' + (lastName != null ? lastName : ""); diff --git a/source/java/org/alfresco/web/bean/users/DeleteUserDialog.java b/source/java/org/alfresco/web/bean/users/DeleteUserDialog.java index b88e7aea9a..ffcaafd8da 100644 --- a/source/java/org/alfresco/web/bean/users/DeleteUserDialog.java +++ b/source/java/org/alfresco/web/bean/users/DeleteUserDialog.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2010 Alfresco Software Limited. + * Copyright (C) 2005-2011 Alfresco Software Limited. * * This file is part of Alfresco * @@ -33,8 +33,8 @@ import org.alfresco.query.PagingRequest; import org.alfresco.service.cmr.repository.InvalidNodeRefException; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.security.AuthenticationService; -import org.alfresco.service.cmr.security.PagingPersonResults; import org.alfresco.service.cmr.security.PersonService; +import org.alfresco.service.cmr.security.PersonService.PersonInfo; import org.alfresco.service.namespace.QName; import org.alfresco.util.ISO9075; import org.alfresco.util.Pair; @@ -129,27 +129,29 @@ public class DeleteUserDialog extends BaseDialogBean filter.add(new Pair(ContentModel.PROP_LASTNAME, search)); if (logger.isDebugEnabled()) + { logger.debug("Query filter: " + filter); - - // Perform the search - PagingPersonResults people = getPersonService().getPeople( + } + + List persons = getPersonService().getPeople( filter, true, Utils.generatePersonSort(), new PagingRequest(Utils.getPersonMaxResults(), null) - ); - List nodes = people.getPage(); + ).getPage(); if (logger.isDebugEnabled()) - logger.debug("Found " + nodes.size() + " users"); - - this.users = new ArrayList(nodes.size()); - - for (NodeRef nodeRef : nodes) + { + logger.debug("Found " + persons.size() + " users"); + } + + this.users = new ArrayList(persons.size()); + + for (PersonInfo person : persons) { // create our Node representation - MapNode node = new MapNode(nodeRef); - + MapNode node = new MapNode(person.getNodeRef()); + // set data binding properties // this will also force initialisation of the props now during the UserTransaction // it is much better for performance to do this now rather than during page bind @@ -160,7 +162,7 @@ public class DeleteUserDialog extends BaseDialogBean { props.put("homeSpace", homeFolderNodeRef); } - + this.users.add(node); } diff --git a/source/java/org/alfresco/web/bean/users/UsersDialog.java b/source/java/org/alfresco/web/bean/users/UsersDialog.java index ad87b52fdc..c6efa0f31d 100644 --- a/source/java/org/alfresco/web/bean/users/UsersDialog.java +++ b/source/java/org/alfresco/web/bean/users/UsersDialog.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2010 Alfresco Software Limited. + * Copyright (C) 2005-2011 Alfresco Software Limited. * * This file is part of Alfresco * @@ -33,7 +33,7 @@ import org.alfresco.model.ContentModel; import org.alfresco.query.PagingRequest; import org.alfresco.service.cmr.repository.InvalidNodeRefException; import org.alfresco.service.cmr.repository.NodeRef; -import org.alfresco.service.cmr.security.PagingPersonResults; +import org.alfresco.service.cmr.security.PersonService.PersonInfo; import org.alfresco.service.namespace.QName; import org.alfresco.web.app.Application; import org.alfresco.web.app.context.IContextListener; @@ -296,25 +296,28 @@ public class UsersDialog extends BaseDialogBean implements IContextListener, Cha // define the query to find people by their first or last name String search = properties.getSearchCriteria(); if (logger.isDebugEnabled()) - logger.debug("Query term: " + search); - - PagingPersonResults people = properties.getPersonService().getPeople( + { + logger.debug("Query filter: " + search); + } + + List persons = properties.getPersonService().getPeople( Utils.generatePersonFilter(search), true, Utils.generatePersonSort(), new PagingRequest(Utils.getPersonMaxResults(), null) - ); - List nodes = people.getPage(); + ).getPage(); if (logger.isDebugEnabled()) - logger.debug("Found " + nodes.size() + " users"); + { + logger.debug("Found " + persons.size() + " users"); + } - this.users = new ArrayList(nodes.size()); + this.users = new ArrayList(persons.size()); - for (NodeRef nodeRef : nodes) + for (PersonInfo person : persons) { // create our Node representation - MapNode node = new MapNode(nodeRef); + MapNode node = new MapNode(person.getNodeRef()); // set data binding properties // this will also force initialisation of the props now during the UserTransaction @@ -334,7 +337,7 @@ public class UsersDialog extends BaseDialogBean implements IContextListener, Cha this.users.add(node); } - + // commit the transaction tx.commit(); } diff --git a/source/java/org/alfresco/web/bean/wcm/SetPermissionsDialog.java b/source/java/org/alfresco/web/bean/wcm/SetPermissionsDialog.java index ae7f43997b..6476bae933 100644 --- a/source/java/org/alfresco/web/bean/wcm/SetPermissionsDialog.java +++ b/source/java/org/alfresco/web/bean/wcm/SetPermissionsDialog.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2010 Alfresco Software Limited. + * Copyright (C) 2005-2011 Alfresco Software Limited. * * This file is part of Alfresco * @@ -44,9 +44,9 @@ import org.alfresco.service.cmr.avm.AVMNodeDescriptor; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.security.AuthorityService; import org.alfresco.service.cmr.security.AuthorityType; -import org.alfresco.service.cmr.security.PagingPersonResults; import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.cmr.security.PersonService; +import org.alfresco.service.cmr.security.PersonService.PersonInfo; import org.alfresco.web.app.Application; import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.ui.common.SortableSelectItem; @@ -254,21 +254,19 @@ public class SetPermissionsDialog extends UpdatePermissionsDialog if (filterIndex == 0) { - // Use lucene search to retrieve user details - PagingPersonResults people = getPersonService().getPeople( + List persons = getPersonService().getPeople( Utils.generatePersonFilter(contains.trim()), true, Utils.generatePersonSort(), new PagingRequest(Utils.getPersonMaxResults(), null) - ); - List nodes = people.getPage(); + ).getPage(); - for (int index = 0; index < nodes.size(); index++) + for (int index = 0; index < persons.size(); index++) { - NodeRef personRef = nodes.get(index); - String firstName = (String) getNodeService().getProperty(personRef, ContentModel.PROP_FIRSTNAME); - String lastName = (String) getNodeService().getProperty(personRef, ContentModel.PROP_LASTNAME); - String username = (String) getNodeService().getProperty(personRef, ContentModel.PROP_USERNAME); + PersonInfo person = persons.get(index); + String firstName = person.getFirstName(); + String lastName = person.getLastName(); + String username = person.getUserName(); if (username != null) { SelectItem item = new SortableSelectItem(username, firstName + " " + lastName + " [" + username + "]", lastName); diff --git a/source/java/org/alfresco/web/bean/wizard/BaseInviteUsersWizard.java b/source/java/org/alfresco/web/bean/wizard/BaseInviteUsersWizard.java index 3a1fe1be37..45e237f16d 100644 --- a/source/java/org/alfresco/web/bean/wizard/BaseInviteUsersWizard.java +++ b/source/java/org/alfresco/web/bean/wizard/BaseInviteUsersWizard.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2010 Alfresco Software Limited. + * Copyright (C) 2005-2011 Alfresco Software Limited. * * This file is part of Alfresco * @@ -44,9 +44,9 @@ import org.alfresco.service.cmr.dictionary.DictionaryService; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.security.AuthorityService; import org.alfresco.service.cmr.security.AuthorityType; -import org.alfresco.service.cmr.security.PagingPersonResults; import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.cmr.security.PersonService; +import org.alfresco.service.cmr.security.PersonService.PersonInfo; import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.QName; import org.alfresco.util.Pair; @@ -460,22 +460,21 @@ public abstract class BaseInviteUsersWizard extends BaseWizardBean logger.debug("Using query filter to find users: " + filter); } - PagingPersonResults people = getPersonService().getPeople( + List persons = getPersonService().getPeople( filter, true, Utils.generatePersonSort(), new PagingRequest(maxResults, null) - ); - List nodes = people.getPage(); + ).getPage(); - results = new ArrayList(nodes.size()); - for (int index=0; index(persons.size()); + for (int index=0; index persons = getPersonService().getPeople( Utils.generatePersonFilter(contains.trim()), true, Utils.generatePersonSort(), new PagingRequest(maxResults, null) - ); - List nodes = people.getPage(); + ).getPage(); - ArrayList itemList = new ArrayList(nodes.size()); - for (NodeRef personRef : nodes) + ArrayList itemList = new ArrayList(persons.size()); + for (PersonInfo person : persons) { - String username = (String)getNodeService().getProperty(personRef, ContentModel.PROP_USERNAME); + String username = person.getUserName(); if (AuthenticationUtil.getGuestUserName().equals(username) == false) { - String firstName = (String)this.getNodeService().getProperty(personRef, ContentModel.PROP_FIRSTNAME); - String lastName = (String)this.getNodeService().getProperty(personRef, ContentModel.PROP_LASTNAME); + String firstName = person.getFirstName(); + String lastName = person.getLastName(); String name = (firstName != null ? firstName : "") + ' ' + (lastName != null ? lastName : ""); SelectItem item = new SortableSelectItem(username, name + " [" + username + "]", lastName != null ? lastName : username); itemList.add(item); diff --git a/source/java/org/alfresco/web/ui/repo/component/property/BaseAssociationEditor.java b/source/java/org/alfresco/web/ui/repo/component/property/BaseAssociationEditor.java index 93aefdf0f6..9f43f9273e 100644 --- a/source/java/org/alfresco/web/ui/repo/component/property/BaseAssociationEditor.java +++ b/source/java/org/alfresco/web/ui/repo/component/property/BaseAssociationEditor.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2010 Alfresco Software Limited. + * Copyright (C) 2005-2011 Alfresco Software Limited. * * This file is part of Alfresco * @@ -51,8 +51,8 @@ import org.alfresco.service.cmr.search.SearchParameters; import org.alfresco.service.cmr.search.SearchService; import org.alfresco.service.cmr.security.AuthorityService; import org.alfresco.service.cmr.security.AuthorityType; -import org.alfresco.service.cmr.security.PagingPersonResults; import org.alfresco.service.cmr.security.PermissionService; +import org.alfresco.service.cmr.security.PersonService.PersonInfo; import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.QName; import org.alfresco.util.Pair; @@ -930,7 +930,6 @@ public abstract class BaseAssociationEditor extends UIInput * @param context Faces Context * @param contains The contains part of the query */ - @SuppressWarnings("unchecked") protected void getAvailableOptions(FacesContext context, String contains) { AssociationDefinition assocDef = getAssociationDefinition(context); @@ -1043,17 +1042,20 @@ public abstract class BaseAssociationEditor extends UIInput { maxResults = Utils.getPersonMaxResults(); } - - // Perform the search - PagingPersonResults people = Repository.getServiceRegistry(context).getPersonService().getPeople( + + List persons = Repository.getServiceRegistry(context).getPersonService().getPeople( filter, true, sort, new PagingRequest(maxResults, null) - ); + ).getPage(); // Save the results - List nodes = people.getPage(); + List nodes = new ArrayList(persons.size()); + for (PersonInfo person : persons) + { + nodes.add(person.getNodeRef()); + } this.availableOptions = nodes; } else