mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.1/Cloud)
101747: Merged 5.0.N (5.0.2) to HEAD-BUG-FIX (5.1/Cloud) 101635: Merged V4.2-BUG-FIX (4.2.5) to 5.0.N (5.0.2) 101289: Reverse merged V4.2-BUG-FIX (4.2.5) << Brought back the changes >> 98889: Reverse merged V4.1-BUG-FIX (4.1.10) << Caused a performance problem found in 5.0.1 testing >> Merged V4.1-BUG-FIX (4.1.10) to V4.2-BUG-FIX (4.2.5) 93762: Fix for MNT-13198 BM-0012: Run v420b1494_01: (CMIS) GetSites is Slow - use the bridge table to list sites. 93802: Fix for MNT-13198 BM-0012: Run v420b1494_01: (CMIS) GetSites is Slow - use hasSite to check for existence and fix person lookup case sensitivity configuration 98886: Reverse merged V4.1-BUG-FIX (4.1.10) << Original commits for this issue caused a performance problem found in 5.0.1 testing >> 98334: Merged DEV (4.2.5) to V4.2-BUG-FIX (4.2.5) 98326: MNT-13198: BM-0012: Run v420b1494_01: (CMIS) GetSites is Slow - Changed the PersonSitesRelation to use a faster API (SiteServiceImpl.listSiteMemberships(String, int)). 98452: MNT-13198: BM-0012: Run v420b1494_01: (CMIS) GetSites is Slow - Corrected the solution to fix the build failures. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@101849 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -415,22 +415,44 @@ public class SitesImpl implements Sites
|
|||||||
personId = people.validatePerson(personId);
|
personId = people.validatePerson(personId);
|
||||||
|
|
||||||
PagingRequest pagingRequest = Util.getPagingRequest(paging);
|
PagingRequest pagingRequest = Util.getPagingRequest(paging);
|
||||||
|
|
||||||
|
final Collator collator = Collator.getInstance();
|
||||||
|
final Set<SiteMembership> sortedSiteMembers = new TreeSet<SiteMembership>(new Comparator<SiteMembership>()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public int compare(SiteMembership o1, SiteMembership o2)
|
||||||
|
{
|
||||||
|
return collator.compare(o1.getSiteInfo().getTitle(), o2.getSiteInfo().getTitle());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
List<SiteMembership> siteMembers = siteService.listSiteMemberships (personId, -1);
|
||||||
|
int totalSize = siteMembers.size();
|
||||||
|
sortedSiteMembers.addAll(siteMembers);
|
||||||
|
PageDetails pageDetails = PageDetails.getPageDetails(pagingRequest, totalSize);
|
||||||
|
List<MemberOfSite> ret = new ArrayList<MemberOfSite>(totalSize);
|
||||||
|
|
||||||
|
Iterator<SiteMembership> it = sortedSiteMembers.iterator();
|
||||||
|
for(int counter = 0; counter < pageDetails.getEnd() && it.hasNext(); counter++)
|
||||||
|
{
|
||||||
|
SiteMembership siteMember = it.next();
|
||||||
|
|
||||||
final List<Pair<SiteService.SortFields, Boolean>> sort = new ArrayList<Pair<SiteService.SortFields, Boolean>>();
|
if(counter < pageDetails.getSkipCount())
|
||||||
sort.add(new Pair<SiteService.SortFields, Boolean>(SiteService.SortFields.SiteTitle, Boolean.TRUE));
|
{
|
||||||
sort.add(new Pair<SiteService.SortFields, Boolean>(SiteService.SortFields.Role, Boolean.TRUE));
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(counter > pageDetails.getEnd() - 1)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
PagingResults<SiteMembership> results = siteService.listSitesPaged(personId, sort, pagingRequest);
|
SiteInfo siteInfo = siteMember.getSiteInfo();
|
||||||
List<SiteMembership> siteMembers = results.getPage();
|
MemberOfSite memberOfSite = new MemberOfSite(siteInfo.getShortName(), siteInfo.getNodeRef(), siteMember.getRole());
|
||||||
List<MemberOfSite> ret = new ArrayList<MemberOfSite>(siteMembers.size());
|
ret.add(memberOfSite);
|
||||||
for(SiteMembership siteMember : siteMembers)
|
}
|
||||||
{
|
return CollectionWithPagingInfo.asPaged(paging, ret, pageDetails.hasMoreItems(), null);
|
||||||
SiteInfo siteInfo = siteMember.getSiteInfo();
|
|
||||||
MemberOfSite memberOfSite = new MemberOfSite(siteInfo.getShortName(), siteInfo.getNodeRef(), siteMember.getRole());
|
|
||||||
ret.add(memberOfSite);
|
|
||||||
}
|
|
||||||
|
|
||||||
return CollectionWithPagingInfo.asPaged(paging, ret, results.hasMoreItems(), null);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public SiteContainer getSiteContainer(String siteId, String containerId)
|
public SiteContainer getSiteContainer(String siteId, String containerId)
|
||||||
|
Reference in New Issue
Block a user