Author: tdraier
Date: Mon Aug 13 14:58:21 2007
New Revision: 18166
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18166&repname=
=3Djahia
Log:
optimized user cache key
Modified:
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/Con=
tainerHTMLCache.java
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cac=
he/ContainerHTMLCache.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/cache/ContainerHTMLCache.java&rev=
=3D18166&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/cache/Con=
tainerHTMLCache.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/cache/Con=
tainerHTMLCache.java Mon Aug 13 14:58:21 2007
@@ -125,27 +125,27 @@
=
public void rightsUpdated() {
SortedSet newgroups =3D new TreeSet(ServicesRegistry.getInstance()=
.getJahiaACLManagerService().getAllGroupsInAcl());
- if (!newgroups.equals(groups)) {
- groups =3D newgroups;
+ if (!newgroups.equals(groups.keySet())) {
+ groups =3D null;
flush();
}
+ users =3D new TreeSet(ServicesRegistry.getInstance().getJahiaACLMa=
nagerService().getAllUsersInAcl());
}
=
private String getUserCacheKey(JahiaUser user, int siteID) {
String usercachekey;
=
- Set users =3D new HashSet(ServicesRegistry.getInstance().getJahiaA=
CLManagerService().getAllUsersInAcl());
- SortedSet groups =3D getAllGroups();
+ Collection users =3D getAllUsers();
+ Collection groups =3D getAllGroups();
=
if (users.contains(user.getUserKey())) {
usercachekey =3D user.getUserKey();
} else {
StringBuffer b =3D new StringBuffer();
for (Iterator iterator =3D groups.iterator(); iterator.hasNext=
();) {
- String groupName =3D (String) iterator.next();
- JahiaGroup g =3D ServicesRegistry.getInstance().getJahiaGr=
oupManagerService().lookupGroup(groupName);
+ JahiaGroup g =3D (JahiaGroup) iterator.next();
if (g.getSiteID() =3D=3D siteID && g.isMember(user)) {
- b.append(groupName);
+ b.append(g.getGroupname());
b.append("|");
}
}
@@ -154,13 +154,27 @@
return usercachekey;
}
=
- private SortedSet groups;
+ private SortedMap groups;
+ private SortedSet users;
=
- private synchronized SortedSet getAllGroups() {
+ private synchronized Collection getAllGroups() {
if (groups =3D=3D null) {
- groups =3D new TreeSet(ServicesRegistry.getInstance().getJahia=
ACLManagerService().getAllGroupsInAcl());
+ groups =3D new TreeMap();
+ Collection names =3D ServicesRegistry.getInstance().getJahiaAC=
LManagerService().getAllGroupsInAcl();
+ for (Iterator iterator =3D names.iterator(); iterator.hasNext(=
);) {
+ String name =3D (String) iterator.next();
+ JahiaGroup g =3D ServicesRegistry.getInstance().getJahiaGr=
oupManagerService().lookupGroup(name);
+ groups.put(name,g);
+ }
}
- return groups;
+ return groups.values();
}
=
+ private synchronized Collection getAllUsers() {
+ if (users =3D=3D null) {
+ users =3D new TreeSet(ServicesRegistry.getInstance().getJahiaA=
CLManagerService().getAllUsersInAcl());
+ }
+ return users;
+
+ }
}
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list