package pipe.utilities.transformers;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
/**
* Converts XML file to an escaped String, so that tests need not do file I/O to test XML input
* @author stevedoubleday
*
*/
public class TestXmlFileConverter
{
private static final String SLASH = System.getProperty("file.separator");
public static void main(String[] args) {
// copy the output from below to the string variable to be used in testing.
System.out.println(convertXmlFileToEscapedString(buildFile("simpleNet.xml")));
}
protected static File buildFile(String name) {
File file = new File(System.getProperty("user.dir")+SLASH+
"test"+SLASH+ "xml" +SLASH+name);
return file;
}
public static String convertXmlFileToEscapedString(File file) {
String line = null;
StringBuffer sb = new StringBuffer();
try {
BufferedReader reader = new BufferedReader(new FileReader(file));
line = reader.readLine();
String tempEsc = null;
while (line != null) {
tempEsc = escapeCharacters(line);
sb.append(tempEsc);
line = reader.readLine();
}
reader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}
protected static String escapeCharacters(String line)
{
line = line.replace("\\/", "/");
line = line.replace("\\", "\\\\");
line = line.replace("\"", "\\\"");
line = line.replace("\t", "\\\t");
line = line.replace("\b", "\\\b");
line = line.replace("\n", "\\\n");
line = line.replace("\f", "\\\f");
line = line.replace("\'", "\\\'");
return line;
}
}