Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud)

76560: Merged V4.2-BUG-FIX (4.2.4) to HEAD-BUG-FIX (5.0/Cloud)
      75816: Merged DEV V4.2-BUG-FIX to V4.2-BUG-FIX (4.2.3)
         75777: MNT-11598: Escaped Freemarker query templates don't work with org.alfresco.repo.action.scheduled.CronScheduledQueryBasedTemplateActionDefinition
           - Workaround with unescaping Free Marker template has been applied and tested with the newly implemented test


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@77627 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Mark Rogers
2014-07-22 15:28:42 +00:00
parent 1ce2c554c2
commit af44652c45
3 changed files with 303 additions and 1 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2005-2010 Alfresco Software Limited.
* Copyright (C) 2005-2014 Alfresco Software Limited.
*
* This file is part of Alfresco
*
@@ -220,6 +220,19 @@ public class CronScheduledQueryBasedTemplateActionDefinition extends AbstractSch
// Build the actual query string
String queryTemplate = getQueryTemplate();
// MNT-11598 workaround: de-escape \$\{foo\} or \#\{foo\}
if (queryTemplate.contains("\\$\\{") || queryTemplate.contains("\\#\\{"))
{
queryTemplate = queryTemplate.replace("\\$\\{", "${");
queryTemplate = queryTemplate.replace("\\#\\{", "#{");
if (queryTemplate.contains("\\}"))
{
queryTemplate = queryTemplate.replace("\\}", "}");
}
}
String query = templateService.processTemplateString(getTemplateActionModelFactory().getTemplateEngine(),
queryTemplate, getTemplateActionModelFactory().getModel());