List<Map<String, Object>> result = (List<Map<String, Object>>) WidMVELEvaluator.eval(content); for (Map<String, Object> wid: result) { wid.put("path", parentPath + "/" + file);
public static Object eval(final String expression) { ExpressionCompiler compiler = new ExpressionCompiler(getRevisedExpression(expression), WID_PARSER_CONTEXT); if(KiePolicyHelper.isPolicyEnabled()) { return AccessController.doPrivileged(new PrivilegedAction<Object>() { @Override public Object run() { return MVEL.executeExpression(compiler.compile(), new HashMap()); } }, KiePolicyHelper.getAccessContext()); } else { return MVEL.executeExpression(compiler.compile(), new HashMap()); } }
@Test public void testWidBackwardsCompatPkgImports() throws Exception { assertCorrectWids(WidMVELEvaluator.eval(getResouceContent("/wids/test-backwardscompatpkgimport.wid"))); }
public static Object eval(final String expression) { ExpressionCompiler compiler = new ExpressionCompiler(getRevisedExpression(expression), WID_PARSER_CONTEXT); if(KiePolicyHelper.isPolicyEnabled()) { return AccessController.doPrivileged(new PrivilegedAction<Object>() { @Override public Object run() { return MVEL.executeExpression(compiler.compile(), new HashMap()); } }, KiePolicyHelper.getAccessContext()); } else { return MVEL.executeExpression(compiler.compile(), new HashMap()); } }
@Test public void testWidBackwardsCompatImports() throws Exception { assertCorrectWids(WidMVELEvaluator.eval(getResouceContent("/wids/test-backwardscompat.wid"))); }
@Test public void testWidBackwardsCompatMixedAndMissingImports() throws Exception { assertCorrectWids(WidMVELEvaluator.eval(getResouceContent("/wids/test-backwardscompatmixedandmissingimports.wid"))); }
@Test public void testWidNoImports() throws Exception { assertCorrectWids(WidMVELEvaluator.eval(getResouceContent("/wids/test-noimports.wid"))); }
@Test public void testWidCustomDataType() throws Exception { assertCorrectWids(WidMVELEvaluator.eval(getResouceContent("/wids/test-customdatatype.wid"))); }
@Test public void testWidCustomDataTypeNoImport() { try { assertCorrectWids(WidMVELEvaluator.eval(getResouceContent("/wids/test-customdatatypenoimport.wid"))); } catch(Throwable t) { assertTrue(t instanceof CompileException); } }
@SuppressWarnings("unchecked") private static Map<String, WorkDefinitionImpl> parseJBPMWorkItemDefinitions(final String content, final Function<String, String> dataUriProvider) { final List<Map<String, Object>> workDefinitionsMaps = (List<Map<String, Object>>) WidMVELEvaluator.eval(content); final Map<String, WorkDefinitionImpl> result = new HashMap<>(workDefinitionsMaps.size()); for (Map<String, Object> workDefinitionMap : workDefinitionsMaps) { if (workDefinitionMap != null) { String origWidName = ((String) workDefinitionMap.get("name")).replaceAll("\\s", ""); Matcher widNameMatcher = UNICODE_WORDS_PATTERN.matcher(origWidName); if (widNameMatcher.matches()) { final WorkDefinitionImpl workDefinition = parseMVELWorkItemDefinition(workDefinitionMap, dataUriProvider, widNameMatcher.group()); result.put(workDefinition.getName(), workDefinition); } else { LOG.error("The work item has an invalid name [ " + workDefinitionMap.get("name") + "]." + "It must contain words only, skipping it."); } } } return result; }
List<Map<String, Object>> result = (List<Map<String, Object>>) WidMVELEvaluator.eval(content); for (Map<String, Object> wid: result) { wid.put("path", parentPath + "/" + file);
final List<Map<String, Object>> workDefinitionsMap = (List<Map<String, Object>>) WidMVELEvaluator.eval(workItemDefinition);
final List<Map<String, Object>> workDefinitionsMap = (List<Map<String, Object>>) WidMVELEvaluator.eval(workItemDefinition);