[Yanel-commits] rev 48925 -
public/yanel/trunk/src/contributions/resources/security-api/src/java/org/wyona/yanel/impl/resources/securityapi
michi at wyona.com
michi at wyona.com
Tue Apr 20 19:42:49 CEST 2010
Author: michi
Date: 2010-04-20 19:42:49 +0200 (Tue, 20 Apr 2010)
New Revision: 48925
Modified:
public/yanel/trunk/src/contributions/resources/security-api/src/java/org/wyona/yanel/impl/resources/securityapi/UserManagerResource.java
Log:
get group members dynamically
Modified: public/yanel/trunk/src/contributions/resources/security-api/src/java/org/wyona/yanel/impl/resources/securityapi/UserManagerResource.java
===================================================================
--- public/yanel/trunk/src/contributions/resources/security-api/src/java/org/wyona/yanel/impl/resources/securityapi/UserManagerResource.java 2010-04-20 17:14:22 UTC (rev 48924)
+++ public/yanel/trunk/src/contributions/resources/security-api/src/java/org/wyona/yanel/impl/resources/securityapi/UserManagerResource.java 2010-04-20 17:42:49 UTC (rev 48925)
@@ -96,20 +96,31 @@
/**
* Get a specific group
- * @param id User ID
+ * @param id Group ID
*/
- private StringBuilder getGroupAsXML(String id) {
- //StringBuilder sb = new StringBuilder("<group id=\"" + id + "\">");
- StringBuilder sb = new StringBuilder("<members xmlns=\"http://www.wyona.org/security/1.0\" id=\"" + id + "\">");
- sb.append("<user id=\"kkb\"/>");
- sb.append("<user id=\"ep\" naz-blocked=\"true\"/>");
+ private StringBuilder getGroupAsXML(String id) throws Exception {
+ GroupManager gm = getRealm().getIdentityManager().getGroupManager();
+ Group group = gm.getGroup(id);
+ Item[] members = group.getMembers();
+ StringBuilder sb = new StringBuilder("<group xmlns=\"http://www.wyona.org/security/1.0\" id=\"" + id + "\">");
+ sb.append("<members>");
+ for (int i = 0; i < members.length; i++) {
+ log.warn("DEBUG: Member: " + members[i].getID());
+ if (members[i] instanceof User) {
+ sb.append("<user id=\"" + members[i].getID() + "\"/>");
+ } else if (members[i] instanceof Group) {
+ sb.append("<group id=\"" + members[i].getID() + "\"/>");
+ } else {
+ log.warn("No such instance of member/item implemented: " + members[i].getID());
+ }
+ }
+/*
+ sb.append("<user id=\"ep\" naz-blocked=\"true\"/>"); // TODO: naz ...
sb.append("<user id=\"fedpol_a\" naz-blocked=\"true\" naz-only-local=\"true\"/>");
sb.append("<user id=\"dz\" naz-only-local=\"true\"/>");
- sb.append("<group id=\"test_subgroup\"/>");
- sb.append("<group id=\"test_group\"/>");
- sb.append("<group id=\"hugo\"/>");
+*/
sb.append("</members>");
- //sb.append("</group>");
+ sb.append("</group>");
return sb;
}
More information about the Yanel-commits
mailing list