import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
-import org.apache.log4j.Logger;
import org.simantics.db.DatabaseUserAgent;
import org.simantics.db.Driver;
import org.simantics.db.Manager;
import org.simantics.db.exception.DatabaseException;
-import org.simantics.utils.FileUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class ServerManagerFactory {
- public static ServerManager create(String databaseId, String address) throws IOException, DatabaseException {
- Driver driver = Manager.getDriver(databaseId);
+ private static final Logger LOGGER = LoggerFactory.getLogger(ServerManagerFactory.class);
+
+ public static ServerManager create(String databaseDriverId, String address) throws IOException, DatabaseException {
+ Driver driver = Manager.getDriver(databaseDriverId);
if (driver == null)
- throw new DatabaseException("Driver for databaseId=" + databaseId + " not found!");
- System.out.println("ServerManagerFactory.create called with databaseId=" + databaseId + " and driver is " + driver.toString());
- DatabaseUserAgent agent = Manager.getUserAgent(databaseId);
+ throw new IllegalArgumentException("Database driver with ID " + databaseDriverId + " could not be found!");
+ LOGGER.info("ServerManagerFactory.create called with id {}, driver is {}.", databaseDriverId, driver);
+ DatabaseUserAgent agent = Manager.getUserAgent(databaseDriverId);
if (agent != null)
driver.setDatabaseUserAgent(address, agent);
return new ServerManager(driver);
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
} catch (InvocationTargetException e) {
- throw new RuntimeException(e);
+ throw new RuntimeException(e.getCause());
}
}
* @throws IOException
*/
private static void extractZip(InputStream zipInput, File dst) throws IOException {
- Logger myLogger = Logger.getLogger(FileUtils.class);
byte[] buf = new byte[8192];
ZipInputStream zis = new ZipInputStream(zipInput);
ZipEntry entry;
while (entry != null) {
// for each entry to be extracted
String name = entry.getName();
- myLogger.debug("Extracting "+name);
+ LOGGER.debug("Extracting "+name);
File file = new File(dst, name);
if (entry.isDirectory())