| | |
| | | /** 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 |
| | |
| | | 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); |
| | | } |
| | |
| | | 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) + "'"); |
| | |
| | | * |
| | | * @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 ------------ */ |
| | | |
| | |
| | | */ |
| | | 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"); |