|
|
|
|
@ -4,8 +4,10 @@ package org.leolo.nrdatad;
|
|
|
|
|
import org.apache.commons.cli.*; |
|
|
|
|
import org.apache.logging.log4j.LogManager; |
|
|
|
|
import org.apache.logging.log4j.Logger; |
|
|
|
|
import org.leolo.nrdatad.db.DatabaseManager; |
|
|
|
|
|
|
|
|
|
import java.io.IOException; |
|
|
|
|
import java.lang.reflect.InvocationTargetException; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Hello world! |
|
|
|
|
@ -14,6 +16,8 @@ import java.io.IOException;
|
|
|
|
|
public class App { |
|
|
|
|
|
|
|
|
|
Logger log = LogManager.getLogger(); |
|
|
|
|
|
|
|
|
|
private ConfigurationManager config = ConfigurationManager.getInstance(); |
|
|
|
|
public static void main( String[] args ) { |
|
|
|
|
Option confFile = Option.builder() |
|
|
|
|
.required(false) |
|
|
|
|
@ -38,23 +42,38 @@ public class App {
|
|
|
|
|
|
|
|
|
|
private void run(String configPath){ |
|
|
|
|
log.always().log("System Started."); |
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
ConfigurationManager.getInstance().loadConfiguration(configPath); |
|
|
|
|
config.loadConfiguration(configPath); |
|
|
|
|
} catch (IOException e) { |
|
|
|
|
log.atError().withThrowable(e).log("Unable to load confog file"); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
// log.atDebug()
|
|
|
|
|
if(ConfigurationManager.getInstance().getProperty("general.debug","false").equals("true")){ |
|
|
|
|
for(String key:ConfigurationManager.getInstance().stringPropertyNames()){ |
|
|
|
|
if(config.getProperty("general.debug","false").equals("true")){ |
|
|
|
|
for(String key:config.stringPropertyNames()){ |
|
|
|
|
if(key.endsWith("pwd")){ |
|
|
|
|
log.atDebug().log("Config: {} : ****({} chars)", key, ConfigurationManager.getInstance().getProperty(key).length()); |
|
|
|
|
log.atDebug().log("Config: {} : ****({} chars)", key, config.getProperty(key).length()); |
|
|
|
|
|
|
|
|
|
}else{ |
|
|
|
|
log.atDebug().log("Config: {} : {}", key, ConfigurationManager.getInstance().getProperty(key)); |
|
|
|
|
log.atDebug().log("Config: {} : {}", key, config.getProperty(key)); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
String databaseManagerClass = config.getProperty("db.manager","org.leolo.nrdatad.db.DatabaseManager"); |
|
|
|
|
log.atInfo().log("Creating database manager {}", databaseManagerClass); |
|
|
|
|
try { |
|
|
|
|
config.setDatabaseManager((DatabaseManager) Class.forName(databaseManagerClass).getConstructor().newInstance()); |
|
|
|
|
} catch ( |
|
|
|
|
InstantiationException|IllegalAccessException|InvocationTargetException| |
|
|
|
|
NoSuchMethodException|ClassNotFoundException e |
|
|
|
|
) { |
|
|
|
|
log.atFatal().log("Unable to create instance of {}", databaseManagerClass); |
|
|
|
|
System.exit(1); |
|
|
|
|
} catch (ClassCastException e){ |
|
|
|
|
log.atFatal().log("{} is not a DatabaseManager", databaseManagerClass); |
|
|
|
|
System.exit(1); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|