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)
93981: Merged 5.0.N (5.0.1) to HEAD-BUG-FIX (5.1/Cloud) 93849: Merged V4.2-BUG-FIX (4.2.5) to 5.0.N (5.0.1) 93762: Fix for MNT-13198 BM-0012: Run v420b1494_01: (CMIS) GetSites is Slow - use the bridge table to list sites. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@95021 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -1210,22 +1210,23 @@ public class SiteServiceImpl extends AbstractLifecycleBean implements SiteServic
|
|||||||
{
|
{
|
||||||
final int maxResults = size > 0 ? size : 1000;
|
final int maxResults = size > 0 ? size : 1000;
|
||||||
final Set<String> siteNames = new TreeSet<String>();
|
final Set<String> siteNames = new TreeSet<String>();
|
||||||
authorityService.getContainingAuthoritiesInZone(AuthorityType.GROUP, userName, AuthorityService.ZONE_APP_SHARE, new AuthorityFilter(){
|
|
||||||
@Override
|
// MNT-13198 - use the bridge table
|
||||||
public boolean includeAuthority(String authority)
|
Set<String> containingAuthorities = authorityService.getContainingAuthorities(AuthorityType.GROUP, userName, false);
|
||||||
|
for(String authority : containingAuthorities)
|
||||||
|
{
|
||||||
|
if (siteNames.size() < maxResults)
|
||||||
{
|
{
|
||||||
if (siteNames.size() < maxResults)
|
String siteName = resolveSite(authority);
|
||||||
|
// MNT-10836 fix, after MNT-10109 we should also check site existence
|
||||||
|
// A simple exists check would be better than getting the site properties etc - profiling suggests x2 faster
|
||||||
|
if ((siteName != null) && (getSite(siteName) != null))
|
||||||
{
|
{
|
||||||
String siteName = resolveSite(authority);
|
siteNames.add(siteName);
|
||||||
// MNT-10836 fix, after MNT-10109 we should also check site existence
|
|
||||||
if (siteName == null || getSite(siteName) == null)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return siteNames.add(siteName);
|
|
||||||
}
|
}
|
||||||
return false;
|
}
|
||||||
}}, maxResults);
|
}
|
||||||
|
|
||||||
if (siteNames.isEmpty())
|
if (siteNames.isEmpty())
|
||||||
{
|
{
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
|
Reference in New Issue
Block a user