mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged V4.1-BUG-FIX to HEAD
47526: ALF-13949: Copying folder which contains working copy doesn't work properly. - Correct recursive copy and FileFolderService copy to respect the working copy renaming behaviour from ETHREEOH-2762 - Fix researched by Alex Bykov 47563: Merged PATCHES/V4.1.4 to V4.1-BUG-FIX 47529: ALF-18207: Alfresco not starting with WQS module applied - Regression caused by change in surf constructor behaviour 47536: ALF-18249: Alfresco doesn't start with Kerberos or NTLM authentification - Authentication filters do not demarcate transactions - Precautionary fix to restore existing behaviour regressed by ALF-17979 - Don't try to use transactional caches if there is no transaction - Moving authentication filters to public PersonService would add necessary transaction demarcation, but may cause regressions due to permission evaluation 47565: Merged PATCHES/V4.1.4 to V4.1-BUG-FIX (RECORD ONLY) 47500: Merged V4.1-BUG-FIX to PATCHES/V4.1.4 47497: Fixed ALF-13679 "Cannot play a movie file in Preview, which has double byte characters in the file name" - Fix from previous commit where a typo sneaked in just before commit 47517: ALF-18243: Merged V4.1-BUG-FIX to PATCHES/V4.1.4 47508: Merged HEAD to BRANCHES/DEV/V4.1-BUG-FIX 47448: 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 47484: Fix exception throw in FileFolderServiceImpl.getNameOnlyPath() to ensure only FileNotFoundException is thrown not RuntimeException to pass unit test. 47504: Performance improvements to retrieving lists of nodes and single nodes. - no longer perform N+1 queries to get thumbnails when retrieving nodes git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@47566 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -548,8 +548,14 @@ public class CopyServiceImpl implements CopyService
|
||||
ChildAssociationDefinition childAssocDef = (ChildAssociationDefinition) assocDef;
|
||||
if (dropName && !childAssocDef.getDuplicateChildNamesAllowed())
|
||||
{
|
||||
// duplicate children are not allowed.
|
||||
targetNodeProperties.remove(ContentModel.PROP_NAME);
|
||||
// ALF-13949: A behaviour callback (e.g. WorkingCopyAspect) may already have generated a new name, so
|
||||
// preserve the new name if it has changed
|
||||
String newName = (String) targetNodeProperties.get(ContentModel.PROP_NAME);
|
||||
if (newName != null && newName.equals(nodeService.getProperty(sourceNodeRef, ContentModel.PROP_NAME)))
|
||||
{
|
||||
// duplicate children are not allowed.
|
||||
targetNodeProperties.remove(ContentModel.PROP_NAME);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1139,7 +1139,10 @@ public class FileFolderServiceImpl implements FileFolderService
|
||||
|
||||
// Only update the name if it has changed
|
||||
String currentName = (String)nodeService.getProperty(targetNodeRef, ContentModel.PROP_NAME);
|
||||
if (currentName.equals(newName) == false)
|
||||
|
||||
// ALF-13949: WorkingCopyAspect intentionally generates new names for all copies of working copies (which no
|
||||
// longer have the working copy aspect) so leave these alone after copy
|
||||
if (!currentName.equals(newName) && !nodeService.hasAspect(sourceNodeRef, ContentModel.ASPECT_WORKING_COPY))
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@@ -797,7 +797,7 @@ public class AuthorityDAOImpl implements AuthorityDAO, NodeServicePolicies.Befor
|
||||
{
|
||||
listAuthorities(null, name, authorities, true, true);
|
||||
}
|
||||
if(!TransactionalResourceHelper.getSet(DELETING_AUTHORITY_SET_RESOURCE).contains(name))
|
||||
if(AlfrescoTransactionSupport.getTransactionId() != null && !TransactionalResourceHelper.getSet(DELETING_AUTHORITY_SET_RESOURCE).contains(name))
|
||||
{
|
||||
userAuthorityCache.put(name, Collections.unmodifiableSet(authorities));
|
||||
}
|
||||
|
@@ -1715,7 +1715,7 @@ public class PersonServiceImpl extends TransactionListenerAdapter implements Per
|
||||
private void putToCache(String userName, Set<NodeRef> refs)
|
||||
{
|
||||
String key = userName.toLowerCase();
|
||||
if(!TransactionalResourceHelper.getSet(DELETING_PERSON_SET_RESOURCE).contains(key))
|
||||
if(AlfrescoTransactionSupport.getTransactionId() != null && TransactionalResourceHelper.getSet(DELETING_PERSON_SET_RESOURCE).contains(key))
|
||||
{
|
||||
this.personCache.put(key, refs);
|
||||
}
|
||||
|
Reference in New Issue
Block a user