From f34bbf08253eb192d389bba90b4410565f3a2bcb Mon Sep 17 00:00:00 2001 From: ulrich <ulrich> Date: Tue, 19 May 2020 14:04:29 +0000 Subject: [PATCH] Verweis zurueck zur Anmeldung auf neues UI umgestellt --- src/java/de/uhilger/um/web/Initialiser.java | 30 +++++++++++++++++++++++++++++- 1 files changed, 29 insertions(+), 1 deletions(-) diff --git a/src/java/de/uhilger/um/web/Initialiser.java b/src/java/de/uhilger/um/web/Initialiser.java index 1895344..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"); @@ -131,6 +135,9 @@ User admin = new User(); admin.setId("admin"); admin.setPw("admin"); + admin.setFirstName("admin"); + admin.setLastName("admin"); + admin.setEmail("none"); UserMgr um = new UserMgr(); um.setServletContext(servletContext); um.createUser(admin); @@ -140,11 +147,26 @@ } } + /** + * 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; List<List<String>> list = pm.select(sql, Record.WITHOUT_BLOBS); - if(list.size() > 1) { + if(list != null && list.size() > 1) { istVorhanden = true; logger.fine("Datenbank ist vorhanden"); } @@ -179,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