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.model.ContentModel;
|
||||
import org.alfresco.query.CannedQuerySortDetails.SortOrder;
|
||||
import org.alfresco.query.PageDetails;
|
||||
import org.alfresco.query.PagingRequest;
|
||||
import org.alfresco.query.PagingResults;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||
import org.alfresco.repo.security.authority.UnknownAuthorityException;
|
||||
import org.alfresco.repo.site.SiteMembership;
|
||||
import org.alfresco.repo.site.SiteMembershipComparator;
|
||||
import org.alfresco.repo.site.SiteModel;
|
||||
import org.alfresco.rest.api.Nodes;
|
||||
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.Paging;
|
||||
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.favourites.FavouritesService;
|
||||
import org.alfresco.service.cmr.model.FileInfo;
|
||||
@@ -416,17 +419,43 @@ public class SitesImpl implements Sites
|
||||
|
||||
PagingRequest pagingRequest = Util.getPagingRequest(paging);
|
||||
|
||||
final Collator collator = Collator.getInstance();
|
||||
final Set<SiteMembership> sortedSiteMembers = new TreeSet<SiteMembership>(new Comparator<SiteMembership>()
|
||||
// get the sorting options
|
||||
List<Pair<? extends Object, SortOrder>> sortPairs = new ArrayList<Pair<? extends Object, SortOrder>>(parameters.getSorting().size());
|
||||
for (SortColumn sortColumn : parameters.getSorting())
|
||||
{
|
||||
@Override
|
||||
public int compare(SiteMembership o1, SiteMembership o2)
|
||||
SiteService.SortFields sortField;
|
||||
try
|
||||
{
|
||||
return collator.compare(o1.getSiteInfo().getTitle(), o2.getSiteInfo().getTitle());
|
||||
sortField= SiteService.SortFields.valueOf(sortColumn.column);
|
||||
}
|
||||
catch (IllegalArgumentException ex)
|
||||
{
|
||||
// invalid sort field
|
||||
continue;
|
||||
}
|
||||
});
|
||||
|
||||
sortPairs.add(new Pair<SiteService.SortFields, SortOrder>(
|
||||
sortField,
|
||||
(sortColumn.asc ? SortOrder.ASCENDING : SortOrder.DESCENDING)));
|
||||
}
|
||||
|
||||
List<SiteMembership> siteMembers = siteService.listSiteMemberships (personId, -1);
|
||||
// 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();
|
||||
sortedSiteMembers.addAll(siteMembers);
|
||||
PageDetails pageDetails = PageDetails.getPageDetails(pagingRequest, totalSize);
|
||||
|
Reference in New Issue
Block a user