From a5409044c573b0e28feef26661f35efc254e4fd5 Mon Sep 17 00:00:00 2001 From: rwetherall Date: Tue, 27 Jun 2017 13:13:25 +1000 Subject: [PATCH] Transaction cache on BaseEvaluator.evaluate method --- .../rm-ui-evaluators-context.xml | 1 + .../jscript/app/BaseEvaluator.java | 35 ++++++++++++++----- 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml index 3d8ea5c7e4..daccb826a1 100644 --- a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml +++ b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml @@ -38,6 +38,7 @@ + results = transactionalResourceHelper.getMap("BaseEvaluator.evaluate"); + + if (!results.containsKey(nodeRef)) { - result = evaluateImpl(nodeRef); + boolean result = false; + + // Check that we are dealing with the correct kind of RM object + if ((kinds == null || checkKinds(nodeRef)) && + // Check we have the required capabilities + (capabilities == null || checkCapabilities(nodeRef))) + { + result = evaluateImpl(nodeRef); + } + + results.put(nodeRef, result); } - return result; + return results.get(nodeRef); } /**