[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