From fcab3c3bdf87ab82e8e3dbe4ba155475394d2b0c Mon Sep 17 00:00:00 2001 From: rwetherall Date: Tue, 27 Jun 2017 16:11:25 +1000 Subject: [PATCH] Fix BaseEvaluator cache. Name missing from key. --- .../jscript/app/BaseEvaluator.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/BaseEvaluator.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/BaseEvaluator.java index ec417b988a..8f53134cb3 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/BaseEvaluator.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/BaseEvaluator.java @@ -41,6 +41,7 @@ import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel; import org.alfresco.module.org_alfresco_module_rm.record.RecordService; import org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService; import org.alfresco.module.org_alfresco_module_rm.util.TransactionalResourceHelper; +import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.security.AccessStatus; @@ -229,9 +230,10 @@ public abstract class BaseEvaluator implements RecordsManagementModel */ public boolean evaluate(NodeRef nodeRef) { - Map results = transactionalResourceHelper.getMap("BaseEvaluator.evaluate"); + Map results = transactionalResourceHelper.getMap("BaseEvaluator.evaluate"); + String key = new StringBuffer(nodeRef.toString()).append(AuthenticationUtil.getRunAsUser()).append(name).toString(); - if (!results.containsKey(nodeRef)) + if (!results.containsKey(key)) { boolean result = false; @@ -243,10 +245,10 @@ public abstract class BaseEvaluator implements RecordsManagementModel result = evaluateImpl(nodeRef); } - results.put(nodeRef, result); + results.put(key, result); } - return results.get(nodeRef); + return results.get(key); } /**