You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by ag...@apache.org on 2006/04/19 18:31:11 UTC

svn commit: r395303 - /incubator/roller/branches/roller-newbackend/src/org/roller/business/hibernate/HibernateUserManagerImpl.java

Author: agilliland
Date: Wed Apr 19 09:31:09 2006
New Revision: 395303

URL: http://svn.apache.org/viewcvs?rev=395303&view=rev
Log:
make sure that items are removed from cache mapping is a lookup appears to be stale.


Modified:
    incubator/roller/branches/roller-newbackend/src/org/roller/business/hibernate/HibernateUserManagerImpl.java

Modified: incubator/roller/branches/roller-newbackend/src/org/roller/business/hibernate/HibernateUserManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/roller/branches/roller-newbackend/src/org/roller/business/hibernate/HibernateUserManagerImpl.java?rev=395303&r1=395302&r2=395303&view=diff
==============================================================================
--- incubator/roller/branches/roller-newbackend/src/org/roller/business/hibernate/HibernateUserManagerImpl.java (original)
+++ incubator/roller/branches/roller-newbackend/src/org/roller/business/hibernate/HibernateUserManagerImpl.java Wed Apr 19 09:31:09 2006
@@ -50,7 +50,10 @@
     
     private HibernatePersistenceStrategy strategy = null;
     
+    // cached mapping of weblogHandles -> weblogIds
     private Map weblogHandleToIdMap = new Hashtable();
+    
+    // cached mapping of userNames -> userIds
     private Map userNameToIdMap = new Hashtable();
     
     
@@ -380,12 +383,16 @@
         // NOTE: if we ever allow changing handles then this needs updating
         if(this.weblogHandleToIdMap.containsKey(handle)) {
             
-            log.debug("weblogHandleToId CACHE HIT - "+handle);
-            
             WebsiteData weblog = this.getWebsite((String) this.weblogHandleToIdMap.get(handle));
-            if(weblog != null && 
-                    (enabled == null || enabled.equals(weblog.getEnabled()))) {
-                return weblog;
+            if(weblog != null) {
+                // only return weblog if enabled status matches
+                if(enabled == null || enabled.equals(weblog.getEnabled())) {
+                    log.debug("weblogHandleToId CACHE HIT - "+handle);
+                    return weblog;
+                }
+            } else {
+                // mapping hit with lookup miss?  mapping must be old, remove it
+                this.weblogHandleToIdMap.remove(handle);
             }
         }
         
@@ -466,12 +473,16 @@
         // NOTE: if we ever allow changing usernames then this needs updating
         if(this.userNameToIdMap.containsKey(userName)) {
             
-            log.debug("userNameToIdMap CACHE HIT - "+userName);
-            
             UserData user = this.getUser((String) this.userNameToIdMap.get(userName));
-            if(user != null && 
-                    (enabled == null || enabled.equals(user.getEnabled()))) {
-                return user;
+            if(user != null) {
+                // only return the user if the enabled status matches
+                if(enabled == null || enabled.equals(user.getEnabled())) {
+                    log.debug("userNameToIdMap CACHE HIT - "+userName);
+                    return user;
+                }
+            } else {
+                // mapping hit with lookup miss?  mapping must be old, remove it
+                this.userNameToIdMap.remove(userName);
             }
         }