[Yanel-commits] rev 35706 -
public/yanel/trunk/src/contributions/resources/policymanager/src/java/org/wyona/yanel/impl/resources/policymanager
simon at wyona.com
simon at wyona.com
Thu Apr 17 17:46:21 CEST 2008
Author: simon
Date: 2008-04-17 17:46:20 +0200 (Thu, 17 Apr 2008)
New Revision: 35706
Modified:
public/yanel/trunk/src/contributions/resources/policymanager/src/java/org/wyona/yanel/impl/resources/policymanager/PolicyManagerResource.java
Log:
see: http://bugzilla.wyona.com/cgi-bin/bugzilla/show_bug.cgi?id=6304
thanks to josias!
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 2008-04-17 15:33:53 UTC (rev 35705)
+++ public/yanel/trunk/src/contributions/resources/policymanager/src/java/org/wyona/yanel/impl/resources/policymanager/PolicyManagerResource.java 2008-04-17 15:46:20 UTC (rev 35706)
@@ -4,7 +4,9 @@
package org.wyona.yanel.impl.resources.policymanager;
+import org.wyona.security.core.api.AccessManagementException;
import org.wyona.security.core.api.IdentityManager;
+import org.wyona.security.core.api.Item;
import org.wyona.security.core.api.Policy;
import org.wyona.security.core.api.PolicyManager;
import org.wyona.security.core.api.User;
@@ -15,6 +17,8 @@
import java.io.ByteArrayInputStream;
import java.io.InputStream;
+import java.util.Arrays;
+import java.util.Comparator;
import java.util.Vector;
import org.apache.log4j.Logger;
@@ -154,6 +158,7 @@
try {
User[] users = um.getUsers();
+ Arrays.sort(users, new ItemIDComparator());
sb.append("<users>");
for (int i = 0; i < users.length; i++) {
sb.append("<user id=\"" + users[i].getID() + "\">" + users[i].getName() + "</user>");
@@ -161,6 +166,7 @@
sb.append("</users>");
org.wyona.security.core.api.Group[] groups = gm.getGroups();
+ Arrays.sort(groups, new ItemIDComparator());
sb.append("<groups>");
for (int i = 0; i < groups.length; i++) {
sb.append("<group id=\"" + groups[i].getID() + "\">" + groups[i].getName() + "</group>");
@@ -182,6 +188,18 @@
sb.append("</access-control>");
return sb.toString();
}
+
+ public class ItemIDComparator implements Comparator {
+ public int compare(Object o1, Object o2) {
+ try {
+ String id1 = ((Item)o1).getID();
+ String id2 = ((Item)o2).getID();
+ return id1.compareToIgnoreCase(id2);
+ } catch (AccessManagementException e) {
+ throw new RuntimeException(e.getMessage(), e);
+ }
+ }
+ }
/**
*
More information about the Yanel-commits
mailing list