From 70a614a0d43b3a8a614e751df442aac1900aedba Mon Sep 17 00:00:00 2001
From: ulrich <ulrich@uhilger.de>
Date: Fri, 10 Feb 2017 06:55:52 +0000
Subject: [PATCH] SessionManager hinzugefuegt, abstrakte Api-Klasse hinzugefuegt

---
 src/java/de/uhilger/um/web/Initialiser.java |   19 +++++++++++++++++++
 1 files changed, 19 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..21b4420 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");
@@ -143,6 +147,21 @@
     }
   }
   
+  /**
+   * 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")
   private boolean dbVorhanden(PersistenceManager pm, String sql) {
     boolean istVorhanden = false;

--
Gitblit v1.9.3