[cvs] expresso commit by lhamel: optimize the search for
permissions across
JCorporate Ltd
jcorp at jcorp2.servlets.net
Tue Nov 30 23:25:04 PST 2004
Log Message:
-----------
optimize the search for permissions across groups
Modified Files:
--------------
expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj:
SecuredDBObject.java
Revision Data
-------------
Index: SecuredDBObject.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj/SecuredDBObject.java,v
retrieving revision 1.55
retrieving revision 1.56
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj/SecuredDBObject.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj/SecuredDBObject.java -u -r1.55 -r1.56
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj/SecuredDBObject.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj/SecuredDBObject.java
@@ -443,7 +443,6 @@
}
}
- FastStringBuffer currentSecurity = new FastStringBuffer(16);
ValidValue sec = null;
if (cs != null) {
sec = (ValidValue) cs.getItem(CACHE_NAME,
@@ -484,6 +483,7 @@
DBObjSecurity oneSec = null;
String oneGroupName = null;
+ FastStringBuffer currentSecurity = new FastStringBuffer(6);
for (Enumeration e = groups.elements(); e.hasMoreElements();) {
oneGroupName = (String) e.nextElement();
@@ -511,6 +511,10 @@
/* if we already have the permission, don't add it again */
if (currentSecurity.toString().indexOf(newSec) < 0) {
currentSecurity.append(newSec);
+ if ( currentSecurity.length() >= 4 ) {
+ // we have all possible privileges; no need to loop further
+ break;
+ }
}
}
} /* for each group this user belongs to */
More information about the cvs
mailing list