ulrich
2016-12-27 6240cdca43495122d436de8488395bf7fd5eae12
src/java/de/uhilger/um/App.java
@@ -20,7 +20,8 @@
 * Hauptklasse der Anwendung Nutzerverwaltung
 * 
 * Hier wird u.a. geprüft, ob die Datenbank vorhanden ist und diese 
 * angelegt, falls nicht.
 * angelegt, falls nicht. Das SQL zur Anlage der Datenbank findet
 * sich in WEB-INF/create_database.sql
 * 
 * @author Ulrich Hilger
 */
@@ -37,12 +38,30 @@
  /** Name des Parameters, unter dem der Name der DataSource im Deployment Descritpor zu finden ist */
  public static final String P_DSNAME = "dsname";
  
  public static final String P_DIGESTER = "digester";
  /** Name des SQL-Befehls zum Pruefen, ob die Datenbank vorhanden ist */
  public static final String SQL_DB_VORHANDEN = "dbVorhanden";  
  
  /** Boolean-Konstante zur Kennzeichnung von Datenbankergebnissen mit/ohne Blobs */
  public static final boolean WITHOUT_BLOBS = false;
  /** Anwendungsweite Referenz zur Datenbank */
  private static PersistenceManager db;
  /** Anwendungsweite Referenz zu den SQL-Befehlen */
  private static Properties sql;
  private static Digester digester;
  private void initApp(ServletContext servletContext) {
    try {
      String digesterClassName = servletContext.getInitParameter(P_DIGESTER);
      digester = (Digester) Class.forName(digesterClassName).newInstance();
    } catch (Exception ex) {
      logger.log(Level.SEVERE, null, ex);
    }
  }
  
 /**
   * Ein Eigenschaften-Objekt mit den SQL-Statements initialisieren, 
@@ -89,6 +108,10 @@
   */
  public static String getSqlStatement(String id) {
    return sql.getProperty(id);
  }
  public static Digester getDigester() {
    return digester;
  }
  
  /* ----------------- Logik zur Datenbank-Erzeugung ------------ */
@@ -162,6 +185,7 @@
    ServletContext servletContext = sce.getServletContext();
    initSql(servletContext);
    initDb(servletContext);
    initApp(servletContext);
  }
  @Override