[Yanel-commits] rev 47710 - 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 Feb 23 09:04:17 CET 2010


Author: michi
Date: 2010-02-23 09:04:17 +0100 (Tue, 23 Feb 2010)
New Revision: 47710

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

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-02-22 22:27:06 UTC (rev 47709)
+++ public/yanel/trunk/src/contributions/resources/security-api/src/java/org/wyona/yanel/impl/resources/securityapi/UserManagerResource.java	2010-02-23 08:04:17 UTC (rev 47710)
@@ -10,6 +10,8 @@
 import org.wyona.security.core.api.Group;
 import org.wyona.security.core.api.GroupManager;
 import org.wyona.security.core.api.Item;
+import org.wyona.security.core.api.User;
+import org.wyona.security.core.api.UserManager;
 
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
@@ -46,6 +48,8 @@
                 sb.append(getUserAsXML(getEnvironment().getRequest().getParameter("id")));
             } else if (usecase.equals("getgroups")) {
                 sb.append(getGroupsAsXML());
+            } else if (usecase.equals("getusers")) {
+                sb.append(getUsersAsXML());
             } else {
                 sb.append("<no-such-yanel-usecase-implemented>" + usecase + "</no-such-yanel-usecase-implemented>");
             }
@@ -70,15 +74,6 @@
     }
 
     /**
-     * Get all users
-     */
-    private StringBuilder getUsersAsXML() {
-        StringBuilder sb = new StringBuilder("<users>");
-        sb.append("</users>");
-        return sb;
-    }
-
-    /**
      * Get a specific user
      * @param id User ID
      */
@@ -104,6 +99,21 @@
     }
 
     /**
+     * Get all users
+     */
+    private StringBuilder getUsersAsXML() throws Exception {
+        UserManager um = getRealm().getIdentityManager().getUserManager();
+        User[] users = um.getUsers();
+        Arrays.sort(users, new ItemIDComparator());
+        StringBuilder sb = new StringBuilder("<users>");
+        for (int i = 0; i < users.length; i++) {
+        sb.append("<user id=\"" + users[i].getID() + "\">" + users[i].getName() + "</user>");
+        }
+        sb.append("</users>");
+        return sb;
+    }
+
+    /**
      *
      */
     public class ItemIDComparator implements Comparator<Item> {



More information about the Yanel-commits mailing list