View Javadoc

1   /*
2    * $Id: BeanBuilderTestCase.java 19191 2010-08-25 21:05:23Z tcarlson $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  package org.mule.transformer.simple;
11  
12  import org.mule.DefaultMuleMessage;
13  import org.mule.api.transformer.Transformer;
14  import org.mule.expression.ExpressionConfig;
15  import org.mule.expression.transformers.BeanBuilderTransformer;
16  import org.mule.expression.transformers.ExpressionArgument;
17  import org.mule.object.PrototypeObjectFactory;
18  import org.mule.tck.testmodels.fruit.Orange;
19  import org.mule.transformer.AbstractTransformerTestCase;
20  
21  import java.util.HashMap;
22  import java.util.Map;
23  
24  public class BeanBuilderTestCase extends AbstractTransformerTestCase
25  {
26      public Transformer getTransformer() throws Exception
27      {
28          BeanBuilderTransformer trans = new BeanBuilderTransformer();
29          trans.setMuleContext(muleContext);
30          PrototypeObjectFactory factory = new PrototypeObjectFactory(Orange.class);
31          muleContext.getRegistry().applyProcessorsAndLifecycle(factory);
32          trans.setBeanFactory(factory);
33          trans.addArgument(new ExpressionArgument("brand", new ExpressionConfig("", "payload", null), false));
34          trans.addArgument(new ExpressionArgument("segments", new ExpressionConfig("segments", "header", null), false));
35          trans.addArgument(new ExpressionArgument("radius", new ExpressionConfig("radius", "header", null), false));
36          trans.initialise();
37          return trans;
38      }
39  
40      public Transformer getRoundTripTransformer() throws Exception
41      {
42          return null;
43      }
44  
45      public Object getTestData()
46      {
47          Map props = new HashMap();
48          props.put("segments", "14");
49          props.put("radius", "5.43");
50          return new DefaultMuleMessage("Juicy", props, muleContext);
51      }
52  
53      public Object getResultData()
54      {
55          return new Orange(14, 5.43, "Juicy");
56      }
57  }