[Yanel-commits] rev 45485 -
public/yanel/trunk/src/contributions/resources/policymanager/src/java/org/wyona/yanel/impl/resources/policymanager
guillaume at wyona.com
guillaume at wyona.com
Fri Nov 13 16:52:17 CET 2009
Author: guillaume
Date: 2009-11-13 16:52:17 +0100 (Fri, 13 Nov 2009)
New Revision: 45485
Modified:
public/yanel/trunk/src/contributions/resources/policymanager/src/java/org/wyona/yanel/impl/resources/policymanager/PolicyManagerResource.java
Log:
Reloading the users afresh at each request of the page is now configurable
through a RC property: one some project loading them all in one single LDAP request
without any kind of caching is still too slow!
Issue: 6533
Modified: public/yanel/trunk/src/contributions/resources/policymanager/src/java/org/wyona/yanel/impl/resources/policymanager/PolicyManagerResource.java
===================================================================
--- public/yanel/trunk/src/contributions/resources/policymanager/src/java/org/wyona/yanel/impl/resources/policymanager/PolicyManagerResource.java 2009-11-13 15:28:03 UTC (rev 45484)
+++ public/yanel/trunk/src/contributions/resources/policymanager/src/java/org/wyona/yanel/impl/resources/policymanager/PolicyManagerResource.java 2009-11-13 15:52:17 UTC (rev 45485)
@@ -33,6 +33,8 @@
*/
public class PolicyManagerResource extends BasicXMLResource {
+ private static final String REFRESH_USERS_RC_PROPERTY_NAME = "always-get-fresh-users";
+
private static Logger log = Logger.getLogger(PolicyManagerResource.class);
private static String PARAMETER_EDIT_PATH = "policy-path";
@@ -116,7 +118,7 @@
sb.append("<?xml version=\"1.0\"?><saved/>");
} catch(Exception e) {
log.error(e,e);
- getEnvironment().getResponse().setStatus(response.SC_NOT_IMPLEMENTED);
+ getEnvironment().getResponse().setStatus(HttpServletResponse.SC_NOT_IMPLEMENTED);
sb.append("<?xml version=\"1.0\"?><not-saved>" + e.getMessage() + "</not-saved>");
}
} else {
@@ -144,7 +146,7 @@
}
} else {
//response.setContentType("text/html; charset=" + DEFAULT_ENCODING);
- getEnvironment().getResponse().setStatus(response.SC_NOT_IMPLEMENTED);
+ getEnvironment().getResponse().setStatus(HttpServletResponse.SC_NOT_IMPLEMENTED);
sb.append("<html><body>Policy usecase not implemented yet: " + policyUsecase + "</body></html>");
log.error("Policy usecase not implemented yet: " + policyUsecase);
}
@@ -166,7 +168,14 @@
sb.append("<access-control xmlns=\"http://www.wyona.org/security/1.0\">");
try {
- User[] users = um.getUsers(true);
+ boolean refreshUsers = true; // correctness trumps speed!
+ String refreshUsersText = getResourceConfigProperty(REFRESH_USERS_RC_PROPERTY_NAME);
+ if (refreshUsersText != null && "false".equals(refreshUsersText)) {
+ refreshUsers = false;
+ log.warn("Users will not be loaded afresh!");
+ }
+
+ User[] users = refreshUsers ? um.getUsers(true) : um.getUsers();
Arrays.sort(users, new ItemIDComparator());
sb.append("<users>");
for (int i = 0; i < users.length; i++) {
More information about the Yanel-commits
mailing list