Author: shuber
Date: Thu Sep 27 16:26:47 2007
New Revision: 18697

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18697&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:
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaAclManager.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaFieldsDataManager.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaGroupManager.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaUserManager.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/registries/Service=
sRegistry.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/applicati=
ons/ApplicationsManagerServletProvider.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/pages/Jah=
iaPageBaseService.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag=
er/JahiaUserManagerLDAPProvider.java

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/ma=
nager/JahiaAclManager.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/hibernate/manager/JahiaAclManager.java&rev=
=3D18697&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaAclManager.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaAclManager.java Thu Sep 27 16:26:47 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: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/ma=
nager/JahiaFieldsDataManager.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/hibernate/manager/JahiaFieldsDataManager.ja=
va&rev=3D18697&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaFieldsDataManager.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaFieldsDataManager.java Thu Sep 27 16:26:47 2007
@@ -511,8 +511,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: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/ma=
nager/JahiaGroupManager.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/hibernate/manager/JahiaGroupManager.java&re=
v=3D18697&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaGroupManager.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaGroupManager.java Thu Sep 27 16:26:47 2007
@@ -286,7 +286,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: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/ma=
nager/JahiaUserManager.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/hibernate/manager/JahiaUserManager.java&rev=
=3D18697&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaUserManager.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/manager/=
JahiaUserManager.java Thu Sep 27 16:26:47 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: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/registries/S=
ervicesRegistry.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/registries/ServicesRegistry.java&rev=3D1869=
7&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/registries/Service=
sRegistry.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/registries/Service=
sRegistry.java Thu Sep 27 16:26:47 2007
@@ -94,7 +94,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
@@ -235,11 +235,6 @@
      * @return  the unique instance of this class
      */
     public static ServicesRegistry getInstance () {
-        if (theObject =3D=3D null) {
-            synchronized (ServicesRegistry.class) {
-                theObject =3D new ServicesRegistry();
-            }
-        }
         return theObject;
     }
 =


Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/app=
lications/ApplicationsManagerServletProvider.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/applications/ApplicationsManagerSe=
rvletProvider.java&rev=3D18697&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/applicati=
ons/ApplicationsManagerServletProvider.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/applicati=
ons/ApplicationsManagerServletProvider.java Thu Sep 27 16:26:47 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: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/pag=
es/JahiaPageBaseService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/pages/JahiaPageBaseService.java&re=
v=3D18697&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/pages/Jah=
iaPageBaseService.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/pages/Jah=
iaPageBaseService.java Thu Sep 27 16:26:47 2007
@@ -1224,8 +1224,12 @@
         GroupCacheKey groupCacheKey =3D new GroupCacheKey("PAGE_ID" + page=
ID
                 + "-" + 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: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/use=
rmanager/JahiaUserManagerLDAPProvider.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/usermanager/JahiaUserManagerLDAPPr=
ovider.java&rev=3D18697&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag=
er/JahiaUserManagerLDAPProvider.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/usermanag=
er/JahiaUserManagerLDAPProvider.java Thu Sep 27 16:26:47 2007
@@ -910,7 +910,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