1   /*
2    * $Id: XMLTestUtils.java 12307 2008-07-11 20:39:57Z tcarlson $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.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  
11  package org.mule.module.xml.util;
12  
13  import org.mule.util.IOUtils;
14  
15  import java.io.InputStream;
16  import java.util.ArrayList;
17  import java.util.List;
18  
19  import javax.xml.parsers.DocumentBuilderFactory;
20  import javax.xml.stream.XMLInputFactory;
21  import javax.xml.stream.XMLStreamReader;
22  import javax.xml.transform.Source;
23  
24  import org.dom4j.DocumentHelper;
25  import org.xml.sax.InputSource;
26  
27  public class XMLTestUtils
28  {
29      public static List getXmlMessageVariants(String resource) throws Exception
30      {
31          XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance();
32          
33          List list = new ArrayList();
34          InputStream is;
35  
36          // java.io.InputStream
37          is = IOUtils.getResourceAsStream(resource, XMLTestUtils.class);
38          list.add(is);
39  
40          // org.dom4j.Document
41          String xml = IOUtils.getResourceAsString(resource, XMLTestUtils.class);
42          org.dom4j.Document dom4jDoc = DocumentHelper.parseText(xml);
43          list.add(dom4jDoc);
44  
45          // org.w3c.dom.Document
46          is = IOUtils.getResourceAsStream(resource, XMLTestUtils.class);
47          org.w3c.dom.Document w3cDoc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(is);
48          list.add(w3cDoc);
49          
50          // org.xml.sax.InputSource
51          is = IOUtils.getResourceAsStream(resource, XMLTestUtils.class);
52          list.add(new InputSource(is));
53          
54          // javax.xml.transform.Source
55          is = IOUtils.getResourceAsStream(resource, XMLTestUtils.class);
56          Source s = XMLUtils.toXmlSource(xmlInputFactory, false, is);
57          list.add(s);
58          
59          // javax.xml.stream.XMLStreamReader
60          is = IOUtils.getResourceAsStream(resource, XMLTestUtils.class);
61          XMLStreamReader sr = XMLUtils.toXMLStreamReader(XMLInputFactory.newInstance(), is);
62          list.add(sr);
63  
64          return list;
65      }
66  }
67  
68