package net.karneim.pojobuilder.testenv;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class TestBase {
public static final File TESTDATA_DIRECTORY = new File("src/testdata/java");;
private static final boolean DEBUG_LOG_ENABLED = false;
protected void logDebug(String message) {
if (DEBUG_LOG_ENABLED) {
System.out.println(message);
}
}
public String loadResourceFromClasspath(String name) throws IOException {
return getContent(this.getClass().getResourceAsStream(name));
}
public String loadResourceFromFilesystem(File directory, String name) throws IOException {
File file = new File(directory, name);
return loadResource(file);
}
private String loadResource(File file) throws FileNotFoundException {
return getContent(new FileInputStream(file));
}
protected String getSourceFilename(File srcDir, Class<?> aClass) {
return new File(srcDir, getSourceFilename(aClass.getName())).getPath();
}
protected String getSourceFilename(File srcDir, String fullQualifiedClassname) {
return new File(srcDir, getSourceFilename(fullQualifiedClassname)).getPath();
}
protected String getSourceFilename(Class<?> aClass) {
return getSourceFilename(aClass.getName());
}
public String getSourceFilename(String fullQualifiedClassname) {
String result = fullQualifiedClassname.replace('.', '/').concat(".java");
return result;
}
public static String getContent(java.io.InputStream is) {
if (is == null) {
return null;
}
@SuppressWarnings("resource")
java.util.Scanner scanner = new java.util.Scanner(is, "UTF-8").useDelimiter("\\A");
try {
String result = scanner.hasNext() ? scanner.next() : "";
result = result.replaceAll("\r\n", "\n").replaceAll(String.valueOf((char) 65279), "");
return result;
} finally {
scanner.close();
}
}
}