Author: shuber
Date: Thu Sep 27 16:54:01 2007
New Revision: 18699

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18699&repname=
=3Djahia
Log:
- Correct cache usage so that we properly handle the case where an entry ha=
s expired between a call to containsKey() and get()
- Moved singleton creation for ServicesRegistry to static initializer

Modified:
    trunk/core/src/java/org/jahia/hibernate/manager/JahiaAclManager.java
    trunk/core/src/java/org/jahia/hibernate/manager/JahiaFieldsDataManager.=
java
    trunk/core/src/java/org/jahia/hibernate/manager/JahiaGroupManager.java
    trunk/core/src/java/org/jahia/hibernate/manager/JahiaUserManager.java
    trunk/core/src/java/org/jahia/registries/ServicesRegistry.java
    trunk/core/src/java/org/jahia/services/applications/ApplicationsManager=
ServletProvider.java
    trunk/core/src/java/org/jahia/services/pages/JahiaPageBaseService.java
    trunk/core/src/java/org/jahia/services/usermanager/JahiaUserManagerLDAP=
Provider.java

Modified: trunk/core/src/java/org/jahia/hibernate/manager/JahiaAclManager.j=
ava
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/hibernate/manager/JahiaAclManager.java&rev=3D18699&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/hibernate/manager/JahiaAclManager.java (o=
riginal)
+++ trunk/core/src/java/org/jahia/hibernate/manager/JahiaAclManager.java Th=
u Sep 27 16:54:01 2007
@@ -123,7 +123,10 @@
         Cache cache =3D checkCache();
         if(cache!=3Dnull) {
             if(cache.containsKey(groupName)){
-                return ((Boolean)cache.get(groupName)).booleanValue();
+                Boolean result =3D (Boolean)cache.get(groupName);
+                if (result !=3D null) {
+                    return result.booleanValue();
+                }
             }
             boolean groupUsedInAclEntries =3D dao.isGroupUsedInAclEntries(=
groupName);
             if(groupUsedInAclEntries) cache.put(groupName,Boolean.TRUE);

Modified: trunk/core/src/java/org/jahia/hibernate/manager/JahiaFieldsDataMa=
nager.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/hibernate/manager/JahiaFieldsDataManager.java&rev=3D18699&repname=
=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/hibernate/manager/JahiaFieldsDataManager.=
java (original)
+++ trunk/core/src/java/org/jahia/hibernate/manager/JahiaFieldsDataManager.=
java Thu Sep 27 16:54:01 2007
@@ -502,8 +502,12 @@
             Set set =3D new HashSet();
             set.add(FIELDIDSINCONTAINER_KEY_PREFIX+ctnid);
             GroupCacheKey key =3D new GroupCacheKey(FIELDIDSINCONTAINER_KE=
Y_PREFIX+ctnid+loadVersion+withTypes,set);
-            if(!compareMode && fieldCache.containsKey(key))
-                return (List) fieldCache.get(key);
+            if(!compareMode && fieldCache.containsKey(key)) {
+                List result =3D (List) fieldCache.get(key);
+                if (result !=3D null) {
+                    return result;
+                }
+            }
             if (loadVersion =3D=3D null) {
                 retVal =3D dao.findAllFieldsIdInContainer(new Integer(ctni=
d), withTypes);
             } else if (loadVersion.isStaging()) {

Modified: trunk/core/src/java/org/jahia/hibernate/manager/JahiaGroupManager=
.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/hibernate/manager/JahiaGroupManager.java&rev=3D18699&repname=3Djah=
ia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/hibernate/manager/JahiaGroupManager.java =
(original)
+++ trunk/core/src/java/org/jahia/hibernate/manager/JahiaGroupManager.java =
Thu Sep 27 16:54:01 2007
@@ -287,7 +287,10 @@
         }
         if (membership !=3D null) {
             if (membership.containsKey(name)) {
-                return (List) membership.get(name);
+                List result =3D (List) membership.get(name);
+                if (result !=3D null) {
+                    return result;
+                }
             }
             List list =3D accessDAO.getUserMembership(name);
             membership.put(name, list);

Modified: trunk/core/src/java/org/jahia/hibernate/manager/JahiaUserManager.=
java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/hibernate/manager/JahiaUserManager.java&rev=3D18699&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/hibernate/manager/JahiaUserManager.java (=
original)
+++ trunk/core/src/java/org/jahia/hibernate/manager/JahiaUserManager.java T=
hu Sep 27 16:54:01 2007
@@ -214,7 +214,9 @@
         if (getCache() !=3D null) {
             if (cache.containsKey("m"+siteID+"_"+username)) {
                 user =3D (JahiaUser) cache.get("m"+siteID+"_"+username);
-                return user;
+                if (user !=3D null) {
+                    return user;
+                }
             }
         }
         String name =3D userDAO.getMemberNameInSite(new Integer(siteID), u=
sername);

Modified: trunk/core/src/java/org/jahia/registries/ServicesRegistry.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/registries/ServicesRegistry.java&rev=3D18699&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/registries/ServicesRegistry.java (origina=
l)
+++ trunk/core/src/java/org/jahia/registries/ServicesRegistry.java Thu Sep =
27 16:54:01 2007
@@ -92,7 +92,7 @@
         org.apache.log4j.Logger.getLogger(ServicesRegistry.class);
 =

     /** It's a Singleton **/
-    private static ServicesRegistry theObject =3D null;
+    private static ServicesRegistry theObject =3D new ServicesRegistry();
 =

 =

     // Jahia Files Services
@@ -228,13 +228,6 @@
      * @return  the unique instance of this class
      */
     public static ServicesRegistry getInstance () {
-        if (theObject =3D=3D null) {
-            synchronized (ServicesRegistry.class) {
-                if (theObject =3D=3D null) {
-                    theObject =3D new ServicesRegistry();
-                }
-            }
-        }
         return theObject;
     }
 =


Modified: trunk/core/src/java/org/jahia/services/applications/ApplicationsM=
anagerServletProvider.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/applications/ApplicationsManagerServletProvider.java&rev=
=3D18699&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/applications/ApplicationsManager=
ServletProvider.java (original)
+++ trunk/core/src/java/org/jahia/services/applications/ApplicationsManager=
ServletProvider.java Thu Sep 27 16:54:01 2007
@@ -159,7 +159,9 @@
             if (registry.containsKey(new Integer (appID))) {
                 app =3D (ApplicationBean) registry.get(new
                     Integer(appID));
-                return app;
+                if (app !=3D null) {
+                    return app;
+                }
             }
                 // try to load from db
             app =3D applicationManager.getApplicationDefinition (appID);

Modified: trunk/core/src/java/org/jahia/services/pages/JahiaPageBaseService=
.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/pages/JahiaPageBaseService.java&rev=3D18699&repname=3Djah=
ia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/pages/JahiaPageBaseService.java =
(original)
+++ trunk/core/src/java/org/jahia/services/pages/JahiaPageBaseService.java =
Thu Sep 27 16:54:01 2007
@@ -1225,9 +1225,12 @@
                                      String opMode, JahiaUser user)
             throws JahiaException {
         GroupCacheKey groupCacheKey =3D new GroupCacheKey("PAGE_ID"+pageID=
+ "-"+loadRequest+ "-"+opMode+ "-"+user.getUserKey(), new HashSet());
-        if(mContentPagePathCache.containsKey(groupCacheKey))
-            return (Vector) mContentPagePathCache.get(groupCacheKey);
-        =

+        if (mContentPagePathCache.containsKey(groupCacheKey)) {
+            Vector result =3D (Vector) mContentPagePathCache.get(groupCach=
eKey);
+            if (result !=3D null) {
+                return result;
+            }
+        }
         Vector path =3D new Vector();
         ContentPage contentPage =3D lookupContentPage (pageID, true);
         if (contentPage !=3D null) {

Modified: trunk/core/src/java/org/jahia/services/usermanager/JahiaUserManag=
erLDAPProvider.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/usermanager/JahiaUserManagerLDAPProvider.java&rev=3D18699=
&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/usermanager/JahiaUserManagerLDAP=
Provider.java (original)
+++ trunk/core/src/java/org/jahia/services/usermanager/JahiaUserManagerLDAP=
Provider.java Thu Sep 27 16:54:01 2007
@@ -911,7 +911,10 @@
         logger.debug ("Lookup user from dn " + dn);
         JahiaLDAPUser user =3D null;
         if (mUserCache.containsKey("d"+dn)) {
-            return (JahiaLDAPUser) mUserCache.get("d"+dn);
+            JahiaLDAPUser result =3D (JahiaLDAPUser) mUserCache.get("d"+dn=
);
+            if (result !=3D null) {
+                return result;
+            }
         }
         try {
             Attributes attributes =3D getUser (getPublicContext(false), dn=
);

_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to