-
Language:
English
-
Language:
English
Red Hat Training
A Red Hat training course is available for Red Hat Fuse
12.19. Configuring the Reader with java-binding-config.xml Example
The following configuration (
java-binding-config.xml
) can be used to bind the names into a List
of PersonName
objects:
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd" xmlns:jb="http://www.milyn.org/xsd/smooks/javabean-1.4.xsd"> <reader class="com.acme.MyCSVReader"> <params> <param name="fields">firstname,lastname</param> </params> </reader> <jb:bean beanId="peopleNames" class="java.util.ArrayList" createOnElement="message-root"> <jb:wiring beanIdRef="personName" /> </jb:bean> <jb:bean beanId="personName" class="com.acme.PersonName" createOnElement="message-root/record"> <jb:value property="first" data="record/firstname" /> <jb:value property="last" data="record/lastname" /> </jb:bean> </smooks-resource-list>
Here is a test for that configuration:
public class MyCSVReaderTest extends TestCase { public void test_java_binding() { Smooks smooks = new Smooks(getClass().getResourceAsStream("java-binding-config.xml")); JavaResult javaResult = new JavaResult(); smooks.filterSource(new StreamSource(getClass().getResourceAsStream("names.csv")), javaResult); List<PersonName> peopleNames = (List<PersonName>) javaResult.getBean("peopleNames"); // TODO: add assertions etc } }