From 266ffb4ff5c2b5c51b3f105caa49ca456ba5a489 Mon Sep 17 00:00:00 2001
From: ulrich
Date: Sun, 03 Jan 2021 14:01:49 +0000
Subject: [PATCH] Font-Verweis in Profil umgestellt

---
 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