mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
ALF-8968 More de-lucene work on person finding code
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28389 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -38,14 +38,13 @@ import javax.faces.model.SelectItem;
|
||||
import javax.transaction.UserTransaction;
|
||||
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.query.PagingRequest;
|
||||
import org.alfresco.repo.avm.AVMNodeConverter;
|
||||
import org.alfresco.repo.search.impl.lucene.AbstractLuceneQueryParser;
|
||||
import org.alfresco.service.cmr.avm.AVMNodeDescriptor;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.search.ResultSet;
|
||||
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;
|
||||
import org.alfresco.web.app.Application;
|
||||
@@ -256,19 +255,13 @@ public class SetPermissionsDialog extends UpdatePermissionsDialog
|
||||
if (filterIndex == 0)
|
||||
{
|
||||
// Use lucene search to retrieve user details
|
||||
String term = AbstractLuceneQueryParser.escape(contains.trim());
|
||||
StringBuilder query = new StringBuilder(128);
|
||||
Utils.generatePersonSearch(query, term);
|
||||
ResultSet resultSet = Repository.getServiceRegistry(context).getSearchService().query(Repository.getStoreRef(), SearchService.LANGUAGE_LUCENE, query.toString());
|
||||
List<NodeRef> nodes;
|
||||
try
|
||||
{
|
||||
nodes = resultSet.getNodeRefs();
|
||||
}
|
||||
finally
|
||||
{
|
||||
resultSet.close();
|
||||
}
|
||||
PagingPersonResults people = getPersonService().getPeople(
|
||||
Utils.generatePersonFilter(contains.trim()),
|
||||
true,
|
||||
Utils.generatePersonSort(),
|
||||
new PagingRequest(Utils.getPersonMaxResults(), null)
|
||||
);
|
||||
List<NodeRef> nodes = people.getPage();
|
||||
|
||||
for (int index = 0; index < nodes.size(); index++)
|
||||
{
|
||||
|
@@ -38,19 +38,18 @@ import javax.faces.model.SelectItem;
|
||||
import javax.transaction.UserTransaction;
|
||||
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.repo.search.impl.lucene.AbstractLuceneQueryParser;
|
||||
import org.alfresco.query.PagingRequest;
|
||||
import org.alfresco.repo.security.permissions.AccessDeniedException;
|
||||
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.search.LimitBy;
|
||||
import org.alfresco.service.cmr.search.ResultSet;
|
||||
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;
|
||||
import org.alfresco.service.namespace.NamespaceService;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
import org.alfresco.util.Pair;
|
||||
import org.alfresco.web.app.Application;
|
||||
import org.alfresco.web.bean.TemplateMailHelperBean;
|
||||
import org.alfresco.web.bean.repository.Node;
|
||||
@@ -435,52 +434,39 @@ public abstract class BaseInviteUsersWizard extends BaseWizardBean
|
||||
tx.begin();
|
||||
|
||||
int maxResults = Application.getClientConfig(context).getInviteUsersMaxResults();
|
||||
if(maxResults <=0)
|
||||
{
|
||||
maxResults = Utils.getPersonMaxResults();
|
||||
}
|
||||
|
||||
List<SelectItem> results;
|
||||
|
||||
if (filterIndex == 0)
|
||||
{
|
||||
// Use lucene search to retrieve user details
|
||||
String term = AbstractLuceneQueryParser.escape(search);
|
||||
StringBuilder query = new StringBuilder(128);
|
||||
if (contains == null || contains.length() == 0)
|
||||
List<Pair<QName,String>> filter = null;
|
||||
if (search == null || search.length() == 0)
|
||||
{
|
||||
// if there is no search term, search for all people
|
||||
query.append("+TYPE:\"");
|
||||
query.append(ContentModel.TYPE_PERSON.toString());
|
||||
query.append("\"");
|
||||
}
|
||||
else
|
||||
{
|
||||
Utils.generatePersonSearch(query, term);
|
||||
filter = Utils.generatePersonFilter(search);
|
||||
}
|
||||
|
||||
if (logger.isDebugEnabled())
|
||||
{
|
||||
logger.debug("Maximum invite users results size: " + maxResults);
|
||||
logger.debug("Using query to find users: " + query.toString());
|
||||
logger.debug("Using query filter to find users: " + filter);
|
||||
}
|
||||
|
||||
SearchParameters searchParams = new SearchParameters();
|
||||
searchParams.addStore(Repository.getStoreRef());
|
||||
searchParams.setLanguage(SearchService.LANGUAGE_LUCENE);
|
||||
searchParams.setQuery(query.toString());
|
||||
if (maxResults > 0)
|
||||
{
|
||||
searchParams.setLimit(maxResults);
|
||||
searchParams.setLimitBy(LimitBy.FINAL_SIZE);
|
||||
}
|
||||
|
||||
ResultSet resultSet = Repository.getServiceRegistry(context).getSearchService().query(searchParams);
|
||||
List<NodeRef> nodes;
|
||||
try
|
||||
{
|
||||
nodes = resultSet.getNodeRefs();
|
||||
}
|
||||
finally
|
||||
{
|
||||
resultSet.close();
|
||||
}
|
||||
PagingPersonResults people = getPersonService().getPeople(
|
||||
filter,
|
||||
true,
|
||||
Utils.generatePersonSort(),
|
||||
new PagingRequest(maxResults, null)
|
||||
);
|
||||
List<NodeRef> nodes = people.getPage();
|
||||
|
||||
results = new ArrayList<SelectItem>(nodes.size());
|
||||
for (int index=0; index<nodes.size(); index++)
|
||||
|
@@ -29,13 +29,11 @@ import javax.faces.model.SelectItem;
|
||||
import javax.transaction.UserTransaction;
|
||||
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.repo.search.impl.lucene.AbstractLuceneQueryParser;
|
||||
import org.alfresco.query.PagingRequest;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.search.LimitBy;
|
||||
import org.alfresco.service.cmr.search.ResultSet;
|
||||
import org.alfresco.service.cmr.search.SearchParameters;
|
||||
import org.alfresco.service.cmr.search.SearchService;
|
||||
import org.alfresco.service.cmr.security.PagingPersonResults;
|
||||
import org.alfresco.service.cmr.security.PersonService;
|
||||
import org.alfresco.service.cmr.workflow.WorkflowService;
|
||||
import org.alfresco.web.app.Application;
|
||||
@@ -141,24 +139,19 @@ public abstract class BaseReassignDialog extends BaseDialogBean
|
||||
tx.begin();
|
||||
|
||||
int maxResults = Application.getClientConfig(context).getInviteUsersMaxResults();
|
||||
|
||||
// Use lucene search to retrieve user details
|
||||
String term = AbstractLuceneQueryParser.escape(contains.trim());
|
||||
StringBuilder query = new StringBuilder(128);
|
||||
Utils.generatePersonSearch(query, term);
|
||||
|
||||
SearchParameters searchParams = new SearchParameters();
|
||||
searchParams.addStore(Repository.getStoreRef());
|
||||
searchParams.setLanguage(SearchService.LANGUAGE_LUCENE);
|
||||
searchParams.setQuery(query.toString());
|
||||
if (maxResults > 0)
|
||||
if(maxResults <= 0)
|
||||
{
|
||||
searchParams.setLimit(maxResults);
|
||||
searchParams.setLimitBy(LimitBy.FINAL_SIZE);
|
||||
maxResults = Utils.getPersonMaxResults();
|
||||
}
|
||||
|
||||
resultSet = Repository.getServiceRegistry(context).getSearchService().query(searchParams);
|
||||
List<NodeRef> nodes = resultSet.getNodeRefs();
|
||||
// Use lucene search to retrieve user details
|
||||
PagingPersonResults people = getPersonService().getPeople(
|
||||
Utils.generatePersonFilter(contains.trim()),
|
||||
true,
|
||||
Utils.generatePersonSort(),
|
||||
new PagingRequest(maxResults, null)
|
||||
);
|
||||
List<NodeRef> nodes = people.getPage();
|
||||
|
||||
ArrayList<SelectItem> itemList = new ArrayList<SelectItem>(nodes.size());
|
||||
for (NodeRef personRef : nodes)
|
||||
|
Reference in New Issue
Block a user