[Yanel-commits] rev 49636 - public/yanel/trunk/src/contributions/resources/security-api/src/java/org/wyona/yanel/impl/resources/securityapi

michi at wyona.com michi at wyona.com
Sun May 16 23:01:48 CEST 2010


Author: michi
Date: 2010-05-16 23:01:48 +0200 (Sun, 16 May 2010)
New Revision: 49636

Modified:
   public/yanel/trunk/src/contributions/resources/security-api/src/java/org/wyona/yanel/impl/resources/securityapi/UserManagerResource.java
Log:
group resolving started

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-05-16 20:24:20 UTC (rev 49635)
+++ public/yanel/trunk/src/contributions/resources/security-api/src/java/org/wyona/yanel/impl/resources/securityapi/UserManagerResource.java	2010-05-16 21:01:48 UTC (rev 49636)
@@ -143,21 +143,30 @@
     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>");
-        // INFO: See policymanager/src/java/org/wyona/yanel/impl/resources/policymanager/PolicyManagerResource.java#resolveGroup(), also re Loops!
-        String resolveGroups = getEnvironment().getRequest().getParameter("resolve-groups");
-        if (resolveGroups != null && resolveGroups.equals("true")) {
+
+        String paraResolveGroups = getEnvironment().getRequest().getParameter("resolve-groups");
+        boolean resolveGroups = false;
+        if (paraResolveGroups != null && paraResolveGroups.equals("true")) {
             log.warn("DEBUG: Resolve groups!");
+            resolveGroups = true;
         }
 
+        Item[] members = group.getMembers();
+        sb.append("<members>");
+        // INFO: See policymanager/src/java/org/wyona/yanel/impl/resources/policymanager/PolicyManagerResource.java#resolveGroup(), also re Loops!
         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() + "\"/>");
+                if (resolveGroups) {
+                    sb.append("<group id=\"" + members[i].getID() + "\">");
+                    log.warn("DEBUG: Resolve group: " + members[i].getID());
+                    sb.append("</group>");
+                } else {
+                    sb.append("<group id=\"" + members[i].getID() + "\"/>");
+                }
             } else {
                 log.warn("No such instance of member/item implemented: " + members[i].getID());
             }
@@ -169,6 +178,8 @@
 */
         sb.append("</members>");
 
+
+
         Group[] parentGroups = group.getParents();
         if (parentGroups != null && parentGroups.length > 0) {
             sb.append("<parents>");



More information about the Yanel-commits mailing list