From 6240cdca43495122d436de8488395bf7fd5eae12 Mon Sep 17 00:00:00 2001
From: ulrich <not disclosed>
Date: Tue, 27 Dec 2016 16:39:26 +0000
Subject: [PATCH] Tomcat-spezifischen Digester in eine Schnittstelle ausgelagert und per Deployment Descriptor konfigurierbar eingebunden

---
 src/java/de/uhilger/um/App.java |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/src/java/de/uhilger/um/App.java b/src/java/de/uhilger/um/App.java
index 25507fd..61c44d7 100644
--- a/src/java/de/uhilger/um/App.java
+++ b/src/java/de/uhilger/um/App.java
@@ -38,6 +38,8 @@
   /** 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";  
   
@@ -49,6 +51,17 @@
   
   /** 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, 
@@ -95,6 +108,10 @@
    */
   public static String getSqlStatement(String id) {
     return sql.getProperty(id);
+  }
+  
+  public static Digester getDigester() {
+    return digester;
   }
   
   /* ----------------- Logik zur Datenbank-Erzeugung ------------ */
@@ -168,6 +185,7 @@
     ServletContext servletContext = sce.getServletContext();
     initSql(servletContext);
     initDb(servletContext);
+    initApp(servletContext);
   }
 
   @Override

--
Gitblit v1.9.3