package org.curiosity.util;
import com.google.common.collect.ImmutableMap;
import org.curiosity.concept.Camera;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Map;
/**
* Static values and methods related to interfacing with the database.
*
* @author jherwitz
*/
public class DatabaseInvariants {
private DatabaseInvariants() { }
private static final Map<Camera, String> tableNamesByCamera = ImmutableMap.of(Camera.FrontHazcam, Camera.FrontHazcam.name(),
Camera.RearHazcam, Camera.RearHazcam.name(),
Camera.LeftNavcam, Camera.LeftNavcam.name(),
Camera.RightNavcam, Camera.RightNavcam.name(),
Camera.Mastcam, Camera.Mastcam.name());
private static final String databaseName = "images";
private static final String locationTableName = "Location";
public static String imageTableName(Camera camera) {
return tableNamesByCamera.get(camera);
}
public static String locationTableName() {
return locationTableName;
}
public static String databaseName() {
return databaseName;
}
public static Connection newConnection(String username, String password, String jdbc) {
try {
Connection conn = DriverManager.getConnection(jdbc, username, password);
conn.setAutoCommit(false);
return conn;
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}