Skip to content

Commit

Permalink
resolved conflict
Browse files Browse the repository at this point in the history
  • Loading branch information
Bryan Duxbury committed Aug 28, 2012
2 parents 0f470b4 + 44cb16c commit ad58af9
Showing 1 changed file with 29 additions and 17 deletions.
46 changes: 29 additions & 17 deletions src/java/com/rapleaf/jack/DatabaseConnection.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,42 +42,54 @@ public class DatabaseConnection extends BaseDatabaseConnection {

private static final long DEFAULT_EXPIRATION = 14400000; // 4 hours

public DatabaseConnection(String dbname_key) throws RuntimeException {
this(dbname_key, DEFAULT_EXPIRATION);
}

public DatabaseConnection(String dbname_key, long expiration) {
Map<String, String> db_info = null;
try {


private static Map<String, String> parseDbYaml(String dbKey) {
try {
// load database environment info, checking first in the jar and second in the filesystem
Map env_info = null;

InputStream envYamlResource =
this.getClass().getClassLoader().getResourceAsStream("config/environment.yml");
DatabaseConnection.class.getClassLoader().getResourceAsStream("config/environment.yml");
if (envYamlResource != null) {
env_info = (Map)YAML.load(new InputStreamReader((envYamlResource)));
} else {
env_info = (Map)YAML.load(new FileReader("config/environment.yml"));
}

String db_info_name = (String)env_info.get(dbname_key);
String db_info_name = (String)env_info.get(dbKey);

Map db_info = null;
InputStream dbYamlResource =
this.getClass().getClassLoader().getResourceAsStream("config/database.yml");
DatabaseConnection.class.getClassLoader().getResourceAsStream("config/database.yml");
if (dbYamlResource != null) {
db_info =
(Map<String, String>) ((Map) YAML.load(new InputStreamReader(dbYamlResource))).get(db_info_name);
} else {
Map db_info_container = (Map)YAML.load(new FileReader("config/database.yml"));
db_info = (Map<String, String>)db_info_container.get(db_info_name);
}
return db_info;
} catch (IOException e) {
throw new RuntimeException(e);
}
}

public DatabaseConnection(String dbname_key) throws RuntimeException {
this(dbname_key, DEFAULT_EXPIRATION);
}

public DatabaseConnection(String dbname_key, long expiration) {
this(parseDbYaml(dbname_key), expiration);
}

public DatabaseConnection(Map<String, String> dbConfig) throws RuntimeException {
this(dbConfig, DEFAULT_EXPIRATION);
}

public DatabaseConnection(Map<String, String> dbConfig, long expiration) {
// get server credentials from database info
String adapter = db_info.get("adapter");
String adapter = dbConfig.get("adapter");
String driver;
if (adapter.equals("mysql") || adapter.equals("mysql_replication")) {
driver = "mysql";
Expand All @@ -90,14 +102,14 @@ public DatabaseConnection(String dbname_key, long expiration) {
throw new IllegalArgumentException("Don't know the driver for adapter '" + adapter + "'!");
}
StringBuilder connectionStringBuilder = new StringBuilder("jdbc:");
connectionStringBuilder.append(driver).append("://").append(db_info.get("host"));
if (db_info.containsKey("port")) {
connectionStringBuilder.append(":").append(Integer.parseInt(db_info.get("port")));
connectionStringBuilder.append(driver).append("://").append(dbConfig.get("host"));
if (dbConfig.containsKey("port")) {
connectionStringBuilder.append(":").append(Integer.parseInt(dbConfig.get("port")));
}
connectionStringBuilder.append("/").append(db_info.get("database"));
connectionStringBuilder.append("/").append(dbConfig.get("database"));
connectionString = connectionStringBuilder.toString();
username = db_info.get("username");
password = db_info.get("password");
username = dbConfig.get("username");
password = dbConfig.get("password");

this.expiration = expiration;
updateExpiration();
Expand Down

0 comments on commit ad58af9

Please sign in to comment.