From 80269a1b29d06eba178ee84cf3d7fcfa4f432b4a Mon Sep 17 00:00:00 2001 From: ulrich Date: Tue, 19 May 2020 11:33:41 +0000 Subject: [PATCH] Stile verfeinert --- src/java/de/uhilger/um/web/Initialiser.java | 25 +++++++++++++++++++++++++ 1 files changed, 25 insertions(+), 0 deletions(-) diff --git a/src/java/de/uhilger/um/web/Initialiser.java b/src/java/de/uhilger/um/web/Initialiser.java index 0feeecd..ca9db18 100644 --- a/src/java/de/uhilger/um/web/Initialiser.java +++ b/src/java/de/uhilger/um/web/Initialiser.java @@ -18,10 +18,13 @@ package de.uhilger.um.web; +import de.uhilger.baselink.GenericRecord; import de.uhilger.baselink.PersistenceManager; import de.uhilger.baselink.Record; import de.uhilger.um.api.UserMgr; import de.uhilger.um.daten.User; +import de.uhilger.um.daten.UserData; +import de.uhilger.um.daten.UserRole; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; @@ -124,6 +127,7 @@ PersistenceManager db = new PersistenceManager(); db.setDataSourceName(servletContext.getInitParameter(P_DSNAME)); servletContext.setAttribute(UserMgr.UM_DB, db); + initMapper(servletContext); Properties sql = (Properties) servletContext.getAttribute(UserMgr.UM_SQL_PROPERTIES); if(!dbVorhanden(db, sql.getProperty(SQL_DB_VORHANDEN))) { logger.info("Datenbank ist nicht vorhanden"); @@ -141,6 +145,21 @@ } catch(Exception ex) { logger.log(Level.INFO, ex.getMessage(), ex); } + } + + /** + * Mapper erzeugen + * @param servletContext der ServletContext dieser Webanwendung + */ + /* + TODO: das noch auf on demand anlegen: GenericRecord wird erst angelegt + wenn er erstmals benoetigt wird. Ggf. auch einen Mechanismus zum entfernen + laenger nicht benoetigter Mapper hinzufuegen + */ + private void initMapper(ServletContext servletContext) { + servletContext.setAttribute(UserMgr.MP_USER, new GenericRecord(User.class)); + servletContext.setAttribute(UserMgr.MP_USER_DATA, new GenericRecord(UserData.class)); + servletContext.setAttribute(UserMgr.MP_USER_ROLE, new GenericRecord(UserRole.class)); } @SuppressWarnings("rawtypes") @@ -182,6 +201,12 @@ @Override public void contextDestroyed(ServletContextEvent sce) { // destroy whatever + ServletContext ctx = sce.getServletContext(); + ctx.removeAttribute(UserMgr.MP_USER); + ctx.removeAttribute(UserMgr.MP_USER_DATA); + ctx.removeAttribute(UserMgr.MP_USER_ROLE); + ctx.removeAttribute(UserMgr.UM_SQL_PROPERTIES); + ctx.removeAttribute(UserMgr.UM_DB); } } -- Gitblit v1.9.3