1
2
3
4
5
6
7
8
9
10
11 package org.mule.expression;
12
13 import org.mule.DefaultMuleMessage;
14 import org.mule.api.MuleMessage;
15 import org.mule.api.expression.ExpressionEvaluator;
16 import org.mule.tck.AbstractMuleTestCase;
17
18 import java.util.Map;
19
20
21
22
23 public class CustomExpressionEvaluatorTestCase extends AbstractMuleTestCase
24 {
25
26 public void testCustomExpressionEvaluator()
27 {
28 muleContext.getExpressionManager().registerEvaluator(new FooExpressionEvaluator());
29
30 Object result = muleContext.getExpressionManager().evaluate("#[foo:abc]",
31 new DefaultMuleMessage("test", (Map) null, muleContext));
32 assertNotNull(result);
33 assertEquals("Wrong evaluation result", "testabc", result);
34 }
35
36 public static class FooExpressionEvaluator implements ExpressionEvaluator
37 {
38
39 public Object evaluate(String expression, MuleMessage message)
40 {
41 return message.getPayload() + expression;
42 }
43
44 public void setName(String name)
45 {
46 throw new UnsupportedOperationException("setName");
47 }
48
49 public String getName()
50 {
51 return "foo";
52 }
53 }
54
55 }