[Yanel-commits] rev 60816 - public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/resources

michi at wyona.com michi at wyona.com
Tue Sep 20 23:41:24 CEST 2011


Author: michi
Date: 2011-09-20 23:41:24 +0200 (Tue, 20 Sep 2011)
New Revision: 60816

Modified:
   public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/resources/BasicXMLResource.java
Log:
check whether user actually exists, because it might have been deleted and is just referenced by an existing out-dated session

Modified: public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/resources/BasicXMLResource.java
===================================================================
--- public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/resources/BasicXMLResource.java	2011-09-20 13:18:27 UTC (rev 60815)
+++ public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/resources/BasicXMLResource.java	2011-09-20 21:41:24 UTC (rev 60816)
@@ -679,13 +679,17 @@
         String language = getRequestedLanguage();
         String userID = identity.getUsername();
         if (userID != null) {
-            String userLanguage = getRealm().getIdentityManager().getUserManager().getUser(userID).getLanguage();
-            //log.debug("User language: " + userLanguage);
-            if(userLanguage != null) {
-                language = userLanguage;
-                log.debug("Use user profile language: " + language);
+            if (getRealm().getIdentityManager().getUserManager().existsUser(userID)) { // INFO: It might be possible that a user ID is still referenced by a session, but has been deleted "persistently" in the meantime
+                String userLanguage = getRealm().getIdentityManager().getUserManager().getUser(userID).getLanguage();
+                //log.debug("User language: " + userLanguage);
+                if(userLanguage != null) {
+                    language = userLanguage;
+                    log.debug("Use user profile language: " + language);
+                } else {
+                    log.debug("Use requested language: " + language);
+                }
             } else {
-                log.debug("Use requested language: " + language);
+                log.warn("No such user '" + userID + "', hence use requested language: " + language);
             }
         }
         return language;



More information about the Yanel-commits mailing list