ulrich
2016-12-27 35c04d9ae69fd2ddb3c8f8105b6aaa83aed2c61c
src/java/de/uhilger/um/App.java
@@ -36,23 +36,18 @@
  public static final String SQL_PROPERTIES_NAME = "sql.properties";
  /** 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;
  //private static PersistenceManager db;
  
  /** Anwendungsweite Referenz zu den SQL-Befehlen */
  private static Properties sql;
  //private static Properties sql;
  
  /** die Klasse, die von der Nutzerverwaltung zum Verschlüsseln verwendet wird */
  private static Digester digester;
  //private static Digester digester;
  
  /**
   * Diese Webanwendung initialisieren, also z.B. Elemente instantiieren, die
@@ -64,8 +59,8 @@
    try {
      initSql(servletContext);
      initDb(servletContext);
      String digesterClassName = servletContext.getInitParameter(P_DIGESTER);
      digester = (Digester) Class.forName(digesterClassName).newInstance();
      //String digesterClassName = servletContext.getInitParameter(P_DIGESTER);
      //digester = (Digester) Class.forName(digesterClassName).newInstance();
    } catch (Exception ex) {
      logger.log(Level.SEVERE, null, ex);
    }
@@ -85,7 +80,7 @@
      File basis = new File(this.getClass().getResource("/").toURI());
      File sqlFile = new File(basis.getParentFile(), SQL_PROPERTIES_NAME);
      logger.fine("lese SQL-Eigenschaften von " + sqlFile.getAbsolutePath());
      sql = new Properties();
      Properties sql = new Properties();
      sql.loadFromXML(new FileInputStream(sqlFile));
      servletContext.setAttribute(UserMgr.UM_SQL_PROPERTIES, sql);
      logger.fine("Abfrage dbVorhanden='" + sql.getProperty(SQL_DB_VORHANDEN) + "'");
@@ -102,16 +97,20 @@
   * 
   * @return das Zugriffsobjekt zur Datenbank dieser Webanwendung
   */
  /*
  public static PersistenceManager getDatabase() {
    if(db == null) {
      db = new PersistenceManager();
    }
    return db;
  }
  */
  
  /*
  public static Digester getDigester() {
    return digester;
  }
  */
  
  /* ----------------- Logik zur Datenbank-Erzeugung ------------ */
  
@@ -137,8 +136,9 @@
   */
  private void initDb(ServletContext servletContext) {
    try {
      db = new PersistenceManager();
      PersistenceManager db = new PersistenceManager();
      db.setDataSourceName(servletContext.getInitParameter(P_DSNAME));
      servletContext.setAttribute(UserMgr.UM_DB, db);
      Properties sql = (Properties) servletContext.getAttribute(UserMgr.UM_SQL_PROPERTIES);
      if(!dbVorhanden(db, sql.getProperty(SQL_DB_VORHANDEN))) {
        logger.info("Datenbank ist nicht vorhanden");