package at.ac.tuwien.iter.services.impl.datacollector; import java.io.File; import org.slf4j.Logger; import at.ac.tuwien.iter.data.Test; import at.ac.tuwien.iter.data.TestResult; public class DatabaseManagerService { private Logger logger; private File baseDir; public DatabaseManagerService(Logger logger, File baseDir) { this.logger = logger; this.baseDir = baseDir; if (!baseDir.exists()) { // Create the structure of dirs if needed this.logger.info("Create the base dir for storing test results" + baseDir.getAbsolutePath()); boolean mkdirs = baseDir.mkdirs(); if (!mkdirs) { this.logger.error("The base dir was NOT created !"); throw new RuntimeException("Cannot create dir structure: " + baseDir.getAbsolutePath()); } } } public String getControllerDBnameForTest(Test test) { return String.format("jdbc:hsqldb:file:%s/iter-%d-controller", baseDir.getAbsolutePath(), test.getId()); } public String getServiceDBnameForTest(Test test) { return String.format("jdbc:hsqldb:file:%s/iter-%d-service", baseDir.getAbsolutePath(), test.getId()); } public String getClientDBnameForTest(Test test) { return String.format("jdbc:hsqldb:file:%s/iter-%d-clients", baseDir.getAbsolutePath(), test.getId()); } public String getControllerDBnameForTest(TestResult testResult) { return String.format("jdbc:hsqldb:file:%s/iter-%d-controller", baseDir.getAbsolutePath(), testResult.getTestId()); } public String getClientDBnameForTest(TestResult test) { return String.format("jdbc:hsqldb:file:%s/iter-%d-clients", baseDir.getAbsolutePath(), test.getTestId()); } public String getServiceDBnameForTest(TestResult testResult) { return String.format("jdbc:hsqldb:file:%s/iter-%d-service", baseDir.getAbsolutePath(), testResult.getTestId()); } }