mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
Merged 5.1-MNT1 (5.1.0) to HEAD (5.1)
115473 adavis: Merged 5.1.N (5.1.1) to 5.1-MNT1 (5.1.0) 114742 rmunteanu: Merged 5.0.N (5.0.3) to 5.1.N (5.1.1) 114701 amorarasu: Merged V4.2-BUG-FIX (4.2.6) to 5.0.N (5.0.3) 114590 amorarasu: Merged V4.2.5 (4.2.5) to V4.2-BUG-FIX (4.2.6) 114466 abozianu: MNT-14994 : CLONE - Alfresco Mobile: All Sites is throwing error when listing sites git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@115682 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -33,12 +33,14 @@ import java.util.TreeSet;
|
|||||||
|
|
||||||
import org.alfresco.error.AlfrescoRuntimeException;
|
import org.alfresco.error.AlfrescoRuntimeException;
|
||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
|
import org.alfresco.query.CannedQuerySortDetails.SortOrder;
|
||||||
import org.alfresco.query.PageDetails;
|
import org.alfresco.query.PageDetails;
|
||||||
import org.alfresco.query.PagingRequest;
|
import org.alfresco.query.PagingRequest;
|
||||||
import org.alfresco.query.PagingResults;
|
import org.alfresco.query.PagingResults;
|
||||||
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||||
import org.alfresco.repo.security.authority.UnknownAuthorityException;
|
import org.alfresco.repo.security.authority.UnknownAuthorityException;
|
||||||
import org.alfresco.repo.site.SiteMembership;
|
import org.alfresco.repo.site.SiteMembership;
|
||||||
|
import org.alfresco.repo.site.SiteMembershipComparator;
|
||||||
import org.alfresco.repo.site.SiteModel;
|
import org.alfresco.repo.site.SiteModel;
|
||||||
import org.alfresco.rest.api.Nodes;
|
import org.alfresco.rest.api.Nodes;
|
||||||
import org.alfresco.rest.api.People;
|
import org.alfresco.rest.api.People;
|
||||||
@@ -59,6 +61,7 @@ import org.alfresco.rest.framework.jacksonextensions.BeanPropertiesFilter;
|
|||||||
import org.alfresco.rest.framework.resource.parameters.CollectionWithPagingInfo;
|
import org.alfresco.rest.framework.resource.parameters.CollectionWithPagingInfo;
|
||||||
import org.alfresco.rest.framework.resource.parameters.Paging;
|
import org.alfresco.rest.framework.resource.parameters.Paging;
|
||||||
import org.alfresco.rest.framework.resource.parameters.Parameters;
|
import org.alfresco.rest.framework.resource.parameters.Parameters;
|
||||||
|
import org.alfresco.rest.framework.resource.parameters.SortColumn;
|
||||||
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
||||||
import org.alfresco.service.cmr.favourites.FavouritesService;
|
import org.alfresco.service.cmr.favourites.FavouritesService;
|
||||||
import org.alfresco.service.cmr.model.FileInfo;
|
import org.alfresco.service.cmr.model.FileInfo;
|
||||||
@@ -416,17 +419,43 @@ public class SitesImpl implements Sites
|
|||||||
|
|
||||||
PagingRequest pagingRequest = Util.getPagingRequest(paging);
|
PagingRequest pagingRequest = Util.getPagingRequest(paging);
|
||||||
|
|
||||||
final Collator collator = Collator.getInstance();
|
// get the sorting options
|
||||||
final Set<SiteMembership> sortedSiteMembers = new TreeSet<SiteMembership>(new Comparator<SiteMembership>()
|
List<Pair<? extends Object, SortOrder>> sortPairs = new ArrayList<Pair<? extends Object, SortOrder>>(parameters.getSorting().size());
|
||||||
|
for (SortColumn sortColumn : parameters.getSorting())
|
||||||
{
|
{
|
||||||
@Override
|
SiteService.SortFields sortField;
|
||||||
public int compare(SiteMembership o1, SiteMembership o2)
|
try
|
||||||
{
|
{
|
||||||
return collator.compare(o1.getSiteInfo().getTitle(), o2.getSiteInfo().getTitle());
|
sortField= SiteService.SortFields.valueOf(sortColumn.column);
|
||||||
|
}
|
||||||
|
catch (IllegalArgumentException ex)
|
||||||
|
{
|
||||||
|
// invalid sort field
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
|
||||||
List<SiteMembership> siteMembers = siteService.listSiteMemberships (personId, -1);
|
sortPairs.add(new Pair<SiteService.SortFields, SortOrder>(
|
||||||
|
sortField,
|
||||||
|
(sortColumn.asc ? SortOrder.ASCENDING : SortOrder.DESCENDING)));
|
||||||
|
}
|
||||||
|
|
||||||
|
// if no sorting options were specify, sort by title
|
||||||
|
if(sortPairs.size() == 0)
|
||||||
|
{
|
||||||
|
sortPairs.add(new Pair<SiteService.SortFields, SortOrder>(
|
||||||
|
SiteService.SortFields.SiteTitle,
|
||||||
|
SortOrder.ASCENDING ));
|
||||||
|
}
|
||||||
|
|
||||||
|
final Set<SiteMembership> sortedSiteMembers = new TreeSet<SiteMembership>(
|
||||||
|
new SiteMembershipComparator(
|
||||||
|
sortPairs,
|
||||||
|
SiteMembershipComparator.Type.SITES));
|
||||||
|
|
||||||
|
// get the unsorted list of site memberships
|
||||||
|
List<SiteMembership> siteMembers = siteService.listSiteMemberships (personId, 0);
|
||||||
|
|
||||||
|
// sort the list of site memberships
|
||||||
int totalSize = siteMembers.size();
|
int totalSize = siteMembers.size();
|
||||||
sortedSiteMembers.addAll(siteMembers);
|
sortedSiteMembers.addAll(siteMembers);
|
||||||
PageDetails pageDetails = PageDetails.getPageDetails(pagingRequest, totalSize);
|
PageDetails pageDetails = PageDetails.getPageDetails(pagingRequest, totalSize);
|
||||||
|
Reference in New Issue
Block a user