/* * YamTestUtils.java * Copyright (c) 1998-2008, The University of Sheffield. * * This code is from the GATE project (http://gate.ac.uk/) and is free * software licenced under the GNU General Public License version 3. It is * distributed without any warranty. For more details see COPYING.txt in the * top level directory (or at http://gatewiki.sf.net/COPYING.txt). * * Ian, Hamish, Aug 2009 */ package gate.yam; import java.io.*; import junit.framework.*; import org.apache.log4j.Logger; import org.springframework.core.io.*; import org.springframework.context.support.*; import gate.util.*; import gate.yam.*; import gate.yam.parse.*; import gate.yam.translate.*; import gate.yam.convert.*; /** * Utility class for YAM tests. */ public class YamTestUtils { /** * Copied from gate.util.Files but modified to use the thread context * classloader. */ public static String getResourceAsString(String resourceName, String encoding) throws IOException { // Strip any leading '/' if(resourceName.charAt(0) == '/') { resourceName = resourceName.substring(1); } InputStream resourceStream = Thread.currentThread(). getContextClassLoader().getResourceAsStream(resourceName); if(resourceStream == null) return null; BufferedReader resourceReader; InputStreamReader inputStreamReader; if(encoding == null) { inputStreamReader = new InputStreamReader(resourceStream); if(inputStreamReader == null) return null; } else { inputStreamReader = new InputStreamReader(resourceStream, encoding); if(inputStreamReader == null) return null; } resourceReader = new BufferedReader(inputStreamReader); if(resourceReader == null) return null; StringBuffer resourceBuffer = new StringBuffer(); int i; int charsRead = 0; final int size = 1024; char[] charArray = new char[size]; while( (charsRead = resourceReader.read(charArray,0,size)) != -1 ) resourceBuffer.append (charArray,0,charsRead); while( (i = resourceReader.read()) != -1 ) resourceBuffer.append((char) i); resourceReader.close(); return resourceBuffer.toString(); } // getResourceAsString(String) } // YamTestUtils