package de.uhilger.um.pub; import de.uhilger.baselink.PersistenceManager; import de.uhilger.um.api.Api; import static de.uhilger.um.api.UserMgr.MP_USER_DATA; import static de.uhilger.um.api.UserMgr.SQL_GET_USER_DATA; import static de.uhilger.um.api.UserMgr.WITHOUT_BLOBS; import de.uhilger.um.daten.UserData; import java.security.Principal; import java.util.List; /** * */ public class SessionManager extends Api { // /um/pub?c=de.uhilger.um.pub.SessionManager&m=getSessionUser public UserData getSessionUser() { UserData userData = new UserData(); userData.setFirstName("nicht angemeldet"); userData.setLastName("nicht angemeldet"); userData.setId("nicht angemeldet"); userData.setEmail("nicht angemeldet"); Object p = getRequest().getUserPrincipal(); if(p instanceof Principal) { String id = ((Principal) p).getName(); PersistenceManager pm = getDb(); List userDataList = getDb().select(getSql(SQL_GET_USER_DATA), getMapper(MP_USER_DATA), WITHOUT_BLOBS, id); if(userDataList != null && userDataList.size() > 0) { Object o = userDataList.get(0); if(o instanceof UserData) { userData = (UserData) o; } } } return userData; } }