Author: bpapez
Date: Wed Jan 9 00:22:21 2008
New Revision: 19476
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D19476&repname=
=3Djahia
Log:
MAN-30: implement lazy loading of DB group members
Modified:
branches/JAHIA-4-1-BRANCH/etc/config/jahia.skeleton
branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/usermanager/Jahia=
DBGroup.java
branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/usermanager/Jahia=
Group.java
branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/usermanager/Jahia=
GroupManagerDBProvider.java
branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/usermanager/Jahia=
LDAPGroup.java
branches/JAHIA-4-1-BRANCH/src/java/org/jahia/settings/SettingsBean.java
Modified: branches/JAHIA-4-1-BRANCH/etc/config/jahia.skeleton
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-4-1-BR=
ANCH/etc/config/jahia.skeleton&rev=3D19476&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-4-1-BRANCH/etc/config/jahia.skeleton (original)
+++ branches/JAHIA-4-1-BRANCH/etc/config/jahia.skeleton Wed Jan 9 00:22:21=
2008
@@ -343,7 +343,7 @@
pageCounterIncrementActivated =3D false
=
# This variable controls whether the homepage container lists, containers
-# and fields are preloaded on every page. This is a performance improvement
+# and fields are preloaded on every page request. This is a performance im=
provement
# if lists or fields from the homepage are displayed on every page (like m=
enu).
preloadHomepageFieldsActivated =3D true
=
@@ -355,6 +355,10 @@
# generating pages (in heavy load situations)
pageGenerationWaitTime =3D 120000
=
+# This variable controls whether all the members of a user group (in Jahia=
DB
+# not LDAP) are preloaded, when the group is loaded.
+preloadDBGroupMembersActivated =3D true
+
######################################################################
### Cluster settings ################################################
######################################################################
Modified: branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/usermanager=
/JahiaDBGroup.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-4-1-BR=
ANCH/src/java/org/jahia/services/usermanager/JahiaDBGroup.java&rev=3D19476&=
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-4-1-BRANCH/src/java/org/jahia/services/usermanager/Jahia=
DBGroup.java (original)
+++ branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/usermanager/Jahia=
DBGroup.java Wed Jan 9 00:22:21 2008
@@ -32,8 +32,10 @@
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Enumeration;
+import java.util.HashSet;
import java.util.Hashtable;
import java.util.Properties;
+import java.util.Set;
=
/**
* This class represents the Jahia native database based user group.
@@ -56,6 +58,10 @@
=
/** Group additional parameters. */
private Properties mProperties =3D new Properties ();
+ =
+ private boolean preloadedGroups;
+
+ private Set notMembers =3D new HashSet();
=
//--------------------------------------------------------------------=
-----
/**
@@ -69,9 +75,10 @@
* Service. If any of this services can't be ac=
cessed, a
* JahiaException is thrown.
* @param siteID The site id
+ * @param preloadedGroups
*/
protected JahiaDBGroup (int id, String groupname, String groupKey, int=
siteID,
- Hashtable members, Properties properties)
+ Hashtable members, Properties properties, bool=
ean preloadedGroups)
throws JahiaException {
ServicesRegistry registry =3D ServicesRegistry.getInstance ();
if (registry =3D=3D null) {
@@ -92,7 +99,7 @@
if (properties !=3D null) {
mProperties =3D properties;
}
-
+ this.preloadedGroups =3D preloadedGroups;
}
=
=
@@ -439,4 +446,24 @@
return JahiaGroupManagerDBProvider.PROVIDER_NAME;
}
=
+ public boolean isMember(Principal principal) {
+ if (!(principal instanceof JahiaDBUser) && !(principal instanceof =
JahiaDBGroup)) {
+ return false;
+ } =
+ if (super.isMember(principal)) {
+ return true;
+ }
+ if (!preloadedGroups && principal instanceof JahiaUser) {
+ if (notMembers.contains(principal.getName())) {
+ return false;
+ }
+ if (JahiaGroupManagerDBProvider.getInstance().getUserMembershi=
p((JahiaUser)principal).contains(getGroupKey())) {
+ mMembers.put(principal.getName(), principal);
+ return true;
+ } else {
+ notMembers.add(principal.getName());
+ }
+ }
+ return false;
+ } =
}
Modified: branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/usermanager=
/JahiaGroup.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-4-1-BR=
ANCH/src/java/org/jahia/services/usermanager/JahiaGroup.java&rev=3D19476&re=
pname=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-4-1-BRANCH/src/java/org/jahia/services/usermanager/Jahia=
Group.java (original)
+++ branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/usermanager/Jahia=
Group.java Wed Jan 9 00:22:21 2008
@@ -269,7 +269,9 @@
if (member !=3D null) {
=
// check if the member is the one we are looking for
- if (member.getName ().equals (principal.getName ())) {
+ if (member.getName ().equals (principal.getName ())
+ || (member.getName().startsWith(JahiaUserManagerSe=
rvice.GUEST_USERNAME+":")
+ && principal.getName().startsWith(JahiaUserMan=
agerService.GUEST_USERNAME+":"))) {
result =3D true;
} else {
=
Modified: branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/usermanager=
/JahiaGroupManagerDBProvider.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-4-1-BR=
ANCH/src/java/org/jahia/services/usermanager/JahiaGroupManagerDBProvider.ja=
va&rev=3D19476&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-4-1-BRANCH/src/java/org/jahia/services/usermanager/Jahia=
GroupManagerDBProvider.java (original)
+++ branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/usermanager/Jahia=
GroupManagerDBProvider.java Wed Jan 9 00:22:21 2008
@@ -9,17 +9,20 @@
* @version 1.0
*/
=
+import org.jahia.bin.Jahia;
import org.jahia.data.JahiaDBDOMObject;
import org.jahia.data.JahiaDOMObject;
import org.jahia.exceptions.JahiaException;
import org.jahia.registries.ServicesRegistry;
import org.jahia.services.acl.JahiaACLManagerService;
+import org.jahia.services.database.ConnectionDispenser;
import org.jahia.services.database.JahiaIncrementorsDBService;
import org.jahia.services.sites.JahiaSite;
import org.jahia.services.sites.JahiaSiteTools;
import org.jahia.utils.JahiaTools;
=
import java.sql.Connection;
+import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
@@ -148,7 +151,7 @@
String groupKey =3D name + ":" + String.valueOf (siteID);
try {
group =3D new JahiaDBGroup (groupID, name, groupKey, siteID, n=
ull,
- properties);
+ properties, false);
} catch (JahiaException ex) {
logger.error ("Could not create group [" + name + "] in create=
Group()", ex);
return null;
@@ -296,8 +299,7 @@
Set groupKeys =3D new HashSet ();
=
// Get a database connection
- Connection dbConn =3D org.jahia.services.database.ConnectionDispen=
ser.
- getConnection ();
+ Connection dbConn =3D ConnectionDispenser.getConnection ();
if (dbConn =3D=3D null) {
return result;
}
@@ -572,19 +574,17 @@
Vector result =3D new Vector ();
=
// Get a database connection
- Connection dbConn =3D org.jahia.services.database.ConnectionDispen=
ser.
- getConnection ();
+ Connection dbConn =3D ConnectionDispenser.getConnection ();
if (dbConn =3D=3D null) {
return result;
}
=
- Statement statement =3D null;
+ PreparedStatement statement =3D null;
try {
- statement =3D dbConn.createStatement ();
+ statement =3D dbConn.prepareStatement ("SELECT name_jahia_grps=
FROM jahia_grps");
if (statement !=3D null) {
// Get the basic user data
- String query =3D "SELECT name_jahia_grps FROM jahia_grps";
- ResultSet rs =3D statement.executeQuery (query);
+ ResultSet rs =3D statement.executeQuery ();
if (rs !=3D null) {
String name;
while (rs.next ()) {
@@ -618,21 +618,18 @@
Vector result =3D new Vector ();
=
// Get a database connection
- Connection dbConn =3D org.jahia.services.database.ConnectionDispen=
ser.
- getConnection ();
+ Connection dbConn =3D ConnectionDispenser.getConnection ();
if (dbConn =3D=3D null) {
return result;
}
=
- Statement statement =3D null;
+ PreparedStatement statement =3D null;
try {
- statement =3D dbConn.createStatement ();
+ statement =3D dbConn.prepareStatement ("SELECT name_jahia_grps=
FROM jahia_grps where siteid_jahia_grps=3D?");
if (statement !=3D null) {
// Get the basic user data
- String query =3D
- "SELECT name_jahia_grps FROM jahia_grps where site=
id_jahia_grps=3D" +
- siteID;
- ResultSet rs =3D statement.executeQuery (query);
+ statement.setInt(1, siteID);
+ ResultSet rs =3D statement.executeQuery ();
if (rs !=3D null) {
String name;
while (rs.next ()) {
@@ -667,21 +664,18 @@
Vector result =3D new Vector ();
=
// Get a database connection
- Connection dbConn =3D org.jahia.services.database.ConnectionDispen=
ser.
- getConnection ();
+ Connection dbConn =3D ConnectionDispenser.getConnection ();
if (dbConn =3D=3D null) {
return result;
}
=
- Statement statement =3D null;
+ PreparedStatement statement =3D null;
try {
- statement =3D dbConn.createStatement ();
+ statement =3D dbConn.prepareStatement ("SELECT key_jahia_grps =
FROM jahia_grps where siteid_jahia_grps=3D?");
if (statement !=3D null) {
// Get the basic user data
- String query =3D
- "SELECT key_jahia_grps FROM jahia_grps where sitei=
d_jahia_grps=3D" +
- siteID;
- ResultSet rs =3D statement.executeQuery (query);
+ statement.setInt(1, siteID);
+ ResultSet rs =3D statement.executeQuery ();
if (rs !=3D null) {
String name;
while (rs.next ()) {
@@ -715,19 +709,17 @@
Vector result =3D new Vector ();
=
// Get a database connection
- Connection dbConn =3D org.jahia.services.database.ConnectionDispen=
ser.
- getConnection ();
+ Connection dbConn =3D ConnectionDispenser.getConnection ();
if (dbConn =3D=3D null) {
return result;
}
=
- Statement statement =3D null;
+ PreparedStatement statement =3D null;
try {
- statement =3D dbConn.createStatement ();
+ statement =3D dbConn.prepareStatement ("SELECT key_jahia_grps =
FROM jahia_grps ");
if (statement !=3D null) {
// Get the basic user data
- String query =3D "SELECT key_jahia_grps FROM jahia_grps ";
- ResultSet rs =3D statement.executeQuery (query);
+ ResultSet rs =3D statement.executeQuery ();
if (rs !=3D null) {
String name;
while (rs.next ()) {
@@ -768,25 +760,20 @@
Vector result =3D new Vector ();
=
// Get a database connection
- Connection dbConn =3D org.jahia.services.database.ConnectionDispen=
ser.
- getConnection ();
+ Connection dbConn =3D ConnectionDispenser.getConnection ();
if (dbConn =3D=3D null) {
return result;
}
=
- Statement statement =3D null;
+ PreparedStatement statement =3D null;
=
try {
- statement =3D dbConn.createStatement ();
+ statement =3D dbConn.prepareStatement ("SELECT id_jahia_grps F=
ROM jahia_grp_access WHERE id_jahia_member=3D? AND membertype_grp_access=3D=
?");
if (statement !=3D null) {
- StringBuffer query =3D new StringBuffer (
- "SELECT id_jahia_grps FROM jahia_grp_access");
- query.append (" WHERE id_jahia_member=3D'");
- query.append (user.getName ());
- query.append ("' AND membertype_grp_access=3D");
- query.append (mUSERTYPE);
+ statement.setString(1, user.getName ());
+ statement.setInt(2, mUSERTYPE);
=
- ResultSet rs =3D statement.executeQuery (query.toString ()=
);
+ ResultSet rs =3D statement.executeQuery ();
if (rs !=3D null) {
while (rs.next ()) {
String name =3D rs.getString ("id_jahia_grps");
@@ -876,8 +863,7 @@
// write access.
private boolean makeQuery (String query) {
// Get a database connection
- Connection dbConn =3D org.jahia.services.database.ConnectionDispen=
ser.
- getConnection ();
+ Connection dbConn =3D ConnectionDispenser.getConnection ();
if (dbConn =3D=3D null) {
return false;
}
@@ -907,8 +893,7 @@
private boolean addGroupIntoDB (int id, String groupname, String group=
Key,
int siteID, Properties properties) {
// Get a database connection
- Connection dbConn =3D org.jahia.services.database.ConnectionDispen=
ser.
- getConnection ();
+ Connection dbConn =3D ConnectionDispenser.getConnection ();
if (dbConn =3D=3D null) {
return false;
}
@@ -964,49 +949,44 @@
Properties properties =3D new Properties ();
=
// Get a database connection
- Connection dbConn =3D org.jahia.services.database.ConnectionDispen=
ser.
- getConnection ();
+ Connection dbConn =3D ConnectionDispenser.getConnection ();
if (dbConn =3D=3D null) {
return null;
}
=
// execute the SELECT query
- Statement statement =3D null;
+ PreparedStatement statement =3D null;
String query =3D "";
try {
- statement =3D dbConn.createStatement ();
+ statement =3D dbConn.prepareStatement ("SELECT id_jahia_grps, =
name_jahia_grps,siteid_jahia_grps FROM jahia_grps WHERE key_jahia_grps=3D?"=
);
if (statement !=3D null) {
- query =3D "SELECT id_jahia_grps, name_jahia_grps,siteid_ja=
hia_grps FROM jahia_grps WHERE key_jahia_grps=3D'" +
- groupKey + "'";
- ResultSet rs =3D statement.executeQuery (query);
- if (rs !=3D null) {
- if (rs.next ()) {
- int id =3D rs.getInt ("id_jahia_grps");
- String name =3D rs.getString ("name_jahia_grps");
- int siteID =3D rs.getInt ("siteid_jahia_grps");
- Hashtable members =3D getGroupMembers (groupKey);
+ statement.setString(1, groupKey);
+ ResultSet rs =3D statement.executeQuery();
+ if (rs !=3D null && rs.next()) {
+ int id =3D rs.getInt("id_jahia_grps");
+ String name =3D rs.getString("name_jahia_grps");
+ int siteID =3D rs.getInt("siteid_jahia_grps");
+ Hashtable members =3D null;
+ if (Jahia.getSettings().isPreloadDBGroupMembersActivat=
ed()) {
+ members =3D getGroupMembers(groupKey);
+ } else {
+ members =3D new Hashtable();
+ }
=
- try {
- properties =3D
- JahiaGroupDBUtils.getInstance ().getGr=
oupProperties (id,
- PROVIDER_NAME, groupKey);
- } catch (JahiaException je) {
- logger.error (
- "Error while inserting group " + id + =
" properties into database",
- je);
- }
+ try {
+ properties =3D JahiaGroupDBUtils.getInstance().get=
GroupProperties(id, PROVIDER_NAME, groupKey);
+ } catch (JahiaException je) {
+ logger.error("Error while inserting group " + id +=
" properties into database", je);
+ }
=
- try {
- group =3D new JahiaDBGroup (id, name, groupKey=
, siteID,
- members, properties);
- if (group !=3D null) {
- logger.debug ("Group [" + groupKey + "/" +=
name +
- "] loaded from database");
- }
- } catch (JahiaException ex) {
- logger.error ("Could not create group [" + nam=
e +
- "] in lookupGroupInDB()", ex);
+ try {
+ group =3D new JahiaDBGroup(id, name, groupKey, sit=
eID, members, properties, Jahia
+ .getSettings().isPreloadDBGroupMembersActi=
vated());
+ if (group !=3D null && logger.isDebugEnabled()) {
+ logger.debug("Group [" + groupKey + "/" + name=
+ "] loaded from database");
}
+ } catch (JahiaException ex) {
+ logger.error("Could not create group [" + name + "=
] in lookupGroupInDB()", ex);
}
}
}
@@ -1021,54 +1001,51 @@
return group;
}
=
- //--------------------------------------------------------------------=
------
+ // -------------------------------------------------------------------=
-------
private JahiaDBGroup lookupGroupInDB (int siteID, String name) {
JahiaDBGroup group =3D null;
Properties properties =3D new Properties ();
=
// Get a database connection
- Connection dbConn =3D org.jahia.services.database.ConnectionDispen=
ser.
- getConnection ();
+ Connection dbConn =3D ConnectionDispenser.getConnection ();
if (dbConn =3D=3D null) {
return null;
}
=
// execute the SELECT query
- Statement statement =3D null;
+ PreparedStatement statement =3D null;
String query =3D "";
try {
- statement =3D dbConn.createStatement ();
+ statement =3D dbConn.prepareStatement ("SELECT id_jahia_grps, =
key_jahia_grps FROM jahia_grps WHERE name_jahia_grps=3D? and siteid_jahia_g=
rps=3D?");
if (statement !=3D null) {
- query =3D
- "SELECT id_jahia_grps, key_jahia_grps FROM jahia_g=
rps WHERE name_jahia_grps=3D'" +
- name + "' and siteid_jahia_grps=3D" + siteID;
- ResultSet rs =3D statement.executeQuery (query);
- if (rs !=3D null) {
- if (rs.next ()) {
- int groupID =3D rs.getInt ("id_jahia_grps");
- String groupKey =3D rs.getString ("key_jahia_grps"=
);
- Hashtable members =3D getGroupMembers (groupKey);
+ statement.setString(1, name);
+ statement.setInt(2, siteID);
+ ResultSet rs =3D statement.executeQuery ();
+ if (rs !=3D null && rs.next()) {
+ int groupID =3D rs.getInt("id_jahia_grps");
+ String groupKey =3D rs.getString("key_jahia_grps");
+ Hashtable members =3D null;
+ if (Jahia.getSettings().isPreloadDBGroupMembersActivat=
ed()) {
+ members =3D getGroupMembers(groupKey);
+ } else {
+ members =3D new Hashtable();
+ }
=
- try {
- properties =3D JahiaGroupDBUtils.getInstance (=
).
- getGroupProperties (groupID,
- PROVIDER_NAME, groupKey);
- } catch (JahiaException je) {
- logger.error (
- "Error while loading properties for gr=
oup " + groupID, je);
- }
+ try {
+ properties =3D JahiaGroupDBUtils.getInstance().get=
GroupProperties(groupID, PROVIDER_NAME,
+ groupKey);
+ } catch (JahiaException je) {
+ logger.error("Error while loading properties for g=
roup " + groupID, je);
+ }
=
- try {
- group =3D new JahiaDBGroup (groupID, name, gro=
upKey,
- siteID, members, properties);
- if (group !=3D null) {
- logger.debug ("Group [" + Integer.toString=
(groupID) +
- "/" + name + "] loaded from databa=
se");
- }
- } catch (JahiaException ex) {
- logger.error ("Could not create group [" + nam=
e +
- "] in lookupGroupInDB()", ex);
+ try {
+ group =3D new JahiaDBGroup(groupID, name, groupKey=
, siteID, members, properties, Jahia
+ .getSettings().isPreloadDBGroupMembersActi=
vated());
+ if (group !=3D null && logger.isDebugEnabled()) {
+ logger.debug("Group [" + Integer.toString(grou=
pID) + "/" + name + "] loaded from database");
}
+ } catch (JahiaException ex) {
+ logger.error("Could not create group [" + name + "=
] in lookupGroupInDB()", ex);
}
}
}
@@ -1090,32 +1067,27 @@
Hashtable members =3D null;
=
// Get a database connection
- Connection dbConn =3D org.jahia.services.database.ConnectionDispen=
ser.
- getConnection ();
+ Connection dbConn =3D ConnectionDispenser.getConnection ();
if (dbConn =3D=3D null) {
return null;
}
=
// execute the SELECT query
- Statement statement =3D null;
- StringBuffer query =3D new StringBuffer ();
+ PreparedStatement statement =3D null;
try {
members =3D new Hashtable ();
Vector memberKeys =3D new Vector ();
=
//-------------------------
// GET THE USER MEMBER KEYS
- statement =3D dbConn.createStatement ();
+ statement =3D dbConn.prepareStatement ("SELECT id_jahia_member=
FROM jahia_grp_access WHERE id_jahia_grps=3D? AND membertype_grp_access=3D=
?");
if (statement !=3D null) {
// load all the group's user members
=
- query.append (
- "SELECT id_jahia_member FROM jahia_grp_access WHER=
E id_jahia_grps=3D'");
- query.append (groupKey);
- query.append ("' AND membertype_grp_access=3D");
- query.append (mUSERTYPE);
+ statement.setString(1, groupKey);
+ statement.setInt(2, mUSERTYPE);
=
- ResultSet rs =3D statement.executeQuery (query.toString ()=
);
+ ResultSet rs =3D statement.executeQuery ();
if (rs !=3D null) {
while (rs.next ()) {
String key =3D rs.getString ("id_jahia_member");
@@ -1137,20 +1109,16 @@
// remove all the user keys.
memberKeys.clear ();
}
- query.delete (0, query.length ());
=
//--------------------------
// GET THE GROUP MEMBER KEYS
- statement =3D dbConn.createStatement ();
+ statement =3D dbConn.prepareStatement ("SELECT id_jahia_member=
FROM jahia_grp_access WHERE id_jahia_grps=3D? AND membertype_grp_access=3D=
?");
if (statement !=3D null) {
// load all the group's group members
- query.append (
- "SELECT id_jahia_member FROM jahia_grp_access WHER=
E id_jahia_grps=3D'");
- query.append (groupKey);
- query.append ("' AND membertype_grp_access=3D");
- query.append (mGROUPTYPE);
+ statement.setString(1, groupKey);
+ statement.setInt(2, mGROUPTYPE);
=
- ResultSet rs =3D statement.executeQuery (query.toString ()=
);
+ ResultSet rs =3D statement.executeQuery ();
if (rs !=3D null) {
while (rs.next ()) {
String key =3D rs.getString ("id_jahia_member");
@@ -1170,8 +1138,7 @@
}
}
} catch (SQLException ex) {
- logger.error ("SQL Exception occured for query [" +
- query + "]", ex);
+ logger.error ("SQL Exception occured", ex);
} finally {
=
closeStatement (statement);
@@ -1183,8 +1150,7 @@
//--------------------------------------------------------------------=
------
private boolean deleteGroupFromDB (JahiaGroup group) {
// Get a database connection
- Connection dbConn =3D org.jahia.services.database.ConnectionDispen=
ser.
- getConnection ();
+ Connection dbConn =3D ConnectionDispenser.getConnection ();
if (dbConn =3D=3D null) {
return false;
}
@@ -1241,8 +1207,7 @@
String sqlQuery =3D
"SELECT * FROM jahia_grps where siteid_jahia_grps=3D" =
+ siteID;
=
- dbConn =3D org.jahia.services.database.ConnectionDispenser.
- getConnection ();
+ dbConn =3D ConnectionDispenser.getConnection ();
statement =3D dbConn.createStatement ();
if (statement !=3D null) {
ResultSet rs =3D statement.executeQuery (sqlQuery);
@@ -1290,8 +1255,7 @@
"jahia_grps.key_jahia_grps AND jahia_grps.siteid_jahia=
_grps=3D" +
siteID;
=
- dbConn =3D org.jahia.services.database.ConnectionDispenser.
- getConnection ();
+ dbConn =3D ConnectionDispenser.getConnection ();
statement =3D dbConn.createStatement ();
if (statement !=3D null) {
ResultSet rs =3D statement.executeQuery (sqlQuery);
@@ -1363,8 +1327,7 @@
=
}
=
- dbConn =3D org.jahia.services.database.ConnectionDispenser.
- getConnection ();
+ dbConn =3D ConnectionDispenser.getConnection ();
statement =3D dbConn.createStatement ();
if (statement !=3D null) {
ResultSet rs =3D statement.executeQuery (sqlQuery);
@@ -1421,8 +1384,7 @@
+ "jahia_grps.key_jahia_grps AND jahia_grps.siteid_jah=
ia_grps=3D" +
siteID + ")";
=
- dbConn =3D org.jahia.services.database.ConnectionDispenser.
- getConnection ();
+ dbConn =3D ConnectionDispenser.getConnection ();
statement =3D dbConn.createStatement ();
if (statement !=3D null) {
ResultSet rs =3D statement.executeQuery (sqlQuery);
@@ -1493,8 +1455,7 @@
sqlQuery =3D buff.toString ();
}
=
- dbConn =3D org.jahia.services.database.ConnectionDispenser.
- getConnection ();
+ dbConn =3D ConnectionDispenser.getConnection ();
statement =3D dbConn.createStatement ();
if (statement !=3D null) {
ResultSet rs =3D statement.executeQuery (sqlQuery);
Modified: branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/usermanager=
/JahiaLDAPGroup.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-4-1-BR=
ANCH/src/java/org/jahia/services/usermanager/JahiaLDAPGroup.java&rev=3D1947=
6&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-4-1-BRANCH/src/java/org/jahia/services/usermanager/Jahia=
LDAPGroup.java (original)
+++ branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/usermanager/Jahia=
LDAPGroup.java Wed Jan 9 00:22:21 2008
@@ -281,6 +281,9 @@
}
=
public boolean isMember(Principal principal) {
+ if (!(principal instanceof JahiaLDAPUser) && !(principal instanceo=
f JahiaLDAPGroup)) {
+ return false;
+ }
if (super.isMember(principal)) {
return true;
}
Modified: branches/JAHIA-4-1-BRANCH/src/java/org/jahia/settings/SettingsBea=
n.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-4-1-BR=
ANCH/src/java/org/jahia/settings/SettingsBean.java&rev=3D19476&repname=3Dja=
hia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=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-4-1-BRANCH/src/java/org/jahia/settings/SettingsBean.java=
(original)
+++ branches/JAHIA-4-1-BRANCH/src/java/org/jahia/settings/SettingsBean.java=
Wed Jan 9 00:22:21 2008
@@ -136,9 +136,12 @@
// Output cache activation / deactivation
final public static String OUTPUT_CACHE_ACTIVATED =3D "outputCacheActi=
vated";
=
- // Maximum parallel heavy processing threads
+ // Preload homepage fields on each request activated
final public static String PRELOAD_HOMEPAGE_FIELDS_ACTIVATED =3D "prel=
oadHomepageFieldsActivated";
=
+ // Preload group members when loading user groups from DB =
+ final public static String PRELOAD_DBGROUP_MEMBERS_ACTIVATED =3D "prel=
oadDBGroupMembersActivated";
+ =
// Reverse XRef Iterating through cache activation flag =
final public static String REVERSE_XREF_ITERATING_ACTIVATED =3D "rever=
seXRefIteratingActivated";
=
@@ -226,7 +229,8 @@
=
private boolean pageCounterIncrementActivated =3D true;
private boolean preloadHomepageFieldsActivated =3D true;
- private boolean reverseXRefIteratingActivated =3D true; =
+ private boolean reverseXRefIteratingActivated =3D true;
+ private boolean preloadDBGroupMembersActivated =3D true;
=
// Core engine page generation queue configuration parameters
private int maxParallelProcessings =3D 10;
@@ -389,6 +393,8 @@
preloadHomepageFieldsActivated =3D getBoolean(PRELOAD_HOMEPAGE=
_FIELDS_ACTIVATED, true);
reverseXRefIteratingActivated =3D getBoolean(REVERSE_XREF_ITER=
ATING_ACTIVATED, true);
=
+ preloadDBGroupMembersActivated =3D getBoolean(PRELOAD_DBGROUP_=
MEMBERS_ACTIVATED, true);
+ =
// output cache default expiration delay
outputCacheDefaultExpirationDelay =3D getLong ("outputCacheDef=
aultExpirationDelay", -1);
=
@@ -1365,6 +1371,10 @@
public boolean isPreloadHomepageFieldsActivated() {
return preloadHomepageFieldsActivated;
}
+
+ public boolean isPreloadDBGroupMembersActivated() {
+ return preloadDBGroupMembersActivated;
+ } =
=
public boolean isReverseXRefIteratingActivated() {
return reverseXRefIteratingActivated;
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list