package com.prancingdonkey.transformer; import java.io.StringReader; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import au.com.bytecode.opencsv.CSVReader; import org.mule.api.transformer.TransformerException; import org.mule.transformer.AbstractTransformer; public class CSVToListOfMapsTransformer extends AbstractTransformer { @Override protected Object doTransform(final Object src, final String enc) throws TransformerException { List<Map> products = new ArrayList<Map>(); CSVReader reader = new CSVReader(new StringReader((String) src)); String[] nextLine; try { while ((nextLine = reader.readNext()) != null) { Map<String,String> product = new HashMap<String,String>(); product.put("name",nextLine[0]); product.put("acv",nextLine[1]); product.put("cost",nextLine[2]); product.put("description",nextLine[3]); products.add(product); } } catch (Exception e) { throw new RuntimeException(e); } return products; } }