1
2
3
4
5
6
7 package org.mule.transformer.simple;
8
9 import org.mule.DefaultMuleMessage;
10 import org.mule.api.transformer.Transformer;
11 import org.mule.expression.ExpressionConfig;
12 import org.mule.expression.transformers.BeanBuilderTransformer;
13 import org.mule.expression.transformers.ExpressionArgument;
14 import org.mule.object.PrototypeObjectFactory;
15 import org.mule.tck.testmodels.fruit.Orange;
16 import org.mule.transformer.AbstractTransformerTestCase;
17
18 import java.util.HashMap;
19 import java.util.Map;
20
21 public class BeanBuilderTestCase extends AbstractTransformerTestCase
22 {
23 public Transformer getTransformer() throws Exception
24 {
25 BeanBuilderTransformer trans = new BeanBuilderTransformer();
26 trans.setMuleContext(muleContext);
27 PrototypeObjectFactory factory = new PrototypeObjectFactory(Orange.class);
28 muleContext.getRegistry().applyProcessorsAndLifecycle(factory);
29 trans.setBeanFactory(factory);
30 trans.addArgument(new ExpressionArgument("brand", new ExpressionConfig("", "payload", null), false));
31 trans.addArgument(new ExpressionArgument("segments", new ExpressionConfig("segments", "header", null), false));
32 trans.addArgument(new ExpressionArgument("radius", new ExpressionConfig("radius", "header", null), false));
33 trans.initialise();
34 return trans;
35 }
36
37 public Transformer getRoundTripTransformer() throws Exception
38 {
39 return null;
40 }
41
42 public Object getTestData()
43 {
44 Map props = new HashMap();
45 props.put("segments", "14");
46 props.put("radius", "5.43");
47 return new DefaultMuleMessage("Juicy", props, muleContext);
48 }
49
50 public Object getResultData()
51 {
52 return new Orange(14, 5.43, "Juicy");
53 }
54 }