/* * Milyn - Copyright (C) 2006 - 2010 * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License (version 2.1) as published by the Free Software * Foundation. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * See the GNU Lesser General Public License for more details: * http://www.gnu.org/licenses/lgpl.txt */ package example; import org.milyn.Smooks; import org.milyn.SmooksException; import org.milyn.event.report.HtmlReportGenerator; import org.milyn.io.StreamUtils; import org.milyn.container.ExecutionContext; import org.xml.sax.SAXException; import javax.xml.transform.stream.StreamSource; import javax.xml.transform.stream.StreamResult; import java.io.*; /** * Simple example main class. * @author <a href="mailto:tom.fennelly@gmail.com">tom.fennelly@gmail.com</a> */ public class Main { private static byte[] messageIn = readInputMessage(); protected static String runSmooksTransform() throws IOException, SAXException, SmooksException { Smooks smooks = new Smooks("smooks-config.xml"); try { ExecutionContext executionContext = smooks.createExecutionContext(); StringWriter writer = new StringWriter(); // Configure the execution context to generate a report... executionContext.setEventListener(new HtmlReportGenerator("target/report/report.html")); smooks.filterSource(executionContext, new StreamSource(new InputStreamReader(new ByteArrayInputStream(messageIn), "UTF-8")), new StreamResult(writer)); return writer.toString(); } finally { smooks.close(); } } public static void main(String[] args) throws IOException, SAXException, SmooksException { System.out.println("\n\n==============Message In=============="); System.out.println(new String(messageIn)); System.out.println("======================================\n"); String messageOut = Main.runSmooksTransform(); System.out.println("==============Message Out============="); System.out.println(messageOut); System.out.println("======================================\n\n"); } private static byte[] readInputMessage() { try { return StreamUtils.readStream(new FileInputStream("input.log")); } catch (IOException e) { e.printStackTrace(); return "<no-message/>".getBytes(); } } }