package models;
import java.io.FileReader;
import java.io.Reader;
import java.util.logging.ErrorManager;
import java.util.logging.FileHandler;
import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.LogManager;
import java.util.logging.LogRecord;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;
import org.xmappr.*;
import configuration.Consts;
import configuration.TestConfiguration;
import configuration.Configuration;
/**
* The Class Java4Models.
*
*/
public class Java4Models {
private final static Logger LOGGER = Logger.getLogger(Java4Models.class.getName());
private static FileHandler fh = null;
/**
* The main method.
* Reads in konfiguration.xml and starts worker
*
* @param args the arguments
*/
public static void main(String[] args) {
// 0. Get Configs
// Inputfiles
// modelpath
// Outputfile
if (args.length != 1) {
writeHelp();
System.exit(1);
}
if (args[0].equals("--version")) {
writeHelp();
System.exit(1);
}
Reader reader = null;
Configuration config = null;
try {
reader = new FileReader(args[0]);
Xmappr xm = new Xmappr(Configuration.class);
config = (Configuration) xm.fromXML(reader);
} catch (Exception e) {
System.err.println("Fehler: Die Konfigurationsdatei "+ args[0] + " konnte nicht eingelesen werden.");
e.printStackTrace();
System.out.println();
writeHelp();
System.exit(1);
}
TestConfiguration tester = new TestConfiguration(config);
if (!tester.test()) {
writeHelp();
System.exit(1);
}
initLog(config.getLogfile());
Worker wrk = new Worker (config);
if ((wrk.init())
&& (wrk.process())
&& (wrk.finish())
)
LOGGER.log(Level.INFO,"Die Patienten wurden erfolgreich bearbeitet.");
else LOGGER.log(Level.SEVERE,"Das Programm wurde durch einen Fehler beendet.");
}
public static void writeHelp () {
System.out.println("Java4Models. Elsevier Health Analytics. Version: " + Consts.version);
System.out.println("Aufruf: java -jar java4models.jar