package net.jsunit.logging;
import net.jsunit.model.Browser;
import net.jsunit.model.BrowserResult;
import net.jsunit.model.BrowserResultBuilder;
import net.jsunit.utility.FileUtility;
import net.jsunit.utility.XmlUtility;
import java.io.File;
public class FileBrowserResultRepository implements BrowserResultRepository {
private static final String LOG_PREFIX = "JSTEST-";
private File logsDirectory;
public FileBrowserResultRepository(File logsDirectory) {
this.logsDirectory = logsDirectory;
if (!logsDirectory.exists())
logsDirectory.mkdir();
}
private File logFileForId(String id, Browser browser) {
return new File(logsDirectory + File.separator + LOG_PREFIX + id + "." + browser.getId() + ".xml");
}
public void deleteDirectory(String directoryName) {
File file = new File(directoryName);
file.delete();
}
public void store(BrowserResult result) {
String xml = XmlUtility.asString(result.asXml());
FileUtility.write(logFileForId(result.getId(), result.getBrowser()), xml);
}
public BrowserResult retrieve(String id, final Browser browser) {
File logFile = logFileForId(id, browser);
if (logFile.exists())
return new BrowserResultBuilder().build(logFile);
return null;
}
}