use of org.apache.commons.jexl3.MapContext in project syncope by apache.
the class MailTemplateTest method evaluate.
private String evaluate(final String template, final Map<String, Object> jexlVars) {
StringWriter writer = new StringWriter();
JexlUtils.newJxltEngine().createTemplate(template).evaluate(new MapContext(jexlVars), writer);
return writer.toString();
}
use of org.apache.commons.jexl3.MapContext in project syncope by apache.
the class MappingTest method realmConnObjectLink.
@Test
public void realmConnObjectLink() {
Realm realm = realmDAO.findByFullPath("/even/two");
assertNotNull(realm);
JexlContext jexlContext = new MapContext();
JexlUtils.addFieldsToContext(realm, jexlContext);
String connObjectLink = "syncope:fullPath2Dn(fullPath, 'ou') + ',o=isp'";
assertEquals("ou=two,ou=even,o=isp", JexlUtils.evaluate(connObjectLink, jexlContext));
realm = realmDAO.findByFullPath("/even");
assertNotNull(realm);
jexlContext = new MapContext();
JexlUtils.addFieldsToContext(realm, jexlContext);
assertEquals("ou=even,o=isp", JexlUtils.evaluate(connObjectLink, jexlContext));
}
use of org.apache.commons.jexl3.MapContext in project jdbi by jdbi.
the class TestBindExpression method testJexl.
@Test
public void testJexl() throws Exception {
JexlEngine engine = new JexlEngine();
Object topping = engine.createExpression("breakfast.waffle.topping").evaluate(new MapContext(ImmutableMap.<String, Object>of("breakfast", new Breakfast())));
assertThat(topping).isEqualTo("syrup");
}
use of org.apache.commons.jexl3.MapContext in project newts by OpenNMS.
the class ResultDescriptor method expression.
public ResultDescriptor expression(String label, String expression) {
final JexlExpression expr = JEXL_ENGINE.createExpression(expression);
final String[] labels = getLabels().toArray(new String[0]);
CalculationFunction evaluate = new CalculationFunction() {
private static final long serialVersionUID = -3328049421398096252L;
@Override
public double apply(double... ds) {
JexlContext jc = new MapContext();
for (int i = 0; i < labels.length; i++) {
jc.set(labels[i], ds[i]);
}
return ((Number) expr.evaluate(jc)).doubleValue();
}
};
return calculate(label, evaluate, labels);
}
use of org.apache.commons.jexl3.MapContext in project jmeter by apache.
the class Jexl3Function method execute.
/**
* {@inheritDoc}
*/
@Override
public String execute(SampleResult previousResult, Sampler currentSampler) throws InvalidVariableException {
// $NON-NLS-1$
String str = "";
CompoundVariable var = (CompoundVariable) values[0];
String exp = var.execute();
// $NON-NLS-1$
String varName = "";
if (values.length > 1) {
varName = ((CompoundVariable) values[1]).execute().trim();
}
JMeterContext jmctx = JMeterContextService.getContext();
JMeterVariables vars = jmctx.getVariables();
try {
JexlContext jc = new MapContext();
// $NON-NLS-1$
jc.set("log", log);
// $NON-NLS-1$
jc.set("ctx", jmctx);
// $NON-NLS-1$
jc.set("vars", vars);
// $NON-NLS-1$
jc.set("props", JMeterUtils.getJMeterProperties());
// Previously mis-spelt as theadName
// $NON-NLS-1$
jc.set("threadName", Thread.currentThread().getName());
// $NON-NLS-1$ (may be null)
jc.set("sampler", currentSampler);
// $NON-NLS-1$ (may be null)
jc.set("sampleResult", previousResult);
// $NON-NLS-1$
jc.set("OUT", System.out);
// Now evaluate the script, getting the result
JexlScript e = threadLocalJexl.get().createScript(exp);
Object o = e.execute(jc);
if (o != null) {
str = o.toString();
}
if (vars != null && varName.length() > 0) {
// vars will be null on TestPlan
vars.put(varName, str);
}
} catch (Exception e) {
log.error("An error occurred while evaluating the expression \"{}\"\n", exp, e);
}
return str;
}
Aggregations