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