mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
. Optimize ApplicationScriptUtils.toJSON() - threadlocal cache for namespace resolution to avoid DD access, smarter retrieval of cm:person properties - 40% quicker or more in some cases
. Convert short qnames to long qnames in our templates to avoid DD access to resolve full qnames . Optimize out N+1 queries from calling RatingService.getRating() unless the document has at least one Like (which is available in the rolled up property already present on the node) - up to 99% quicker when building "Likes" JSON structure...! . Added new optimized method to FileFolderService to retrieve a cm:name based path - only the String for each path element not the full FileInfo structure for each (avoid full getProperties() - 70% quicker to build webdav URL overall before/after to retrieve doclist2 script (8x concurrent threads x25 repeats etc.) Before: 1030ms After: 645ms Also improves original doclist script (used by dashlets) and single node retrievals. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@47448 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -56,9 +56,6 @@ import org.alfresco.service.cmr.security.PermissionService;
|
||||
import org.alfresco.service.cmr.site.SiteInfo;
|
||||
import org.alfresco.service.cmr.site.SiteService;
|
||||
import org.alfresco.service.namespace.NamespaceService;
|
||||
import org.alfresco.util.EqualsHelper;
|
||||
import org.alfresco.util.Pair;
|
||||
import org.apache.commons.lang.NotImplementedException;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.springframework.extensions.surf.util.URLDecoder;
|
||||
@@ -538,14 +535,14 @@ public class WebDAVHelper
|
||||
FileFolderService fileFolderService = getFileFolderService();
|
||||
|
||||
// get the path elements
|
||||
List<FileInfo> pathInfos = fileFolderService.getNamePath(rootNodeRef, nodeRef);
|
||||
List<String> pathInfos = fileFolderService.getNameOnlyPath(rootNodeRef, nodeRef);
|
||||
|
||||
// build the path string
|
||||
StringBuilder sb = new StringBuilder(pathInfos.size() * 20);
|
||||
for (FileInfo fileInfo : pathInfos)
|
||||
for (String fileInfo : pathInfos)
|
||||
{
|
||||
sb.append(WebDAVHelper.PathSeperatorChar);
|
||||
sb.append(fileInfo.getName());
|
||||
sb.append(fileInfo);
|
||||
}
|
||||
// done
|
||||
if (logger.isDebugEnabled())
|
||||
|
Reference in New Issue
Block a user